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

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

我有一个设置为“移动”的网络。它包含几个不同的服务器。从外部看,一切都运行正常。我试图配置的是内部连接。

我有一个 DD-WRT 路由器,我们可以给它起个昵称main,还有另一个路由器,我们可以称之为generic。这里的想法是,它main包含大量端口转发和静态 IP 分配,用于我在其自己的独立 DHCP 服务器上的服务器。Generic是我想要main通过它访问互联网的任何路由器。(Main连接到 的genericWiFi 并使用其外部 IP)

我现在的情况Generic是 ISP 提供的普通路由器/调制解调器一体机。所有端口generic都转发到main。这很有效。从外部看,一切都连接正确。

然而,由于generic它位于路由器main和互联网之间,因此发夹弯路由不起作用。

为了解决这个问题,我对 进行了 DNSMasq 设置mainmyDomain.com如下10.0.0.101所示...

address=/mydomain.com/10.0.0.101

10.0.0.101都是10.0.0.102Debian 服务器。10.0.0.101是我网络中的“管理”服务器。它处理电子邮件和一些其他管理事务。

我正在尝试使用 IP 表来10.0.0.101模拟网络外部的效果。(myDomain.com 上的任何端口都应该执行相同的操作,无论我是在 LAN 内部还是外部。)

需要访问的端口10.0.0.102808080300022、和。我对 IP 表不太熟悉,9090但发现909190929093本教程

我以 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

相关内容