LINUX.ORG.RU
решено ФорумAdmin

Как-то странно не работает SNAT (MASQUERADE)

 , ,


0

1

Всем привет!

Как-то не приходилось сталкиваться с VPS и вот столкнулся.
Короче есть VPS, надо поднять между ним и обычным Linux сервером (VDS) vpn и NATить трафик. По сути клаcсический VPN+NAT кейс.

VPS: Debian 12
VDS: Debian 10
Test: Windows 10/11

В общем взял я и установил на VPS strongswan. Настроил на нем IKEv2 + EAP_MSChapV2 сервер (к слову не в первый раз, по известной тропинке). VPN вроде как работает, клиента принимает и выдаёт ему IP и DNS.
Теперь очередь за NAT. Пока всё пусто, iptables пустой и везде ACCEPT.
добавил одну строку:

iptables -t nat -A POSTROUTING -o venet0 -s 10.10.10.0/24 -j MASQUERADE

или пробовал
iptables -t nat -A POSTROUTING -o venet0 -s 10.10.10.0/24 -j SNAT --to x.x.x.x


Иииии не работает. Но не работает как то странно.

в tcpdump VDS я вижу, что он корректно на первый взгляд натит пакеты. Он их шлёт. Но вот сами пакеты до назначения не доходят. Я пробовал пинговать подконтрольные мне сервера в интернете и если исходящий с NAT пинг уходит, то входящий для target не приходит. Что происходит в промежутке мне не доступно.

10:07:23.691176 IP 10.10.10.2 > 8.8.8.8: ICMP echo request, id 1, seq 99, length 40
10:07:23.691261 IP x.x.x.x > 8.8.8.8: ICMP echo request, id 1, seq 99, length 40
10:07:26.211308 IP 10.10.10.2 > 8.8.8.8: ICMP echo request, id 1, seq 100, length 40
10:07:26.211397 IP x.x.x.x > 8.8.8.8: ICMP echo request, id 1, seq 100, length 40
10:07:34.571123 IP 10.10.10.2 > 1.1.1.1: ICMP echo request, id 1, seq 101, length 40
10:07:34.571210 IP x.x.x.x > 1.1.1.1: ICMP echo request, id 1, seq 101, length 40


Акцент на VPS потому как, на любом другом доступном мне VDS та же самая настройка корректно работает как ожидалось. А тут никак.

Ты бы tcpdump посмотрел на твоём venet0, ибо ты показываешь с туннельного интерфейса до маскарада. Возможно у тебя лажа правиле и у тебя пакеты приходят не с тем сорцом какой ты думаешь и под маскарад не попадают. И важно что твоя виртуалка, это не проклятый богом и людьми openvz случаем?

no-dashi-v2 ★★★
()
Ответ на: комментарий от no-dashi-v2

Эм... другого нет :)
Особенность ipsec такова что других интерфейсов то нет :)
А как узнать openvz ли она?

Spider55
() автор топика
Последнее исправление: Spider55 (всего исправлений: 1)
Ответ на: комментарий от no-dashi-v2

Говорю же. Это дамп с него.

ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/void

Spider55
() автор топика
Последнее исправление: Spider55 (всего исправлений: 1)
Ответ на: комментарий от no-dashi-v2

Всё! проблема решена. Спасибо за наводку на openvz.
перевёл stongswan на модуль libipsec и всё заработало.
Да я почитал про минусы, но мне временно и значит и так сойдёт пока.

Spider55
() автор топика