使用IP表将所有请求转发到另一个内部IP?


0

我有一个设置为“移动”的网络。它包含一些不同的服务器。一切都可以从外面完美地工作。我要配置的是内部连接。

我有一个可以昵称的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在该address=行中使用的“ WAN” IP地址。这可以通过一些脚本和addn-hosts文件来完成。
— Daniel B

我宁愿一切都在main。Howevet,我尝试通过将路由器的静态IP(10.0.0.1)放在地址字段中来做到这一点。那没用。我宁愿避免更改为WAN IP(192.168.0.10),因为当网络移动时,这将改变。
— 艾伦ph '10

不,你误会了。您无需更改 WAN IP,而只需使用它即可。并且,最重要的是,请随时了解其更改。但是,我对DD-WRT提供的脚本挂钩并不熟悉。要在上使用发夹式NAT main,您需要其WAN IP地址。
— 丹尼尔·B

的WAN IP main是分配的静态IP generic.如果generic要改变,很可能是由指定的静态IP generic,因此main的广域网IP,也将改变。
— 艾伦夫(Allenph)

我还是尝试过。它以某种方式工作,但是引起了一些麻烦的主机名问题。
— 艾伦ph '10
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.