在OpenWRT上将IP从WAN路由到LAN上的主机

编辑:我知道如何使用NAT,我特别希望服务器可以访问两个IP,一个私人,一个公共,与OpenWRT之间的防火墙之间,如果可行的话。

在办公室,我们收到了来自ISP的29。 第一个地址是为他们的端点保留的,所以我可以自由使用五个地址。

我们运行一个本地networking,所以当然在运行OpenWRT之间有一个路由器为所有主机提供(W)LAN(私有范围内的dhcp)。

不过,我们也有一个运行OS X Server 10.6(Snow Leopard)的服务器,我希望这个服务器可以通过局域网使用私有IP,也可以使用自己的公有IP上的广域网访问。

值得注意的是,服务器只有一个networking端口,所以不幸的是,多个网卡不是一个选项。

我怎么去做这个?

虽然你当然可以使用NAT来简单地将一个公共地址DNAT到OS X机器上,但是一旦你想在“DMZ”上有多台机器,就会出现被NAT或主机互连破坏的协议问题。

你可以通过结合一些先进的networking技术来build立一个“合适”的DMZ

  • VLAN,所以你的OS X服务器不需要额外的物理网卡
  • ProxyARP在具有相同networking地址/子网掩码特性的networking之间路由IP数据包

基本概述:

  • 为DMZ定义一个新的VLAN,并在OpenWRT设备上为您的WAN接口configuration一个与您的IP地址相同的新虚拟接口
  • 确保您的OS X机器连接到OpenWRT路由器的端口被定义为标记的成员(即在VLAN定义行中附加了一个t
  • 使用与以前在OS X服务器上为DMZ定义的相同VLAN ID设置一个虚拟接口
  • 从你想在OS X服务器的虚拟DMZ接口上使用的地址空间设置IP地址,并通过OpenWRT公共地址添加一条默认路由
  • 相应地设置路由并在OpenWRT机器上启用代理ARP
  • 不要忘记为您新创build的DMZ 设置filter

这将需要一些时间和testing在你身边,ProxyARP部分将需要一些基本的脚本来获得持久性,因为它不能用UCIconfiguration。

我从来没有使用OpenWRT,但它可能使用NAT转发:

http://wiki.openwrt.org/doc/uci/firewall#forwarding.ports.destination.natdnat