У меня немного сложная настройка на моем Synology NAS:
Существует VPN-туннель, который также работает как шлюз по умолчанию (tun0, GW: 10.129.15.229). Это задумано и должно оставаться таким, чтобы все, что инициируется на NAS, проходило через VPN.
Теперь я хочу использовать 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 - моя локальная сеть.