
編輯:我知道如何使用 NAT,我特別希望伺服器可以在兩個 IP 上訪問,一個是私有的,一個是公共的,如果可行的話,中間有 OpenWRT 的防火牆。
在辦公室,我們收到了 ISP 的 /29。第一個位址是為其端點保留的,因此我可以隨意使用五個位址。
我們運行本地網絡,因此當然在運行 OpenWRT 之間有一個路由器來為所有主機提供 (W)LAN(來自私有範圍的 dhcp)。
但是,我們還有一台運行 OS X Server 10.6 (Snow Leopard) 的伺服器,我希望該伺服器既可以使用私有 IP 從 LAN 訪問,也可以使用其自己的公共 IP 從 WAN 存取。
值得注意的是,伺服器只有一個網路端口,因此不幸的是,多個網路卡不是一種選擇。
我該怎麼做呢?
答案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