У меня есть сеть, которая настроена на «мобильность». Он содержит несколько разных серверов. Все отлично работает снаружи. Я пытаюсь настроить внутренние соединения.

У меня есть маршрутизатор DD-WRT, который мы можем называть main и другой маршрутизатор, который мы можем назвать generic . Идея заключается в том, что main содержит множество портов и статических IP-адресов для моих серверов на собственном независимом DHCP-сервере. Generic - это любой маршрутизатор, через который я хочу, чтобы main доступ к Интернету осуществлялся. (Main подключен к Wi-Fi generic и использует свой внешний IP)

В моем текущем случае Generic - это обычный маршрутизатор / модем «все в одном» от моего интернет-провайдера. Все порты generic перенаправляются на main . Это работает. С внешней стороны все соединяется правильно.

Однако, поскольку generic находится между main и Internet, маршрутизация шпильки не работает.

Для решения этой проблемы у меня есть несколько настроек DNSMasq на main которые myDomain.com с 10.0.0.101 . Это выглядит так ...

address=/mydomain.com/10.0.0.101

И 10.0.0.101 и 10.0.0.102 являются серверами Debian. 10.0.0.101 - это "административный" сервер в моих сетях. Он обрабатывает электронную почту и некоторые другие административные вещи.

Я пытаюсь использовать Таблицы IP на 10.0.0.101 для имитации эффекта нахождения вне сети. (Любой порт на myDomain.com должен делать то же самое, независимо от того, нахожусь я внутри или вне локальной сети.)

Порты, которые должны перейти на 10.0.0.102 :80 , 8080 , 3000 , 22 , 9090 , 9091 , 9092 и 9093 . Я не очень знаком с IP Tables, но нашел этот урок .

Я вошел в систему как root и побежал ...

echo "1" > /proc/sys/net/ipv4/ip_forward

Затем я запустил следующую замену (MY_LOCAL_PORT) каждого из портов, перечисленных выше ...

iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 10.0.0.101 --dport (MY_LOCAL_PORT) -j DNAT --to 10.0.0.102:(MY_LOCAL_PORT)

Я тогда побежал ...

iptables -t nat -A POSTROUTING -o eth0 -d 10.0.0.102 -j SNAT --to-source 10.0.0.101

Это не работает. traceroute для mydomain.com:22 дает 10.0.0.101 . Я не могу просмотреть веб-сервер на myDomain.com хотя я могу просмотреть его, введя 10.0.0.102 в адресную строку моего браузера.

В чем проблема? Как мне достичь этого результата? И в качестве бонуса ... это можно сделать на main а не 10.0.0.101?

0