Tengo un enrutador Ubuntu con el servidor Ubuntu 14.04 instalado. Las interfaces de red físicas son:
eth0 - LAN local
eth3 - WAN (Internet)
wlan2: LAN inalámbrica local (AP)
Este es mi /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
La ruta es:
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
Yo uso UFW y esto es lo que agregué a /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
Estado de la 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)
Luego uso también hostapd para AP wifi. Todo funciona perfectamente. Pero... Lo que quiero hacer es agregar una tarjeta de red adicional que sería la segunda interfaz WAN enla cual tengo una ip estática pública. Quiero usar eth3 actual como conexión principal a Internet, ya que es una conexión muy rápida y confiable, pero está detrás de una NAT, por lo que carece de IP pública. Tengo una conexión a Internet adicional con una IP pública que quiero usar solo para acceder al servidor (enrutador) desde afuera (ssh, http, https). La conexión a Internet IP pública estaría conectada al eth2.
No sé cómo configurar eso. Cuando ingreso esta configuración en /etc/network/interfaces, no puedo acceder al servidor (ssh,http,https) a través de una IP pública especificada para eth2. (La conexión a Internet con esta IP pública está bien; la probé con un enrutador HW diferente y pude acceder bien desde afuera):
# 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
¿Alguien puede ayudarme a solucionar esto?
OK, resolví parcialmente el problema. >>>
Creé una nueva tabla de enrutamiento y agregué enrutamiento para la "IP WAN pública" y agregué una regla de IP para que todo lo que provenga de la IP pública se enrute usando la nueva tabla de enrutamiento a la interfaz/gw correcta:
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
Ahora tengo el servidor accesible desde fuera mediante IP pública asociada a WAN eth2.Lo que me preocupa es que desde que configuré esto, no tengo acceso al servidor a través de IP pública desde la LAN detrás del enrutador.Creo que esto se debe a que el enmascaramiento está configurado de manera que enrutamos todo desde la LAN detrás del enrutador a través de eth3, que es una interfaz WAN eht3 (sin una IP pública). ¿Estoy en lo cierto? ¿Hay alguna manera de solucionar esto?
Respuesta1
Resuelto completamente
Ahora tengo la configuración correcta y toda la configuración está funcionando, por lo que puedo acceder al servidor desde Internet a través de una IP pública (WAN1) y enrutar la LAN a Internet a través de WAN2 y aún puedo acceder al servidor a través de su IP pública (WAN1) desde LAN. Esta es la ruta que se tuvo que configurar para que funcione de la manera que describí 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
Eso es todo. Asi esta solucionado.