我有以下设置 –
Verizon Fios路由器 – 广域网 – 公共IP地址Verizon Fios路由器 – 局域网 – 192.168.1.1
这直接连接到一个内部的Linux路由器 –
内部路由器Linux – eth0 – 192.168.1.2内部路由器Linux – eth1 – 10.10.10.1
我遇到的问题是,如果一个请求从10.10.10.xnetworking或192.168.1.2networking发送到公共IP地址,则请求会在networking域的某个地方丢失。
Linux路由器直接通过Fios路由器的DMZfunction在互联网上。
我想我只是缺less一个基本的路线命令,但我不知道下一步该去哪里。
任何这个问题的原因是我想在Linux路由器上运行VNC-Java客户端连接到直接在同一台机器上运行的vncserver。 当java客户端去连接时,它试图连接到linux路由器真正不知道的外部IP地址,因为它认为它是192.168.1.2。
我想有另一种解决scheme…这是告诉tightvnc java客户端连接到主机192.168.1.2,但我无法find准确设置,要么。
普通的VNC客户端工作正常,但我想避免必须有客户端软件。
想法/build议? 我只是因为一对一的运气而不幸运气?
关于路由问题,因为你的内部networking使用不可路由的IP addrsses(private),所以你的linux路由器在通过外部IP地址出去的时候必须“伪装”它们(这也是不可路由的,但是你的Linux路由器需要不知道 – 思科可以处理那部分)。
一些简单的东西
iptables -t nat -I 1 POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQURADE
应该做的伎俩。 如果你能告诉我你在Linux路由器上使用的是什么发行版,那么我可以给你提供更好的指导,说明如何在Linux路由器的networking设置中永久地设置它。
还请确保你有ip_forwarding启用 – 检查sysctl net.ipv4.ip_forward的输出:应该说“1”
除了Guss的回答(这是正确的)之外,您还需要确保您的所有计算机都configuration了正确的默认网关。 对于10.10.10.x子网中的计算机,这大概是10.10.10.1。 对于192.168.1.x子网中的所有计算机,这可能是192.168.1.1(至less这是我从你的文章中读到的)。
通常这些将通过DHCP设置。 如果您不使用DHCP,则必须手动设置这些值(及其相应的子网掩码)。