Назад | Перейти на главную страницу

NAT-соединение через шлюз, отличный от шлюза по умолчанию?

У меня немного сложная настройка на моем Synology NAS:

  1. Существует VPN-туннель, который также работает как шлюз по умолчанию (tun0, GW: 10.129.15.229). Это задумано и должно оставаться таким, чтобы все, что инициируется на NAS, проходило через VPN.

  2. Теперь я хочу использовать NAT в моей локальной сети (инициированный другими компьютерами в частной сети 192.168.2.0/24, используя локальный шлюз 192.168.2.1).

Просто включите NAT с помощью таких правил iptables modprobe iptable_nat iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.2.20

Кажется, это мешает GW по умолчанию, указанному в 1 (ничего не происходит / не работает).

Есть идеи, как я могу это настроить? Могу ли я как-то пометить пакеты с помощью iptables, а затем явно настроить маршрут к 192.168.2.1 для этих отмеченных пакетов?

Большое спасибо!

Получилось так:

iptables --append FORWARD --in-interface eth1 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface tun0 -j MASQUERADE

echo 10 vpn >> /etc/iproute2/rt_tables
ip rule add from 192.168.2.0/24 lookup vpn
ip route add default via 192.168.2.1 table vpn

192.168.2.1 - это локальный шлюз, через который я хочу маршрутизировать, 192.168.2.X - моя локальная сеть.