Eu tenho um roteador ubuntu com o servidor Ubuntu 14.04 instalado.
Interfaces de rede física são:
eth0 - LAN local
eth3 - WAN (internet)
wlan2 - rede local sem fio (AP)
Este é o 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 é 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
status do 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 uso também o hostapd para o wifi do AP. Tudo funciona perfeitamente. Mas...
O que eu quero fazer é adicionar uma placa de rede adicional que seria a segunda interface WAN em que eu tenho um IP estático público . Eu quero usar o eth3 atual como uma conexão de internet principal, pois é uma conexão muito rápida e confiável, mas está atrás de um NAT, portanto, ele não tem IP público. Eu tenho conexão de internet adicional com um ip público que eu quero usar apenas para acessar o servidor (roteador) de fora (ssh, http, https). A conexão de internet IP pública seria conectada à eth2.
Eu não sei como configurar isso. Quando eu insiro essa configuração em / etc / network / interfaces, não consigo acessar o servidor (ssh, http, https) por meio de um IP público especificado para eth2. (conexão de internet com este ip público é ok - eu testei com roteador HW diferente e eu poderia 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. > > >
Eu criei uma nova tabela de roteamento e adicionei roteamento para o "ip público WAN" e adicionei uma regra 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 de fora via IP público associado à WAN eth2. O que me preocupa é que, desde que eu 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 é definido de uma forma que roteamos tudo, LAN colocando o roteador via eth3 - que é uma interface WAN eht3 (sem um IP público). Estou certo? Existe uma maneira de corrigir isso?