Привет. Есть у меня на сервере давний скрипт для настройки ВПН’а. Поднимается wg интерфейс, делается дефолт шлюзом и всё такое. Всё работает хорошо. За NAT отвечает эта строка:
# iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
В общем полез я на досуге в этом рзбираться, она мне показалась странной, NAT должен настраиваться как-то так:
# iptables -t nat -A POSTROUTING -s 192.168.10/24 -o eth0 -j MASQUERADE
Но так не работает, я не понимаю почему, первое вообще кажется невалидным. Вот как я рассуждаю:
- Клиент идет на xxx.com через wg,
- На интерфейс eth0 сервера приходит пакет
- eth0->PREROUTING->routing->INPUT->wg обрабатывает пакет
- wg отправляет пакет на xxx.com
- wg->PREROUTIN->routing->FORWARD->POSTROUTING->eth0
Должно работать второе правило с выходным интерфейсом eth0. Через routing framework должны пройти пакеты с впн адресами и в конце на них накидывается NAT. В чем я ошибаюсь и почему непонятное бредовое правило #1 работает?

