iT邦幫忙

0

Virtual server 和 Port forwarding 以及 loopback檢測 的問題

  • 分享至 

  • twitterImage

關於NAT下架站有幾個很基本但我卻很頭痛的問題,想請高手幫幫忙:

(1)在新的IP分享器裡面都有兩種功能-
Virtual server(虛擬伺服器)和port forwarding
兩種功能在使用情境的差別在哪裡呢?
不都是依據協定類型&埠號指向某個主機嗎?

(2)將tcp:80 port forwarding到子網中的 Web Server(192.168.1.100/24)後
192.168.1.0/24的其他主機是不是就無法使用tcp/80了?
那麼被占用的port會不會讓其他所有該網段的tcp/80流量都塞爆Web Server
而其他主機原先接收tcp/80都掛掉了?還是有什麼機制可以減少網段中的問題?
[問題的情境是這個網段裡面有其他主機的app會用到80 port]

(3)在做埠轉換的時候方向是怎麼走?想請教一下當我們上網的時候
以http(tcp/80)發送封包中80指的應該是Server端接收的port吧~
就是Browser向Web Server以tcp/80發送http的protocol來要求網頁,
那麼Server預設是以什麼protocol什麼port傳送出網頁回到client呢?

(4)承上,那麼client的browser又是用哪個port來監聽和接收網頁呢?

(5)有些低階的路由器沒有自我檢測loopback功能,
所以web server本身的browser輸入Public URL時,
會導向到自己的platform頁面而非Web Server下的Default www homepage
請問loopback檢測機制在這個lab環境下裡面做那些工作呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

7
wiseguy
iT邦超人 1 級 ‧ 2012-06-15 22:08:10
最佳解答
  1. IP分享器裡的 Virtual server 和 port forwarding 指的是同一件事。就是把外網連進來的某個 port 或某段 port 轉發到內網某台主機的某個 port 或某段 port。因為這種目的通常是當做 Web Service 或 FTP Server 等等,所以叫『Virtual server』比較容易懂。但如果不是要做服務的,比如 BT 或遠端桌面,叫 Virtual server 又怪怪的,所以只稱 port forwarding。

  2. 將tcp:80 port forwarding到子網中的 Web Server(192.168.1.100),跟其他主機的 tcp/80 port一點關係也沒有。

    1. http 連線時,client 以 1025~65535 隨機選擇的空閒 port 向 server 80 port 連線並發送 request,而 Server 就以同樣的這條連線做回應,根本不需要另開連線,client 也沒 port 可以連不是嗎。
  3. 你要檢查路由器的loopback功能,為什麼要從web server本身的browser輸入Public URL?不懂你做這個的目的。

Starbucks iT邦新手 5 級 ‧ 2012-06-16 01:24:48 檢舉

2.3.4. 你的意思是說:Client作request的source port,也和Sever作response的destination port是同一個嗎?以HTTP_REQUEST類似像是這樣:Client_TX[來源port隨機X,目的port80]->NAT/Router_TX[來源port隨機Y,目的port80]->SERVER處理後回傳->NAT/Router_RX[來源port80,目的Port隨機Y]->Client_RX[來源port80,目的Port隨機X]

5.對!我遇到的情況就是會進管理介面。我好奇的是比較高階的路由器是用什麼機制去發現應該去www而非管理介面? 本機可以用/etc/hosts的表知道127.0.0.1是host這件事情,那路由器是怎麼知道的呢? 是因為這兩種對本機伺服器網頁作request的封包不同嗎?
感謝大師回答!!

wiseguy iT邦超人 1 級 ‧ 2012-06-16 10:43:19 檢舉
  1. 當然是同一個,因為沒斷線啊,用同一個連線回應就好了,幹嘛大費周章重建一條連線,對吧。

  2. 本機並不是用/etc/hosts的表知道127.0.0.1是自己。它只是讓 user 可以方便打個 locclhost 就指向 127.0.0.1。TCP/IP 協定中,127.0.0.1 就是代表自己。不過這跟路由器辨識內外網無關。它在封包中只有看到 IP 與 port,一般都是只要 IP 來自內網,port 就是自己的 web 管理 port 時,那就開管理頁面,不再做 port forwarding,因為它認為內網要連內網,就直接連內網 IP 即可。不需要連外網再 forwarding 進來,這是多此一舉的事,而且大部份都不會成功。

我要發表回答

立即登入回答