我有一个设置为“移动”的网络。它包含一些不同的服务器。一切都可以从外面完美地工作。我要配置的是内部连接。
我有一个可以昵称的DD-WRT路由器main
,另一个可以打电话的路由器generic
。这里的想法是main
在我自己的独立DHCP服务器上为我的服务器包含大量的端口转发和静态IP分配。Generic
是我想main
通过其访问互联网的任何路由器。(Main
已连接到generic
的WiFi,并使用其外部IP)
在我当前的情况下,Generic
是我的ISP提供的常规路由器/调制解调器。所有的端口generic
都转发到main
。这可行。从外面,一切都正确连接。
但是,由于generic
介于main
互联网和互联网之间,发夹路由无法正常工作。
为了解决这个问题我有一些的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表不那么熟悉,但是找到了本教程。
我以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
在浏览器的地址栏中输入来查看Web服务器,也无法查看。
有什么问题?如何取得这个结果?作为奖励...可以main
而不是这样做10.0.0.101
吗?
main
。Howevet,我尝试通过将路由器的静态IP(10.0.0.1)放在地址字段中来做到这一点。那没用。我宁愿避免更改为WAN IP(192.168.0.10),因为当网络移动时,这将改变。
main
,您需要其WAN IP地址。
main
是分配的静态IP generic.
如果generic
要改变,很可能是由指定的静态IP generic
,因此main
的广域网IP,也将改变。
main
在该address=
行中使用的“ WAN” IP地址。这可以通过一些脚本和addn-hosts
文件来完成。