У меня есть сеть, которая настроена на «мобильность». Он содержит несколько разных серверов. Все отлично работает снаружи. Я пытаюсь настроить внутренние соединения.
У меня есть маршрутизатор 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?
