我正在build立一个Ubuntu Linux框作为路由器。 它是一个相当普通的设置与NAT使用IPTables – 它的工作对我来说很好。
我即将把它投入生产,到目前为止,为了testing,在/ etc / network / interfaces文件中将多个WAN IP放置在节中:
# WAN Interface iface eth0 inet static address 123.123.456.345 netmask 255.255.... network ... broadcast ... gateway ... iface eth0:1 inet static address 123.456.789.123 netmask ... iface eth0:2 inet static ...
我发现的问题是,我们现在有大约20个WAN IP需要进行NAT转换,这意味着我需要将这20个IP分配到这个盒子上,然后它可以转换成正确的私有IP。
这是事实 – 接口文件正在稳步增长,我开始怀疑在不久的将来这将变得难以pipe理。 但是上面的例子几乎是我做过的唯一的方法,而且是目前search时最常见的例子。
我发现和考虑的唯一的其他方法是: http : //www.shorewall.net/Shorewall_and_Aliased_Interfaces.html
# Internet interface auto eth0 iface eth0 inet static address 206.124.146.176 netmask 255.255.255.0 gateway 206.124.146.254 up ip addr add 206.124.146.178/24 brd 206.124.146.255 dev eth0 label eth0:0
有没有办法组织这个别人可以推荐大量的IP别名? 你为什么select其他方法呢?
编辑
现在基本上已经有两个答案build议,不要使用NAT,只是通过防火墙桥接stream量,并直接在服务器上分配IP。 我应该补充说,我们已经在生产中使用这种方法,但已经决定放弃它。
我们要保存我们的公共地址空间,许多设备或虚拟机只需要一个公共端口打开,而没有其他的公共服务。 因此,我们希望能够映射单个公共IP上的端口来分隔内部设备。
我们正在向前推进一个VPN基础设施,允许客户VPN和访问他们分配的子网/ VLAN,因此有权访问他们的服务器。
具有桥接防火墙configuration的VLAN已被certificate是麻烦的。 由于数据包正在击中我们的上游提供商仍然被标记,数据包被拒绝。
我应该清楚,这不是完全的1:1 NAT设置。 就是现在,所有的设备都有自己的广域网IP–所以这就是我们现在要做的最好的描述。
许多设备将仍然需要自己的IP,在这种情况下,我们NAT和单独的端口,所以像1-1 NAT,有防火墙。 但是在某些情况下,设备根本不需要WAN IP。
谢谢!
以正确的方式做到这一点 – 将地址范围路由到防火墙,并将IP地址放在目标设备上。
为什么不使用防火墙来连接两个networking,而是将真正的IP直接分配给相关系统。 您仍然可以过滤stream量以保护主机,并且可以通过不必维护所有这些NAT来减轻防火墙上的负载(可能不是那么多)。
searchLinux桥接,brctl和ebtables。