У меня есть vultr VPS с 3 IP-адресами (основной и 2 дополнительных). Я хочу направить весь трафик, идущий на эти 3 IP-адреса, в мою домашнюю сеть и поддерживать исходный IP-адрес, чтобы моя домашняя сеть могла перенаправлять трафик на основе этого.

У меня дома есть кабельный интернет, поэтому у меня нет статического IP-адреса, но у меня есть простой netcat, который будет работать на VPS, и если мои домашние IP-изменения получат новый IP-адрес, обновите /etc/iptables/rules.v4 файл на VPS с новым IP-адресом, и повторно примените правила, чтобы не было проблем.

Проблема в том, что я не могу заставить работать маршрутизацию на VPS, поэтому трафик на каждый из IP-адресов VPS отправляется на IP моей домашней сети и выглядит уникальным.

Это то, что у меня есть в моих правилах iptables

-A PREROUTING -p tcp -m tcp --dport 9983 -j DNAT --to-destination HOME_IP:9983
-A PREROUTING -p tcp -m tcp --dport 7777 -j DNAT --to-destination HOME_IP:7777
-A PREROUTING -p tcp -m tcp --dport 11010 -j DNAT --to-destination HOME_IP:11010
-A POSTROUTING -j SNAT --to-source VPS_IP_1
-A POSTROUTING -j SNAT --to-source VPS_IP_1
-A POSTROUTING -j SNAT --to-source VPS_IP_2

однако он отображается только один из -A POSTROUTING -j SNAT --to-source работает - например, на моем домашнем маршрутизаторе у меня есть некоторые настройки переадресации, основанные на исходном IP, если его VPS_IP_1 идет на одно устройство, если его VPS_IP_2 он переходит к другому и так далее ... но независимо от того, на какой IP-адрес VPS я отправляю трафик, он всегда направляется на одно и то же устройство, как если бы весь трафик направлялся только на один из IP-адресов VPS. Если я переупорядочиваю раздел правил -A POSTROUTING -j SNAT --to-source он изменяет, с какого VPS IP моя домашняя сеть считает весь трафик.

Это связано с тем, что моя домашняя сеть является кабельной, например, не статический IP? я должен использовать MASQUERADE вместо SNAT? Я пробовал комбинации

-A POSTROUTING -j SNAT --to-source VPS_IP_1
-A POSTROUTING -j SNAT --to-source VPS_IP_2
-A POSTROUTING -j SNAT --to-source VPS_IP_3

а также

-A POSTROUTING -j MASQUERADE

но безрезультатно. Если я просто использую MASQUERADE основной ip VPS отправляет трафик на мой домашний ip, если я использую MASQUERADE и SNAT вместе, то только один из VPS ips, кажется, проходит через мой домашний ip (кажется, первый IP VPS, указанный в правила SNAT).

Я также не уверен, что мой домашний модем является основной причиной проблемы, я открыл соответствующие порты на модеме (tcp и udp) и настроил мой маршрутизатор для перенаправления трафика на определенные устройства на основе исходного VPS IP, но возможно мой модем как-то искажает исходный IP-адрес VPS?

0