1) configure as redes
Além da parte DHCP (e do redirecionamento sugerido), você precisa configurar suas interfaces corretamente.
Na maioria dos casos, cada interface está em sua própria rede IP (estou dando exemplos de endereços, você terá que adaptá-los).
Deixe o eth0
como está.
auto eth1
iface eth1 inet static
address 192.168.2.5
netmask 255.255.255.0
network 192.168.2.0
auto eth2
iface eth2 inet static
address 192.168.3.5
netmask 255.255.255.0
network 192.168.3.0
auto eth3
iface eth3 inet static
address 192.168.4.5
netmask 255.255.255.0
network 192.168.4.0
Se o servidor DHCP estiver sendo executado na mesma máquina, você terá que configurá-lo adequadamente. Apenas para testes, você pode fornecer a um host em cada sub-rede um endereço IP estático (por exemplo, usar 192.168.2.11
para um host conectado a eth1
)
Depois de configurar corretamente as redes IP e os endereços IP, você precisará habilitar o encaminhamento de IP com
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
(apenas por uma vez para testar o sucesso)
e editando /etc/sysctl.conf
e "ativando" a linha
net.ipv4.ip_forward=1
removendo #
no início.
Quando isso é feito (cada cliente deve ser capaz de fazer ping na interface correspondente do seu servidor)
2) ativar NAT
(tente primeiro para uma sub-rede, eu dou o exemplo para eth1
você tem que adaptar endereços para os outros)
sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.2.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Agora, os clientes da sub-rede 1 devem conseguir fazer ping de endereços IP na Internet, mas apenas até a próxima reinicialização do seu servidor. Se funcionar, continue com eth2
e eth3
de acordo.
Para torná-lo permanente, você precisa salvar a configuração atual (em funcionamento) das regras do netfilter
sudo iptables-save | sudo tee /etc/iptables-NAT.sav
e crie a seguinte entrada em /etc/rc.local
para recarregar a mesma configuração em cada reinicialização. Certifique-se de que exit 0
é após sua nova entrada
iptables-restore < /etc/iptables-NAT.sav
(sem sudo
necessário aqui)
3) DHCP
A configuração DHCP está errada. Você deve criar sub-redes diferentes para cada interface e você deve definir um "gateway" apropriado (usando option routers
) para cada sub-rede.
# for eth1 with 192.168.2.5 as local address
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.15 192.168.2.25;
option routers 192.168.2.5;
}
# for eth2 with 192.168.3.5 as local address
subnet 192.168.3.0 netmask 255.255.255.0 {
range 192.168.3.15 192.168.3.25;
option routers 192.168.3.5;
}
# for eth3 with 192.168.4.5 as local address
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.15 192.168.4.25;
option routers 192.168.4.5;
}
Agora, todos os clientes devem conseguir acessar endereços IP fora de sua rede. A resolução de nomes provavelmente ainda não estará disponível.