O Layer7 é um excelente plugin para o kernel e iptables, onde é possível realizar o bloqueio de programas direto na camada de aplicação sem a necessidade de bloqueio por portas, o que muitas vezes é inviável.
O Layer7 é um excelente plugin para o kernel e iptables, onde é possível realizar o bloqueio de programas direto na camada de aplicação sem a necessidade de bloqueio por portas, o que muitas vezes é inviável.
Imagine realizar o bloqueio do Emule, Kazza, Bittorrent com todas as portas que eles utilizam, sendo que as portas são dinâmicas. Você certamente ficaria doido, pois a cada momento seria um porta diferente. Com o Layer7 é possível bloquear sem ter que fazer alteração alguma na estação, somente no servidor. O Layer7 também bloqueia P2P, MSN e muitos outros programas. Vamos começar!
Todos os fontes baixados deverão estar localizados no diretório /usr/src/. Os fontes baixados serão: kernel, iptables, netfilter-layer7 e seus protocolos.
Nota: As linhas que começam com # são comandos a serem utilizados.
Com o módulo ativado, selecione Exit e pressione <ENTER>.
Siga para:
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration ---> IP tables support (required for filtering/masq/NAT) --->
e ative:
<M> Layer 7 match support (EXPERIMENTAL)
[*] Layer 7 debugging output
Após ativar conforme acima, siga selecionando Exit e <ENTER> até que seja perguntado se você deseja salvar a nova configuração do kernel, selecione YES e <ENTER> para salvar.
Pronto! O kernel está configurado para o Layer7, basta agora compilar e instalar.
Para compilar. digite o comando:
# make-kpkg -initrd kernel_image
Agora tenha paciência e saia para tomar um café, porque dependendo do seu servidor esse processo pode demorar bastante.
Após terminar a compilação volte ao diretório /usr/src:
# cd /usr/src
Foi criado nesse diretório um arquivo chamado linux-image-2.6.19.7_2.6.19.7-10.00.Custom_i386.deb.
Esse arquivo é o kernel do qual teremos que instalar. Utilize o comando:
Devido a grande necessidade que tive de instalar o Layer7, pois alguns programas são impossíveis de realizar o bloqueio por portas, escrevi esse artigo com o intuito de ajudar a todos que passam por essa dificuldade.
O artigo foi baseado em parte em outro artigo, o do Hugo Alvarez, no endereço:
[5] Comentário enviado por macvitor em 18/05/2007 - 10:14h
beleza, galera. eu também bati muito a cabeça tentando instalar o layer 7 e resolvi documentar pra poder ajudar a quem precisa. depois da primeira, as outras vezes ficam faceis...hehehehehe
[6] Comentário enviado por predator em 18/05/2007 - 15:07h
Caro Marcelo é o seguinte...
Escrevi as regras layer7 no meu script de firewall, e o coloquei pra iniciar no bootmisc.sh e quando reinicio a maquina da esse erro:
"iptables v1.3.6: couldn't load mach 'layer7':/lib/iptables/libipt_layer7.so:
cannot open shared object file: no such file or directory"
depois do linux já carregado checo as regras com o comando iptables -L
e as regras não são ativadas,mas se eu reiniciar o firewall manualmente as regras são ativadas normalmente;
Resumindo toda vez que o computador é reiniciado ele da o erro,dai eu faço login no terminal e reinicio o firewall que da certo...
[7] Comentário enviado por leopvh em 18/05/2007 - 18:52h
Cara, muito legal seu artigo, mas deixa eu te perguntar uma coisa: Eu posso usar o APT-GET para instralar os programas? E outra coisa, o Layer 7 é capaz de parar o Your Freedom? Desde já agradeço.
[8] Comentário enviado por macvitor em 22/05/2007 - 15:08h
predator,
eu fiz a mesma coisa que vc e funcionou normal. vc colocou o modproble ipt_layer7 no script? Um item diferente que me chamou a atenção é a versão do seu iptables "iptables v1.3.6" e eu usei o iptables v1.3.7.
leopvh,
não sei se o apt-get faz a instalação, nunca tentei, mas acredito que não. e sobre o Your Freedom, dá uma olhada em http://l7-filter.sourceforge.net/protocols. Lá tem todos os protocolos suportados.
[12] Comentário enviado por removido em 30/05/2007 - 16:26h
rpaz, eu só estou conseguindo achar a primeira opcao dentro do make menuconfig
a segunda q eh pra selecionar o layer7 eu nao acho nem por reza, nao aparece na tela especifica, sera q eu estou fazendo algo errado?
me ajuda ae lek
[13] Comentário enviado por macvitor em 30/05/2007 - 17:03h
vc aplicou o patch do kernel? acredito que nao. no tutorial verifique a parte em que fala do comando patch -p1 < /usr/src/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch
[14] Comentário enviado por removido em 30/05/2007 - 17:15h
apliquei sim Marcelo Vitor,
rapaz, isso sempre aconteceu cmg nao sei porque, estou seguindo o tutorial corretamente e a opcao nao aparece. Ate no slackware da isso, só consegui mesmo com kernel 2.4 no slackware, nem no no slackware com kernel 2.6 eu consegui, da o mesmo problema, nao aparece a opcao.
[15] Comentário enviado por juninho (RH.com) em 08/06/2007 - 11:08h
Interessante, é que no Kernel 2.6.19, funcionou legal, mas no Kernel 2.6.21.3 que é o último estável, não consegui habilitar as opções do Layer 7 no Kernel.
[16] Comentário enviado por pontozip em 09/06/2007 - 20:13h
Segui o tutorial a risca e após 17 horas de compilação do kernel em meu pentium 100 com 128Mb, não consegui bloquear o bittorrent, fiz um teste com o MSN e este funcionou. O que pode ter ocorrido errado ? Aguardo uma luz.
[17] Comentário enviado por TothBR em 12/06/2007 - 18:17h
Boa noite!
Iniciando a conversa parabéns pelo post fazia mto tempo que eu vinha tentando com o debian 3.1 mas nunca consegui segui o seu e e consegui é claro com o debian etch, segui passo a passo porem to com o seguinte problema, rodo o modproble ipt_layer7 em meu script de firewall crio as regras tdo ok porem não bloqueia, uso proxy transparente no meu squid, se puder me ajudar ficarei grato, qualquer coisa me manda seu e-mail ai posto meu script pra vc dar uma olhadinha abraços.
[18] Comentário enviado por removido em 12/06/2007 - 19:02h
Ola amigos.....Otimo artigo.....Só tenho uma duvida...quando eu instalo o debian Etch em um Disco SATA e recompilo o kernel, ao rebootar a maquina ele para em um prompt "Waiting for root filesystem.." o links estão OK e o GRUB ta tudo certo...Nos Discos ATA IDE funciona redondinho....
Alguém ja passou por isso....
[19] Comentário enviado por macvitor em 15/06/2007 - 15:55h
juninhoogai,
o layer 7 ainda não está disponível para o kernel 2.6.21. o último kernel que ele tem suporte é o 2.6.19.
pontozip,
além do protocolo bittorrent usa tbm o fasttrack e o edonkey. cria uma linha iptables para cada um.
leociroz,
vc esta tentando bloquear o q? retorna algum erro?
danielpicolli,
com certeza é preciso habilitar o suporte à hd's sata no kernel. só não sei dizer a vc qual o caminho, mas dê um procurada no google. ok?
galera,
desculpa a demora em responder....é que andei bastante ocupado esses dias, mas assim que puder estarei respondendo as dúvidas.
flw!
[20] Comentário enviado por TothBR em 18/06/2007 - 08:18h
Bom dia!
Obrigado por ter respondido minha pergunta, consegui aplicar as regas não tinha olhado ainda na inicialização do módulo layer7 tenho um script de firewal e apliquei carrego o módulo neste script porém não esta inicializando tenho que fazer manualmente reler o script ai sim carrega.
[23] Comentário enviado por andnovelli em 17/07/2007 - 09:09h
Olá! Belo tutorial!
A instalação foi feita tranquilamente, porem nao esta bloqueando o amule, nem o msn, coloquei as regras pelo scipt com a variavel $iptables apontando pro binario do iptables que compilei, mas nao bloqueia ....
[26] Comentário enviado por arium em 15/08/2007 - 23:26h
Amigao fiz como vc descreve ai ficou 100% tudo perfeito!!! so tem um detalhe quando do um drop em algum protocolo ex: edonkey! a tty é inundada de uns caracteres loucos parece um sniffer de pacote .. dah que o layer 7 reconheceu X pacotes e eles foram flitrandos no meio do lixo dali a pouco diz o layer 7 nao reconheceu o protocolo.. enfim... nao seria porque a opçao debug layer 7 esta habilitada? tipo se eu aciono pelo ssh nao aparece no pts/0 por exemplo mais se eu ligo um monitor na maquina lah esta o lixo todo...
[*] Layer 7 debugging output
me refiro a essa opçao do kernel..
[27] Comentário enviado por macvitor em 16/08/2007 - 08:17h
É por isso mesmo, Luiz. Essa opção faz aparecer todos esses lixos na tela. Quando eu escrevi o artigo não sabia disso. Pensei que fosse alguma coisa no syslog, mas ao reinstalar e fazer todo o processo novamente, sem marcar essa opção, os lixos não apareceram mais.
[28] Comentário enviado por arium em 16/08/2007 - 10:57h
valeu os esclarecimentos amigão :)
iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
67
iptables -A PREROUTING -t mangle -p tcp -m mark ! --mark 0 -j ACCEPT
68
iptables -A PREROUTING -t mangle -m layer7 --l7proto edonkey -j MARK --set-mark 1
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 2
tc class add dev eth0 parent 1: classid 1:1 htb rate 256Kbit ceil 256Kbit
tc class add dev eth0 parent 1:1 classid 1:2 htb rate 200Kbit ceil 256Kbit
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 56Kbit ceil 256Kbit
tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1 fw classid 1:3
fiz uma adaptação de um script do ipp2p pra limitar o edonkey a 56k num link de 256kps.. ainda nao consegui testar efetivamente.. todos os comandos foram aceitos mais voce já utilizou shapping somente com layer 7 sem o ipp2p??... particularmente acho o ipp2p meio fraco e com suporte a muitos poucos protocolos... mais com ele eu fiz esse mesmo script e pra ele e funcionava... abraçao amigo!
[30] Comentário enviado por macvitor em 29/08/2007 - 10:18h
rebinat,
É porque ao selecionar os itens na compilação do kernel, a opção [*] Layer 7 debugging output foi marcada. Antes de escrever o artigo eu não sabia disso. Não selecione-a que os logs não aparecerão na tela.
[32] Comentário enviado por dorival.santos em 05/11/2007 - 17:31h
Amigo,
Segui seu tutorial à risca, mas a opção do layer7 não aparece, conferi se eu havia aplicado o patch para o kernel e está tudo normal. Até conferi o que foi inserido no kernel (na hora de aplicar o patch), aparece várias opções, mas na hora de marcar o layer7 não o encontro...
[36] Comentário enviado por jcvalim em 24/01/2008 - 08:54h
Fala ai, blz pow segui exatamente os passos que vc passou e esta acontecendo o seguinte erro quando tento compilar o kernel.
proxy-frade:/usr/src/linux# make menuconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c:105:23: error: sys/types.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:106:22: error: sys/stat.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:107:22: error: sys/mman.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:108:20: error: unistd.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:109:19: error: fcntl.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:110:20: error: string.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:111:20: error: stdlib.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:112:19: error: stdio.h: Arquivo ou diretório não encontrado
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h:7,
from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:11,
from scripts/basic/fixdep.c:113:
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:122:61: error: limits.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:114:19: error: ctype.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c:115:23: error: arpa/inet.h: Arquivo ou diretório não encontrado
scripts/basic/fixdep.c: In function âusageâ:
scripts/basic/fixdep.c:129: warning: implicit declaration of function âfprintfâ
scripts/basic/fixdep.c:129: warning: incompatible implicit declaration of built-in function âfprintfâ
scripts/basic/fixdep.c:129: error: âstderrâ undeclared (first use in this function)
scripts/basic/fixdep.c:129: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:129: error: for each function it appears in.)
scripts/basic/fixdep.c:130: warning: implicit declaration of function âexitâ
scripts/basic/fixdep.c:130: warning: incompatible implicit declaration of built-in function âexitâ
scripts/basic/fixdep.c: In function âprint_cmdlineâ:
scripts/basic/fixdep.c:138: warning: implicit declaration of function âprintfâ
scripts/basic/fixdep.c:138: warning: incompatible implicit declaration of built-in function âprintfâ
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:141: error: âNULLâ undeclared here (not in a function)
scripts/basic/fixdep.c: In function âgrow_configâ:
scripts/basic/fixdep.c:154: warning: implicit declaration of function âreallocâ
scripts/basic/fixdep.c:154: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:156: warning: implicit declaration of function âperrorâ
scripts/basic/fixdep.c:156: warning: incompatible implicit declaration of built-in function âexitâ
scripts/basic/fixdep.c: In function âis_defined_configâ:
scripts/basic/fixdep.c:172: warning: implicit declaration of function âmemcmpâ
scripts/basic/fixdep.c: In function âdefine_configâ:
scripts/basic/fixdep.c:185: warning: implicit declaration of function âmemcpyâ
scripts/basic/fixdep.c:185: warning: incompatible implicit declaration of built-in function âmemcpyâ
scripts/basic/fixdep.c: In function âuse_configâ:
scripts/basic/fixdep.c:204: error: âPATH_MAXâ undeclared (first use in this function)
scripts/basic/fixdep.c:212: warning: incompatible implicit declaration of built-in function âmemcpyâ
scripts/basic/fixdep.c:218: warning: implicit declaration of function âtolowerâ
scripts/basic/fixdep.c:220: warning: incompatible implicit declaration of built-in function âprintfâ
scripts/basic/fixdep.c:204: warning: unused variable âsâ
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:223: error: expected declaration specifiers or â...â before âsize_tâ
scripts/basic/fixdep.c: In function âparse_config_fileâ:
scripts/basic/fixdep.c:225: error: âlenâ undeclared (first use in this function)
scripts/basic/fixdep.c:231: warning: implicit declaration of function ântohlâ
scripts/basic/fixdep.c:242: warning: implicit declaration of function âisalnumâ
scripts/basic/fixdep.c: In function âstrrcmpâ:
scripts/basic/fixdep.c:255: warning: implicit declaration of function âstrlenâ
scripts/basic/fixdep.c:255: warning: incompatible implicit declaration of built-in function âstrlenâ
scripts/basic/fixdep.c: In function âdo_config_fileâ:
scripts/basic/fixdep.c:266: error: storage size of âstâ isnât known
scripts/basic/fixdep.c:270: warning: implicit declaration of function âopenâ
scripts/basic/fixdep.c:270: error: âO_RDONLYâ undeclared (first use in this function)
scripts/basic/fixdep.c:272: warning: incompatible implicit declaration of built-in function âfprintfâ
scripts/basic/fixdep.c:272: error: âstderrâ undeclared (first use in this function)
scripts/basic/fixdep.c:274: warning: incompatible implicit declaration of built-in function âexitâ
scripts/basic/fixdep.c:276: warning: implicit declaration of function âfstatâ
scripts/basic/fixdep.c:278: warning: implicit declaration of function âcloseâ
scripts/basic/fixdep.c:281: warning: implicit declaration of function âmmapâ
scripts/basic/fixdep.c:281: error: âPROT_READâ undeclared (first use in this function)
scripts/basic/fixdep.c:281: error: âMAP_PRIVATEâ undeclared (first use in this function)
scripts/basic/fixdep.c:281: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:288: error: too many arguments to function âparse_config_fileâ
scripts/basic/fixdep.c:290: warning: implicit declaration of function âmunmapâ
scripts/basic/fixdep.c:266: warning: unused variable âstâ
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:295: error: expected declaration specifiers or â...â before âsize_tâ
scripts/basic/fixdep.c: In function âparse_dep_fileâ:
scripts/basic/fixdep.c:298: error: âlenâ undeclared (first use in this function)
scripts/basic/fixdep.c:300: error: âPATH_MAXâ undeclared (first use in this function)
scripts/basic/fixdep.c:302: warning: implicit declaration of function âstrchrâ
scripts/basic/fixdep.c:302: warning: incompatible implicit declaration of built-in function âstrchrâ
scripts/basic/fixdep.c:304: warning: incompatible implicit declaration of built-in function âfprintfâ
scripts/basic/fixdep.c:304: error: âstderrâ undeclared (first use in this function)
scripts/basic/fixdep.c:305: warning: incompatible implicit declaration of built-in function âexitâ
scripts/basic/fixdep.c:307: warning: incompatible implicit declaration of built-in function âmemcpyâ
scripts/basic/fixdep.c:308: warning: incompatible implicit declaration of built-in function âprintfâ
scripts/basic/fixdep.c:300: warning: unused variable âsâ
scripts/basic/fixdep.c: In function âprint_depsâ:
scripts/basic/fixdep.c:337: error: storage size of âstâ isnât known
scripts/basic/fixdep.c:341: error: âO_RDONLYâ undeclared (first use in this function)
scripts/basic/fixdep.c:343: warning: incompatible implicit declaration of built-in function âfprintfâ
scripts/basic/fixdep.c:343: error: âstderrâ undeclared (first use in this function)
scripts/basic/fixdep.c:345: warning: incompatible implicit declaration of built-in function âexitâ
scripts/basic/fixdep.c:349: warning: incompatible implicit declaration of built-in function âfprintfâ
scripts/basic/fixdep.c:353: error: âPROT_READâ undeclared (first use in this function)
scripts/basic/fixdep.c:353: error: âMAP_PRIVATEâ undeclared (first use in this function)
scripts/basic/fixdep.c:353: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:360: error: too many arguments to function âparse_dep_fileâ
scripts/basic/fixdep.c:337: warning: unused variable âstâ
scripts/basic/fixdep.c: In function âtrapsâ:
scripts/basic/fixdep.c:372: warning: incompatible implicit declaration of built-in function âfprintfâ
scripts/basic/fixdep.c:372: error: âstderrâ undeclared (first use in this function)
scripts/basic/fixdep.c:374: warning: incompatible implicit declaration of built-in function âexitâ
make[1]: ** [scripts/basic/fixdep] Erro 1
make: ** [scripts_basic] Erro 2
proxy-frade:/usr/src/linux#
Poderiam me dar uma ajuda para resolver isso???
Estou utilizando o debian Debian versão GNU/Linux 4.0 \n \l
[38] Comentário enviado por paulopmt1 em 05/03/2008 - 00:11h
Show de bola o tutorial, Meus parabéns macvitor. A tempo estava tentando fazer isso, porém sempre empacava na compilação do kernel, pois eu uso hd sata aí quando dava o boot ficava na linha "waiting for root filesystem" então o que fiz foi copiar a configuração do outro kernel para este novo.
para fazer isso é simples:
copiar o arquivo de configuração do antigo kernel:
# cp /boot/config-2.6.18-2-386 /usr/src/linux/.config
dar um make menuconfig e ir em "Load an Alternate Configuration File" e então selecionar o arquivo .config. depois disso é só seguir o tutorial normalmente e ativar o layer7 e tals... essa dica serve pro nosso amigo danielpicolli, caso ainda precise.
até aí tudo ok, porém eu fiz tudo isso iniciei o novo kernel e então executei:
# modprobe ipt_layer7
# iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
ao carregar o módulo blz, funciona ok, mais ao criar qualquer regra no iptables me retorna o seguinte erro:
"iptables v1.3.7: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)ch/i386/Kconfig
Perhaps iptables or your kernel needs to be upgraded."
Alguém sabe me dizer o que pode ser?
desde já agradeço a galera do VOL
[39] Comentário enviado por paulopmt1 em 06/03/2008 - 11:36h
timidboy se você ainda precisar da dica...pra mim também não aparecia o layer7 em primeira instância então tem o "pulo do cato". você deve selecionar o "Connection tracking flow accounting" pra daí sim aparecer lá em baixo "Layer 7 match support (EXPERIMENTAL)" senão não aparece mesmo.
para solucionar o problema que eu coloquei aí em cima do erro:
"iptables v1.3.7: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)ch/i386/Kconfig
Perhaps iptables or your kernel needs to be upgraded."
deve-se na mesma tela do layer7 bla bla selecionar a opção: "Packet filtering" e logo abaixo dela "REJECT target support". aí vai funcionar 100%. agora pouco que descobri o porquê desse erro e finalmente consegui resolver....
qualquer dúvida estamos aí
vlw galera do VOL
[40] Comentário enviado por kelisson em 09/04/2008 - 16:53h
***********************ATENÇÂO***************************
OBS: caso possua discos SATA, no momento que for compilar o kernel não esqueça de marcar para carregar os modulos SATA, pois do caso contrário a máquina não irá iniciar corretamente.
***********************ATENÇÂO***************************
[42] Comentário enviado por gvcom em 05/03/2009 - 16:20h
Não vou elogiar por que nem precisa. O trabalho ficou bom.
macvitor segui seus procedimentos num P3 1 GHz, SIS 300 AGP (offboard), 512 RAM e HD de 40 GB, com a "pequena" diferença que usei o Debian Lenny. Após 3 horas de compilação ocorreu um erro:
"error: zlib.h: Arquivo ou diretório não encontrado
make[1]: ** [lguest]** Erro 1
make[1]: Saindo do diretório '/usr/src/linux 2.6.28.7/Documentation/lguest'
make: **[debian/stamp/build/kernel Erro 2"
Talvez você já tenha feito o mesmo procedimento no Lenny e possa me ajudar.
Obs.: todas alterações que percebi entre seu tuto e as opções do Lenny, corrigi e posso enviar o arquivo, se desejar.
Agradeço se puderem me ajudar. Dando certo, teremos um novo tuto para o Lenny.
[45] Comentário enviado por ngiongo em 22/06/2010 - 23:09h
boa noite.
muito bom,estou precisando exatamente disso,mas infelizmente ta dando esse erro quando carrego a regra do iptables com layer7:
/usr/local/libexec/xtables/libxt_layer7.so: /usr/local/libexec/xtables/libxt_layer7.so: undefined symbol: exit_error
iptables v1.4.3: Couldn't load match `layer7':/usr/local/libexec/xtables/libipt_layer7.so: cannot open shared object file: No such file or directory
[46] Comentário enviado por Xelito em 11/05/2011 - 16:20h
Ja fiz esse tutorial varias veses e tive problemas ao encontrar o diretorio linux/compiler.h com o comando:
make-kpkg -initrd kernel_image
Refiz tudo novamente e reparei que não tinha executado o comando para instalar o kernel_package. Apos executar e instalar agora apresenta outro erro (indedenpente de estar na pasta /usr/src/ ou /usr/src/linux):
Unknown option: i
Unknown option: n
Unknown option: i
Unknown option: t
Unknown option: r
Unknown option: d
Ou seja ele nao esta mais reconhecendo o comando initrd
como faço para tentar resolver isso?
Alguem pode me ajudar?