作者 主題: 能否利用NAT連接兩台以上的Web Server  (閱讀 1816 次)

0 會員 與 1 訪客 正在閱讀本文。

bigsun

  • 懷疑的國中生
  • **
  • 文章數: 53
    • 檢視個人資料
諸位大人:
   小弟有NAT方面的問題請教,細節描述如下:
   
   以Linux 7.2, iptables,2片網路卡作為Firewall, $WAN_IP表示對外WAN IP, 內部IP映射狀況如下: $HTTP_IP1對應WWW-01,$HTTP_IP2對應WWW-02.
   在DNS上面註冊了2個Web Server,分別是WWW-01及WWW-02.共同對應$WAN_IP.
   我對其中一台Web Server的NAT服務進行設定,指令如下:
iptables -t nat -A PREROUTING -p tcp -d $WAN_IP --dport 80 \
            -j DNAT --to $HTTP_IP1
iptables -t nat -A POSTROUTING -d $HTTP_IP1 -s 192.168.1.0/24 \
            -p tcp --dport 80 -j SNAT --to $WAN_IP.
   用上述指令依樣畫葫蘆設定在第二台Web Server上.
iptables -t nat -A PREROUTING -p tcp -d $WAN_IP --dport 80 \
            -j DNAT --to $HTTP_IP2
iptables -t nat -A POSTROUTING -d $HTTP_IP2 -s 192.168.1.0/24 \
            -p tcp --dport 80 -j SNAT --to $WAN_IP.
  小弟檢視指令後發現兩台Web Server對應同一WAN IP,以Broswer連接使用Web Server時,Firewall能否判斷要為user連接哪一個Web Server?? 還是小弟要另外安裝其他package或是進行其他調整,才能協助使用者連接正確的Web Server??

  煩請各位先進不吝賜教,也謝謝各位大人花時間閱讀這篇文章.Thanks!

Best Regards,
Bruce Yang

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
能否利用NAT連接兩台以上的Web Server
« 回覆 #1 於: 2002-11-23 18:56 »
1) 下面這行的 -d $HTTP_IP1 請刪除:
iptables -t nat -A POSTROUTING -d $HTTP_IP1 -s 192.168.1.0/24 \
-p tcp --dport 80 -j SNAT --to $WAN_IP.

因為沒這樣的封包出現在 POSTROUTING 中,正常情況下,從 192.168.1.0/24 送到 $HTTP_IP1 的不會再跑來 nat 上了。

2) 同一 socket ($WAN_IP:80)在單一 packet 上,只能作一個 nat 動作。請修改 socket 分別對應 $HTTP_IP1 及 $HTTP_IP2 。提示:
socket 可改 ip port

bigsun

  • 懷疑的國中生
  • **
  • 文章數: 53
    • 檢視個人資料
能否利用NAT連接兩台以上的Web Server
« 回覆 #2 於: 2002-11-24 10:06 »
Netman大人:

    謝謝您的指點,小弟將相關設定修正如下,請諸位先進看看觀念是否正確:
網路為ADSL共8個IP,扣除相關設定僅能使用五個(WAN_IP01~WAN_IP05).
以Linux當作Firewall網路簡圖如下:

Internet
  |
ADSL
  |
 Hub ---------(測試用DMZ網路)-----> Firewall(WAN_IP05,Linux)
  |
Firewall(WAIN_IP01,Linux,此段為正式使用之Network)
  |
Switch ------------------------> WWW-01(HTTP_IP01=>WAN_IP01)
       ------------------------> WWW-02(HTTP_IP02=>WAN_IP02)

設定Firewall如下(WAN_IP01,02對應HTTP_IP01,02)
iptables -t nat -A PREROUTING -p tcp -d WAN_IP01 --dport 20 -j DNAT --to HTTP_IP01
iptables -t nat -A PREROUTING -p tcp -d WAN_IP02 --dport 20 -j DNAT --to HTTP_IP02

煩請各位先進不吝賜教,也謝謝各位大人花時間閱讀這篇文章.Thanks!

Best Regards,
Bruce Yang