NAT防火墙后的公网IP

我有一个Linux NAT防火墙服务于虚拟机基础架构。 现在所有的虚拟机都使用NAT,但是我想让他们中的一部分使用一个没有NAT的公共IP。 我有一个范围的IP:208.xx129-140,子网255.255.255.240。 这些IP现在位于防火墙的WAN接口上。 我想在防火墙后面移动几个IP。

我可以在这些IP的几个上改变路线吗? 我需要改变我的子网掩码吗?

你可以做一个更小的子网。 例如,如果你有一个/ 24networking,你可以从这个子网中划出一个小块,例如/ 29networking。

例如,如果8.8.8.0/24是您的公共networking。 你可以使用第二个接口8.8.8.240/29 。 然后你将有8.8.8.241分配给该接口,这将是客户端的网关。 然后你可以使用5个余下的ips。

 [kbrandt@alpine: ~] ipcalc 8.8.8.240/29 Address: 8.8.8.240 00001000.00001000.00001000.11110 000 Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000 Wildcard: 0.0.0.7 00000000.00000000.00000000.00000 111 => Network: 8.8.8.240/29 00001000.00001000.00001000.11110 000 HostMin: 8.8.8.241 00001000.00001000.00001000.11110 001 HostMax: 8.8.8.246 00001000.00001000.00001000.11110 110 Broadcast: 8.8.8.247 00001000.00001000.00001000.11110 111 Hosts/Net: 6 Class A 

即使你可能在不同的接口上有/ 24networking与/ 29重叠,这并不重要,因为更具体的(你可能认为它更小)路由总是胜利 。 请记住,当你这样做,你失去了2个可用的IP地址,一个用于networking,一个用于广播。

学习子网是一项有价值的技能,对于IPv4子网划分如何工作 ,我们有自己的一个巨大的答案。 。


另一种select是不对IP块进行任何NAT,只对特定的IP使用NAT。 这工作正常,因为NAT规则将优先于路由之前发生。

假设你有1个IP,你可以简单地把所有端口打开到一个内部IP(称为1to1 NAT),并使用服务器FW进行过滤。 你可以通过局域网传递所有的IP,但这需要我们知道你有什么路由器。