iT邦幫忙

0

destination NAT

nat
lolo 2012-01-17 20:05:135228 瀏覽

各位前輩您好:
小弟有個NAT設定想請教前輩,如下圖所示,NAT該如何讓internet上有兩個使用者可以存取到內部兩台不同的web server服務,如果存取兩個網址時DNS分別都是解析到此140.140.140.1的IP,那通信埠號剛好都是80port,那NAT Router如何知道是要存取web server1的80埠,還是web server2的80埠而將網頁回應給兩個internet的使用者?(靜態/動態/PAT?)
設定上我不太會!煩請各位前輩指令如何下,謝謝!!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
12
Ray
iT邦大神 1 級 ‧ 2012-01-17 21:15:16
最佳解答

外部 IP 相同, 外部 Port 號相同, 這樣當然分不出來你到底是要連哪一台啊...

要解決這個困境, 你有兩種方法可以用:

  1. 多加一個外部 IP, 一台用一個外部 IP, 就不會打架了
  2. 只用一個外部 IP, 但在 Router 和 Web Server 之間, 多加一台 Reverse Proxy Server, 這台 Reverse Proxy 會根據 User 連進來的 URL 內容, 判斷應該要丟給哪一台 Web 去服務.
lolo iT邦新手 4 級 ‧ 2012-01-20 16:51:38 檢舉

raytracy大大您好:
您說 {Reverse Proxy 會根據 User 連進來的 URL 內容,判斷應該要丟給哪一台 Web 去服務} ,而這URL 內容是指第一步user端送出的DNS查詢封包?還是等第一步DNS解析完,第二步user端送出的網頁要求封包?謝謝!

8
wiseguy
iT邦超人 1 級 ‧ 2012-01-17 21:42:40

假如

  1. 如果你的 buy.abc.com.tw 比較少用,
  2. 如果你的 www.abc.com.tw 是 apache
    那麼
  3. NAT 把 80 port 全導向 192.168.1.1 (www.abc.com.tw)
  4. www 那台的 apache 開啟 proxy module,加一個 VirtualHost:
    <VirtualHost *>
    ProxyPass / http://192.168.1.5/
    </VirtualHost>

這方法就是樓上 raytracy 所說的第 2 種方式,只不過拿其中一台 web server 來當 Reverse Proxy Server。

6

提供不同的思考

1.如果兩台Web內容物是一樣的
做Web server loadbalance

2.如果是不同,但同Domain
http://140.140.140.1:80-->Web1 port 80
http://140.140.140.1:81-->Web2 port 80

iT邦幫忙MVPjanuslin提到:
81

不符合樓主需求喔

^^ 所以才說是提供不同的思考啊

我要發表回答

立即登入回答