O que é o encaminhamento de ip do kernel?

70

Eu já vi em muitos blogs, usando este comando para habilitar o encaminhamento de IP enquanto usa muitas ferramentas de segurança / sniffing de rede no linux

echo 1 > /proc/sys/net/ipv4/ip_forward

Alguém pode me explicar em termos leigos, o que essencialmente esse comando faz? Isso transforma seu sistema em roteador?

Madhur Ahuja
fonte
11
arquivo python para ativar e desativar o portforwarding gist.github.com/addminuse/7747903cd420b15f17e0

Respostas:

77

"Encaminhamento de IP" é sinônimo de "roteamento". É chamado de "encaminhamento de IP do kernel" porque é um recurso do kernel do Linux.

Um roteador possui várias interfaces de rede. Se o tráfego chegar em uma interface que corresponda a uma sub-rede de outra interface de rede, um roteador encaminhará esse tráfego para a outra interface de rede.

Então, digamos que você tenha duas NICs, uma (NIC 1) está no endereço 192.168.2.1/24 e a outra (NIC 2) é 192.168.3.1/24. Se o encaminhamento estiver ativado e um pacote chegar na NIC 1 com um "endereço de destino" 192.168.3.8, o roteador reenviará esse pacote da NIC 2.

É comum que os roteadores que funcionam como gateways para a Internet tenham uma rota padrão, na qual qualquer tráfego que não corresponda a nenhuma NIC passará pela NIC da rota padrão. Portanto, no exemplo acima, se você tiver uma conexão com a Internet na NIC 2, defina a NIC 2 como sua rota padrão e, em seguida, qualquer tráfego proveniente da NIC 1 que não seja destinado a algo em 192.168.2.0/24 através da NIC 2. Espero que haja outros roteadores além da NIC 2 que possam rotear ainda mais (no caso da Internet, o próximo salto seria o roteador do seu ISP e, em seguida, o roteador upstream de seus fornecedores, etc.)

A ativação ip_forwarddiz ao seu sistema Linux para fazer isso. Para que isso seja significativo, você precisa de duas interfaces de rede (duas ou mais placas NIC com fio, placas ou chipsets Wifi, links PPP em um modem ou serial de 56k, etc.).

Ao fazer o roteamento, a segurança é importante e é aí que o filtro de pacotes do Linux iptablesse envolve. Portanto, você precisará de uma iptablesconfiguração consistente com suas necessidades.

Observe que a ativação do encaminhamento com iptablesdesabilitado e / ou sem levar em consideração o firewall e a segurança pode deixá-lo aberto a vulnerabilidades se uma das NICs estiver voltada para a Internet ou uma sub-rede sobre a qual você não tem controle.

LawrenceC
fonte
2
Certo, você desejará fazer o NAT se o NIC 2 for um IP privado. O Linux também pode executar o NAT e iptablesé o caminho para configurá-lo.
LawrenceC
Precisa de um NAT para dados que vão da NIC 2 para a NIC 1?
precisa
2
Normalmente, o NAT funcionará da LAN para a WAN, portanto, se a NIC 2 tiver um IP privado e a NIC 1 tiver um público 1, você precisará do NAT; especificamente, a interface com a Internet (NIC 1 por acima) precisa de uma MASQUERADEregra em iptables's POSTROUTINGem uma corrente para fazer isso. Consulte revsys.com/writings/quicktips/nat.html e i.stack.imgur.com/rzz83.png .
LawrenceC
Em palavras simples, será correto dizer que ativar o encaminhamento de IP significa permitir que a máquina passe um pacote de uma de sua NIC para outra de sua NIC? Além disso, seria verdade se eu disser que a ativação do encaminhamento de IP não é realmente necessária em uma máquina com um único IP / NIC?
Sree
11
@ultrasawblade No caso de encaminhamento de IP ativado e com conexão à Internet na NIC 2 e também como a rota padrão, se receber um pacote destinado a 192.168.2.2 da NIC 1, o que o roteador fará?
bobo
3

Quando ativado, o "encaminhamento de IP" permite que uma máquina Linux receba pacotes e encaminhe-os. Uma máquina Linux agindo como um host comum não precisaria ter o encaminhamento de IP ativado, porque apenas gera e recebe tráfego de IP para seus próprios propósitos (isto é, os propósitos de seu usuário).

No entanto, há casos em que o encaminhamento de IP é útil: 1. Queremos que nossa máquina atue como um roteador, recebendo pacotes de outros hosts e encaminhando-os para seu destino. 2. Somos bandidos e queremos representar outra máquina no chamado " ataque do homem do meio ". Nesse caso, queremos interceptar e ver todo o tráfego direcionado à vítima, mas também queremos encaminhar esse tráfego para ela, para que ela não "sinta" nossa presença.

Andrea Araldo
fonte