關於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環境下裡面做那些工作呢?
IP分享器裡的 Virtual server 和 port forwarding 指的是同一件事。就是把外網連進來的某個 port 或某段 port 轉發到內網某台主機的某個 port 或某段 port。因為這種目的通常是當做 Web Service 或 FTP Server 等等,所以叫『Virtual server』比較容易懂。但如果不是要做服務的,比如 BT 或遠端桌面,叫 Virtual server 又怪怪的,所以只稱 port forwarding。
將tcp:80 port forwarding到子網中的 Web Server(192.168.1.100),跟其他主機的 tcp/80 port一點關係也沒有。
你要檢查路由器的loopback功能,為什麼要從web server本身的browser輸入Public URL?不懂你做這個的目的。
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的封包不同嗎?
感謝大師回答!!
當然是同一個,因為沒斷線啊,用同一個連線回應就好了,幹嘛大費周章重建一條連線,對吧。
本機並不是用/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 進來,這是多此一舉的事,而且大部份都不會成功。