Это - моя установка сети сервера:
/etc/network/interfaces
auto ethLAN
iface ethLAN inet static
address 192.168.10.3
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
auto ethOI
iface ethOI inet static
address 10.1.1.3
netmask 255.255.255.0
network 10.1.1.0
broadcast 10.1.1.255
gateway 10.1.1.1
dns-nameservers 192.168.10.1 8.8.8.8 8.8.4.4
dns-search hsi.local
auto ethGTC
iface ethGTC inet static
address x.y.z.82
netmask 255.255.255.192
network x.y.z.64
broadcast x.y.z.127
gateway x.y.z.65
И это - моя таблица маршрутизации:
0.0.0.0 10.1.1.1 0.0.0.0 UG 0 0 0 ethOI
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ethOI
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ethLAN
x.y.z.64 0.0.0.0 255.255.255.192 U 0 0 0 ethGTC
ethOI обеспечивает интернет-соединение с клиентами локальной сети, и ethGTC привык к внешней VPN, СЕТИ, и другой обслуживает.
Я использую iptables для подмены и брандмауэр (снимок здесь).
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ethOI -j MASQUERADE
iptables -A INPUT -i ethLAN -j ACCEPT
iptables -A INPUT -i ethGTC -p tcp --dport 80 -j ACCEPT
... other rules
С этой установкой клиенты локальной сети могли получить доступ к Интернету с интерфейсом ethOI, но сервисы не работают.
Однако, если я изменяю маршрут по умолчанию на ethGTC, все хорошо работает кроме клиентов, направляются этим интерфейсом и не ethOI.
Как настроить этот сценарий?
Решение для этой проблемы состоит в том, чтобы добавить пользовательский маршрут как:
up ip route add 10.1.1.0/24 dev ethOI src 10.1.1.3 table adsl1
up ip route add default via 10.1.1.1 table adsl1
up ip route add x.y.z.64/26 dev ethGTC src x.y.z.82 table adsl2
up ip route add default via x.y.z.65 table adsl2
up ip route add 10.1.1.0/24 dev ethOI src 10.1.1.3
up ip route add x.y.z.64/26 dev ethGTC src x.y.z.82
up ip rule add from 10.1.1.3 table adsl1
up ip rule add from x.y.z.82 table adsl2
Попробуйте: Для всех машин в сети "GTC", исключая x.y.z.82, добавляя запись маршрутизации как: маршрут добавляет - сеть 192.168.10.0/24 gw x.y.z.82