Não é possível criar o arquivo / proc / sys / net // ipv3 / ip_forward (para o IP forward antes de arpspoof)

1

Quando eu digito: $ sudo echo 1 > /proc/sys/net/ipv3/ip_forward

Eu recebo: bash: /proc/sys/net/ipv3/ip_forward: No such file or directory

Eu não posso mkdir qualquer pasta passada / proc / sys / net nem posso mover ou criar um arquivo lá.

Eu tento configurar minha caixa para o encaminhamento de IP antes de iniciar o arpspoof

Obrigado pela sua contribuição!

EDITAR:

Agora, com uma variante, obtenho:

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
    
por 01BTC10 20.12.2011 / 01:21

1 resposta

3

1- Onde seu exemplo diz ipv3, provavelmente deveria ler ipv4.

2- Aqui está uma outra maneira de conseguir isso sem usar o sudo -s:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

Agora, a explicação para esse problema é a seguinte. O comando original tem essa estrutura:

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
^^^ Part 1 ^^   ^^^^  Part 2 ^^^^

A parte 1 é executada como sudo, mas você está tentando redirecionar a saída para um arquivo. O próprio redirecionamento "é executado" como um usuário sem privilégios, e é por isso que ele não tem permissão para gravar no arquivo.

A solução que proponho faz o "echo" como um usuário não privilegiado, mas depois canaliza isso para o comando "tee", que rodamos através do sudo. Assim, o tee será executado como root e poderá gravar no arquivo.

Tee basicamente pega a entrada padrão e grava em ambos um arquivo e stdout. Isso é comumente usado para gravar em um arquivo e, ao mesmo tempo, obter a saída na tela. Se você quiser saber mais sobre tee, confira a man page.

    
por roadmr 20.12.2011 / 15:30