Eu tenho um roteador Ubuntu com servidor Ubuntu 14.04 instalado. As interfaces de rede física são:
eth0 - LAN local
eth3-WAN (Internet)
wlan2 - LAN sem fio local (AP)
Este é meu /etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# LAN interface
auto eth0
iface eth0 inet manual
# This is the Wireless section.
auto wlan2
iface wlan2 inet manual
up /sbin/ifconfig wlan0 up
# This is the Bridge section.
auto br0
iface br0 inet static
address 192.168.2.106
network 192.168.2.0
netmask 255.255.255.0
bridge_ports eth0 wlan0
# WAN network interface (NAT-ed)
auto eth3
iface eth3 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.20
dns-nameservers 8.8.8.8 4.4.4.4
A rota é:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.20 0.0.0.0 UG 0 0 0 eth3
192.168.1.0 * 255.255.255.0 U 0 0 0 eth3
192.168.2.0 * 255.255.255.0 U 0 0 0 br0
Eu uso o UFW e foi isso que adicionei ao /etc/ufw/before.rules:
# Configure NAT settings
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.2.0/24 -o eth3 -j MASQUERADE
COMMIT
Situação da UFW:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
Anywhere ALLOW 192.168.2.0/24
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Então eu também uso hostapd para AP wifi. Tudo funciona perfeitamente. Mas... O que eu quero fazer é adicionar uma placa de rede adicional que seria a segunda interface WAN noque eu tenho um IP estático público. Quero usar o eth3 atual como conexão principal à Internet, pois é uma conexão muito rápida e confiável, mas está atrás de um NAT, por isso não possui IP público. Tenho conexão adicional à Internet com um IP público que desejo usar apenas para acessar o servidor (roteador) de fora (ssh, http, https). A conexão de internet IP pública seria conectada ao eth2.
Não sei como configurar isso. Quando insiro esta configuração em/etc/network/interfaces, não consigo acessar o servidor (ssh,http,https) através de um IP público especificado para eth2. (a conexão de internet com este ip público está ok - testei com roteador HW diferente e consegui acessá-lo bem de fora):
# WAN network interface with a public IP
auto eth2
iface eth2 inet static
address 217.XXX.XXX.AAA
netmask 255.255.255.224
gateway 217.XXX.XXX.BBB
dns-nameservers 8.8.8.8 4.4.4.4
Alguém pode me ajudar a resolver isso?
OK, resolvi parcialmente o problema. >>>
Criei uma nova tabela de roteamento e adicionei roteamento para o "ip público WAN" e adicionei uma regra de ip para que tudo que vier do ip público seja roteado usando a nova tabela de roteamento para a interface/gw correta:
sudo ip route add 217.XXX.XXX.160/27 dev eth2 src 217.XXX.XXX.185 table T1
sudo ip route add default via 217.XXX.XXX.161 table T1
sudo ip rule add from 217.XXX.XXX.185 table T1
Agora tenho o servidor acessível externamente via IP público associado à WAN eth2.O que me preocupa é que desde que configurei isso não tenho acesso ao servidor via IP público da LAN atrás do roteador.Acho que isso ocorre porque o mascaramento é configurado de forma que roteamos tudo da LAN atrás do roteador via eth3 - que é uma interface WAN eht3 (sem IP público). Estou certo? Existe uma maneira de consertar isso?
Responder1
Resolvido completamente
Agora tenho as configurações corretas e toda a configuração está funcionando, então posso acessar o servidor da internet através de um IP público (WAN1) e rotear a LAN para a internet via WAN2 e ainda posso acessar o servidor através de seu IP público (WAN1) de LAN. Este é o roteamento que teve que ser configurado para funcionar da maneira que descrevi antes:
ip route del default table main
ip route add default via 192.168.1.20 dev eth3 table main
ip route add 217.XXX.XXX.160/27 dev eth2 src 217.XXX.XXX.185 table T1
ip route add default via 217.XXX.XXX.161 dev eth2 table T1
ip route add 192.168.2.0/24 dev br0 table T1
ip route add 192.168.1.0/24 dev eth3 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add 192.168.1.0/24 dev eth3 src 192.168.1.1 table T2
ip route add default via 192.168.1.20 dev eth3 table T2
ip route add 192.168.2.0/24 dev br0 table T2
ip route add 217.XXX.XXX.160/27 dev eth2 table T2
ip route add 127.0.0.0/8 dev lo table T2
ip rule add from 217.XXX.XXX.185 table T1
ip rule add from 192.168.1.1 table T2
É isso. Então está resolvido.