我有以下设置 -
Verizon Fios 路由器 - WAN - 公共 IP 地址 Verizon Fios 路由器 - LAN - 192.168.1.1
这直接连接到内部 Linux 路由器 -
内部路由器 Linux - eth0 - 192.168.1.2 内部路由器 Linux - eth1 - 10.10.10.1
我遇到的问题是,如果请求来自 10.10.10.x 网络或 192.168.1.2 网络到公共 IP 地址,则请求会在网络区域的某个地方丢失。
linux 路由器通过 Fios 路由器的 DMZ 功能直接在互联网上。
我想我只是缺少一个基本的路线命令,但我不确定下一步该去哪里。
这些问题的原因是我试图在 linux 路由器上运行 VNC-Java 客户端以连接到直接在同一台机器上运行的 vncserver。当 java 客户端进行连接时,它会尝试连接到 linux 路由器确实不知道的外部 IP 地址,因为它认为它是 192.168.1.2。
我想还有另一种解决方案......这就是告诉tightvnc java客户端连接到主机192.168.1.2,但我也找不到确切的设置位置。
常规 VNC 客户端可以正常工作,但我想避免使用客户端软件。
想法/建议?由于一对一的nat,我只是运气不佳吗?
关于路由问题,因为您的内部网络使用不可路由的 IP 地址(私有),那么您的 linux 路由器必须通过外部 IP 地址“伪装”它们(这也是不可路由的,但您的 Linux 路由器需要不知道 - 思科可以处理那部分)。
像这样简单的东西
应该做的伎俩。如果您能告诉我您在 Linux 路由器上使用的发行版,那么我可以提供更好的说明,说明如何将其永久设置为 Linux 路由器网络设置的一部分。
另外请确保您已
ip_forwarding
启用 - 检查输出sysctl net.ipv4.ip_forward
:它应该说“1”除了 Guss 的回答(这是正确的)之外,您还需要确保您的所有计算机都配置了正确的默认网关。对于 10.10.10.x 子网上的计算机,这可能是 10.10.10.1。对于 192.168.1.x 子网上的所有计算机,这可能是 192.168.1.1(至少这是我从您的帖子中读到的)。
通常这些将通过 DHCP 设置。如果您不使用 DHCP,则必须手动设置这些值(及其相应的子网掩码)。