roteamento entre interfaces e nat (aliasing ip)

0

Tenho 2 servidores, ambos conectados por switch0 (sem vlan) server1 tem 2 NICS

eth0 --> switch0
ppp0 --> modem --> internet
cat /proc/sys/net/ipv4/ip_forward 1

192.168.1.0/24
192.168.1.212 netmask 255.255.255.0

rota:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
10.10.10.0      10.10.10.1      255.255.255.0   UG    0      0        0 tun0
10.10.10.1      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
151.7.202.72    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
172.16.212.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.116.0   0.0.0.0         255.255.255.0   U     0      0        0 vmnet8

server2 é:

192.168.1.0/24
192.168.1.252 netmask 255.255.255.0 --> switch0

com 3 lans, 3 NICS:

192.168.1.0/24 netmask 255.255.255.0 --> switch0
192.168.2.0/24 netmask 255.255.255.0 --> switch1
193.168.3.0/24 netmask 255.255.255.0 --> switch2

rota:

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.212      UGS         0   168553   bge0
10.10.10.0/24      10.10.10.1         UGS         0        0   tun0
10.10.10.1         link#12            UH          0        0   tun0
10.10.10.2         link#12            UHS         0        0    lo0
127.0.0.1          link#10            UH          0     1897    lo0
192.168.1.0/24     link#1             U           0    42375   bge0
192.168.1.252      link#1             UHS         0        4    lo0
192.168.2.0/24     link#7             U           0   117807    rl0
192.168.2.252      link#7             UHS         0        0    lo0
192.168.3.0/24     link#8             U           0   161828    rl1
192.168.3.252      link#8             UHS         0        0    lo0

Eu preciso criar um roteamento de 192.168.1.0/24 para todos os outros lans.

Devo usar o aliasing de ip no servidor2?

    
por Pol Hallen 23.12.2013 / 15:01

1 resposta

1

Na verdade, é bem fácil.

No servidor 2: edite (como sudo) o arquivo /etc/sysctl.conf, localize esta linha

  #net.ipv4.ip_forward=1

e descomente-o,

  net.ipv4.ip_forward=1

Salve o arquivo, emita o comando:

  sudo sysctl -p

Isto está simplesmente dizendo ao seu kernel para permitir que os pacotes passem de um NIC para outro.

Além disso, precisamos configurar o NAT nele, para que os pacotes de retorno possam ser roteados corretamente via server2. Emitir isto:

  sudo iptables -t nat  -A POSTROUTING -o rl0 -j MASQUERADE
  sudo iptables -t nat  -A POSTROUTING -o rl1 -j MASQUERADE

Isso pressupõe que suas políticas padrão do iptables sejam todas ACCEPT. Se isso não estiver correto, teremos que dar mais alguns furos em seu firewall.

Agora para o servidor 1. Emita os seguintes comandos:

  sudo route add -net 192.168.2.0/24 default gw 192.168.1.252
  sudo route add -net 192.168.3.0/24 default gw 192.168.1.252

Estes dois comandos estão simplesmente instruindo seu servidor1 que, caso ele encontre um pacote destinado a 192.168.2.0/24 ou 192.168.3.0/24, o pacote deve ser roteado para o servidor2, que cuidará dele.

Você não especificou se deseja que os clientes em 192.168.2.0/24 ou 192.168.3.0/24 possam acessar 192.168.1.0 através do server2. Se você fizer isso, adicione

  sudo iptables -t nat -A POSTROUTING -o bge0 -j MASQUERADE

para o seu firewall.

Por fim, espero que as sub-redes 192.168.2.0/24 e 192.168.3.0/24 estejam não conectadas ao Server1 através de uma rota diferente, porque isso implicaria que há loops fechados em sua configuração, que requer alguns instrumentos avançados para lidar com isso corretamente.

    
por 23.12.2013 / 17:47

Tags