Convertendo Linux em um Router - Tráfego de eth0: 0 para eth0

0

Então, eu tenho tentado converter minha caixa de Linux que está executando o Mint em um roteador. eth0 tem um endereço público que possui 71.xx.xx.xx para um endereço IP. Eu criei uma eth0: 0 e configurei um endereço IP, 10.0.0.100. Eu iniciei um servidor DHCP que está em eth0 (porque ele não usa eth0: 0) e que está distribuindo endereços entre 10.0.0.101 e 10.0.0.200. Eu posso pingar entre eth0 e eth0: 0 na mesma máquina. Eu tenho um outro laptop conectado ao linux através de um switch e é capaz de receber um ip addr através do servidor DHCP. O problema é como eu roteio o tráfego de e para eth0: 0 para eth0 e vice-versa para que os computadores na rede privada que é 10.0.0.x possam acessar a Internet através do IP estático na eth0.

    
por Rui F Ribeiro 18.05.2014 / 18:46

4 respostas

3

Você precisa do lease 2 interfaces poder fazer o encaminhamento pelo mecanismo de roteamento. Essas interfaces devem estar inativas (pense eth0 eth1), vlan (eth0.1 eth0.2), vpn (tun), ponte (br0), bond ... mas não aliases. Os alias são apenas uma maneira de anexar mais IPs à mesma interface.

No entanto, como você tem endereços IP privados, você pode fazer SNAT e DNAT para encaminhar o tráfego IP usando as regras de firewall do Netfilter (iptables).

    
por 18.05.2014 / 19:08
1

Primeiro, habilite o encaminhamento:

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

Isso deve ser tudo o que você precisa, já que o seu "gateway" pode ver os dois lados. Caso contrário, talvez seja necessário observar o natting, já que a abordagem tradicional de usar iptables para permitir o encaminhamento não funcionará com apenas uma única NIC.

    
por 18.05.2014 / 19:18
0

Tente com

# Ensure that ip forwarding is active
echo 1 > /proc/sys/net/ipv4/ip_forward
# Masquerade local net with public IP
iptables -I POSTROUTING -t nat -o eth0 -j SNAT --to-source 71.xx.xx.xx
    
por 18.05.2014 / 23:05
-1

Primeiro, ative o encaminhamento:

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

Em seguida, tente isto:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -i eth0 -o eth0:0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0:0 -o eth0 -j ACCEPT 
    
por 19.05.2014 / 04:34