Хочу дважды сделать нац.
Дизайн это:
LAN - A 192.168.1.10/24 OpenSwan VPN Public IP 5.5.5.5 <------VPN-----> Public IP 6.6.6.6 Open Swan --- > LAN B 192.168.1.20/24
Когда я пингую из источника 192.168.1.10
Я хочу изменить источник на 1.1.1.x/24
и пункт назначения 2.2.2.10/24
Итак, машина в LAN A 192.168.1.10
пингует пункт назначения 2.2.2.10
с исходным нат IP 1.1.1.10
и пакет попадет 192.168.1.20
Из-за перекрытия подсети я не могу проложить маршрут 192.168.1.20
в таблице маршрутизации LAN, поскольку она конфликтует, поэтому я хочу пропинговать фиктивный IP 2.2.2.10
и когда пакет достигает окна VPN Openswan, он переводит адрес назначения в 192.168.1.20
Итак, что было бы заявлением NAT на сайте A OpenSwan?
(Обратите внимание, что у меня нет доступа к сайту B openswan, поэтому все изменения требуются на сайте A openswan)
Требуется ли для LAN A и LAN B использовать одну и ту же подсеть или это можно изменить?
Я также искренне надеюсь, что предоставленные вами IP-адреса 1.1.xx и 2.2.xx являются чисто иллюстративными - в реальном мире вы захотите использовать адреса RFC1918.
На базовом уровне вы описываете применение NAT как источника, так и назначения, то есть SNAT и DNAT.
Итак, теоретически следующее должно работать:
-t nat -A PREROUTING -d 2.2.2.10 -j DNAT --to-destination 192.168.1.20
-t nat -A POSTROUTING -s 192.168.1.10 -j SNAT --to-source 1.1.1.10
К сожалению, если у вас нет доступа к VPN-серверу сайта B, это не сработает.
Причина, по которой это не сработает, заключается в том, что пока машина в LAN A пытается достичь 1.1.1.10, ваша LAN A VPN-сервер должен преобразовать это обратно в 192.168.1.20. Существует также проблема того, что должен делать VPN-сервер LAN B с исходным IP-адресом 1.1.1.10 - вам потребуется маршрутизация для отправки пакета обратно его отправителю, и (мне) кажется намного проще только LAN A используйте 10.1.1.1/24
И, как вы упомянули, вы не можете правильно направить свой сервер LAN A VPN на 192.168.1.20, потому что ваш сервер LAN A VPN считает, что эта подсеть является локальной для него.
Добавление определенного маршрута мощь help (например, ip r add 192.168.1.20/32 через IP), но все это звучит немного хрупко - я бы подумал, что гораздо более работоспособным решением было бы разделить ваш / 24 и назначить / 25 по обе стороны от вашего VPN (если вы должен поддерживать одинаковые IP-адреса LAN на обоих концах).
Поэтому я склонен думать, что вам лучше всего попытаться изменить LAN A.
Подойдет / 24, отличный от B, и также будет работать / 25 по обе стороны от туннеля.