Я ищу способ перенаправить исходящий трафик на отдельные IPv4-адреса для разных клиентов, подключенных через один и тот же VPN-туннель за NAT.
Прямо сейчас я перенаправляю порт 44158 с нескольких общедоступных IPv4-адресов на VPS-сервере X на несколько клиентов, подключенных через одно VPN-соединение — с маршрутизатора за NAT. Входной порт 44158 на принимающих общедоступных IPv4-адресах не может быть изменен, и клиенты за маршрутизатором получают данные на правильный порт 44158, поскольку маршрутизатор настроен на пересылку на правильный порт для каждого клиента в пункте назначения.
Делается это так:
iptables -t nat -A PREROUTING -d 103.143.72.84 -p tcp --dport 44158 -j DNAT --назначение 192.168.52.2:44158
iptables -t nat -A PREROUTING -d 103.143.72.25 -p tcp --dport 44158 -j DNAT --назначение 192.168.52.2:44159
iptables -t nat -A POSTROUTING -s 192.168.52.0/24 -j MASQUERADE
Где 192.168.0.2
это маршрутизатор в пункте назначения, который перенаправляет пакеты на свой внутренний NAT клиентам, от 44158
к 192.168.0.12:44158
и из 44159
к 192.168.0.13:44158
.
Чего я пытаюсь добиться, так это заставить весь исходящий трафик с 192.168.0.12 выходить через 103.143.72.84, а весь исходящий трафик с 192.168.0.13 выходить через 103.143.72.25.
Есть ли способ сделать это с iptables
на VPS-сервере X?
У меня есть эта аппаратная настройка, которую я не могу изменить. Клиенты A (192.168.0.12) и B (192.168.0.13) подключаются к маршрутизатору N в локальной сети и находятся в сети NAT 192.168.0.0/24. Маршрутизатор N подключается через VPN к VPS-серверу X и получает IP 192.168.52.2. Сервер X имеет несколько общедоступных IPv4-адресов (103.143.72.84 и 103.143.72.25).
И я хотел бы назначить каждому IP-адресу клиента отдельный исходящий общедоступный IP-адрес на сервере X.
- Используемые IP-адреса приведены для примера;
- для простоты я оставил пример с двумя клиентами, но их гораздо больше.