我有一个非常简单的网关,运行一个最小的Linux,在局域网上用作一个带有NAT和DHCP的IP路由器,在广域网上有一个静态IP。 从LAN侧的网关路由器转到一个大型交换机,从中可以获得大约200个用户的访问权(DHCP将它们分配给NAT地址)。 在局域网上的这200个主机中,有一个(称为氩),我想从局域网和广域网中的一个固定的静态IP地址访问。 假设我的NAT是192.168.1.0/24,我的网关上的LAN地址是192.168.1.1,Boron是局域网上的主机,IP是192.168.1.2,Carbon是WAN上的主机,IP是1.1.1.1。
说我拥有IP 10.10.10.10。 我想把10.10.10.10分配给Argon,并且能够发送和接收来自Boron(在192.168.1.2)和Carbon(在1.1.1.1)的TCP和UDPstream量,其中Boron和Carbon都将发送消息到10.10.10.10的IP地址到达氩气。
我不认为我的路由器有能力运行DNS或VPN,所以我想避免这些路线作为解决scheme,如果可能的话。 但是,如果我所处的限制使问题无法解决,我宁愿将DNS设置为一个解决scheme,而不是VPN,所以如果有人有这个问题的DNS解决scheme(这不是dynamic的DNS),我会欣赏那些解决scheme也。
道歉,如果这个问题是基本的,或不是关键; 我绝对是一个networking新手。
感谢您的帮助。
如果10.10.10.10已经指向路由器上的WAN接口,则只需在路由器的内部主机上添加一条静态路由即可。
ip router add 10.10.10.10/32 dev eth1
其中eth1是路由器上的LAN侧nic。 (确保路由器上的接口WAN和LAN上的IP转发都已打开)。
然后把10.10.10.10/32分配给Argon上的nic。 除非在192.168.1.1/24子网中有一个LAN IP,否则Argon必须将其路由设置为:
ip route add 192.168.1.1/24 dev eth0 ip route add default via 192.168.1.1
内部客户应该没有问题。 数据包将通过为默认网关定义的NIC离开内部主机。 默认网关是你的路由器。 路由有一条路由到10.10.10.10/32退出它的LAN接口。
我认为这应该工作。 如果没有,你将不得不弄清楚如何处理你发行中的发卡转发。 (我真的认为这应该在大多数情况下默认情况下工作…)。
如果你想试图将10.10.10.10/32分配给路由器本身,然后使用NAT将所有内容都指向Ar的内部IP,那么这个神奇的短语将成为“发夹式NAT”。 您可以在这里阅读更多有关这个兔子洞的信息: 无法通过公共IP地址在内部访问域名
为了完成…如果10.10.10.10目前没有指向你的路由器的networking…你将不得不和10 10.10.10.10路由到你的路由器。 (消费级设备不会在这里削减)
对于那些喜欢图片的人来说(我不是很擅长绘图,而我所有的东西都是绘画),这里就是没有NAT的路线:
没有NAT的Linux发夹路由
你所描述的在其他方面被称为SNAT或1:1 NAT。 它将一个networking上的单个地址映射到另一个networking上的单个地址,并且是在地球上的单个主机(通常是互联网)上公开服务的最常见方式。 所以提供你的网关支持它,你需要创build一个1:1的10.10.10.10到192.168.1.2的NAT。
所有到10.10.10.10的stream量定向到192.168.1.2,所有通过网关10接口离开networking的stream量将来自10.10.10.10。
希望这可以帮助!