编辑:我知道如何使用 NAT,我特别希望服务器可以通过两个 IP 访问,一个是私有 IP,一个是公共 IP,中间有 OpenWRT 的防火墙(如果可行的话)。
在办公室,我们从 ISP 那里收到了一个 /29。第一个地址是为他们的端点保留的,所以我可以自由使用五个地址。
我们运行一个本地网络,因此当然在运行 OpenWRT 之间有一个路由器,为所有主机提供 (W)LAN(来自私有范围的 dhcp)。
但是,我们还有一台运行 OS X Server 10.6 (Snow Leopard) 的服务器,我希望该服务器既可以通过 LAN 使用私有 IP 进行访问,也可以通过 WAN 使用其自己的公共 IP 进行访问。
值得注意的是,该服务器只有一个网络端口,因此遗憾的是多个 NIC 不是一种选择。
我该如何做这件事?
答案1
虽然您当然可以使用 NAT 来简单地将公共地址 DNAT 到 OS X 机器,但是只要您想要“DMZ”上的多台机器,就会出现被 NAT 破坏的协议或主机互连问题。
你可以通过结合使用一些先进的网络技术来设置“合适的” DMZ,即
- VLAN,这样你的 OS X 服务器就不需要额外的物理网卡
- ProxyARP 在具有相同网络地址/子网掩码特征的网络之间路由 IP 数据包
基本概要:
- 定义一个新的DMZ 的 VLAN以及一个与 OpenWRT 设备上的 wan 接口具有相同 IP 地址的新虚拟接口
- 确保你的 OS X 机器连接到 OpenWRT 路由器的端口被定义为标记成员(即
t
在VLAN定义线) - 设置具有相同 VLAN ID 的虚拟接口按照之前在 OS X 服务器上为 DMZ 所定义的方式
- 从要在 OS X 服务器的虚拟 DMZ 接口上使用的地址空间设置 IP 地址,并通过 OpenWRT 公共地址添加默认路由
- 相应设置路由并启用代理 arp在 OpenWRT 机器上
- 别忘了设置过滤器对于新创建的 DMZ
这将花费一些时间和您进行测试,并且 ProxyARP 部分将需要一些基本的脚本才能持久,因为它无法使用 UCI 进行配置。
答案2
我从未使用过 OpenWRT,但可以使用 NAT 转发:
http://wiki.openwrt.org/doc/uci/firewall#forwarding.ports.destination.natdnat