У меня есть маршрутизатор человечности с сервером Ubuntu 14,04 установленных. Физические сетевые интерфейсы:
eth0 - локальная LAN
eth3 - WAN (Интернет)
wlan2 - локальная беспроводная LAN (AP)
Это - мой/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
Маршрут:
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
Я использую UFW, и это - то, что я добавил к/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
Состояние 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)
Затем я использую также hostapd для Wi-Fi AP. Все работает отлично. Но... Что я хочу сделать, должна добавить дополнительная сетевая плата, которая была бы вторым интерфейсом глобальной сети, в котором у меня есть общедоступный статический IP. Я хочу использовать текущий eth3 в качестве основного интернет-соединения, поскольку это - очень быстрое и надежное соединение, но находится позади NAT, таким образом, это испытывает недостаток в общедоступном IP. У меня есть дополнительное интернет-соединение с общедоступным IP, который я хочу использовать только для доступа к серверу (маршрутизатор) снаружи (ssh, http, https). Общедоступное интернет-соединение IP было бы подключено к eth2.
Я не знаю, как настроить это. Когда я просто ввожу эту конфигурацию в/etc/network/interfaces, я не могу получить доступ к серверу (ssh, http, https) через общедоступный IP, указанный для eth2. (интернет-соединение с этим общедоступным IP в порядке - я протестировал его с другим маршрутизатором HW, и я мог получить доступ к нему хорошо снаружи):
# 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
Кто-либо может помочь мне улаживающий это?
Я создал новую таблицу маршрутизации и добавил маршрутизацию для "общедоступной IP WAN" и добавил IP правило так все, что прибывает из общедоступного IP, будет направлен с помощью новой таблицы маршрутизации для корректного interface/gw:
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
Теперь у меня есть сервер, доступный снаружи через общедоступный IP, связанный с WAN eth2. Что волнует меня, что, так как я настроил это, у меня нет доступа к серверу через общедоступный IP от LAN позади маршрутизатора. Я думаю, что это из-за подмены, установлен способом, мы направляем все от LAN behing маршрутизатор через eth3 - который является интерфейсом глобальной сети eht3 (без общедоступного IP).Я прав? Существует ли путь, как зафиксировать это?
Теперь у меня есть корректные настройки, и целая установка работает, таким образом, я могу получить доступ к серверу из Интернета через общедоступный IP (WAN1) и направить LAN к Интернету через WAN2, и тем не менее я могу получить доступ к серверу через его общедоступный IP (WAN1) от LAN. Это - маршрутизация, которая должна была быть настроена, чтобы заставить его работать способом, я описал прежде:
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
Вот именно. Таким образом, это решено.