[問答] router裡的internal port作用

看板Network作者 (James)時間5年前 (2019/05/12 19:29), 編輯推噓1(106)
留言7則, 3人參與, 5年前最新討論串1/1
各位大大好 我並非相關科系也沒相關知識背景 是資訊新手 所以如果有名詞錯誤或觀念錯誤請多包涵 最近在設定網路時 碰到一些問題 查了google後產生更多問題 (T_T) 我目前有一個疑問是關於router設定頁面裡的internal port(virtual server setting) 我主要的問題是internal port是用來做甚麼 家裡面的網路架構是 Internet -> D-Link -> TP-Link -> 筆電 根據我Google查詢的結果我的觀念是 當外界傳送封包至 D-Link 時其目的網址假設為 12.34.56.78:1234 此時會 根據D-Link會根據port 1234對應哪個私有IP進行下一級網路傳送 我們假設此 外部port對應的私有IP為192.168.1.102 則此封包會被轉譯成 192.168.1.102:1234 封包到達TP-Link時 此封包再度轉譯成192.168.0.103:1234 封包再度傳送至筆電給接收 筆電OS再根據port:1234給相對應的應用程式封包裡真正的內容 以上是我Google查到的 不知道觀念上有沒有錯? 此時我完全沒有碰到internal port的設定 甚至再TP-Link裡 這個欄位的提式還可以 leave it blank 這讓我百思不得其解 是代表這個欄位可有可無嗎? 可是這時我做了一個實驗設定如下: (1) D-Link internal_ip:192.168.1.102 internal_port:5000 external_port:5000-65535 () TP-Link internal_ip:192.168.0.103 internal_port:5000 service_port:5000 首先先確保 我筆電可以連接至yahoo/google (確認OK) 之後 在WINDOWS筆電裡做一個server bind在192.168.0.103:5000 利用手機做無線分享至另一台MAC筆電 同時MAC筆電有client連至12.34.56.78:5000 (P.S. 手機IP是4G的 沒有吃WIFI) WINDOWS筆電可以收到來自MAC封包 (確認OK) 之後 把server bind在另一個port 4999而TP-Link不變 或者server bind不變而TP-Link的internal port設為4999 此兩種case 都不會連線 所以猜測 internal port 是跟 bind的 port有關 總結問題: 收外部封包時 如果要做port forwarding 感覺只要設定好分享器的service port(external port) 跟internal ip就好 可是 更改TP-Link的internal port又會影響筆電連線 我有點搞不懂 internal port的功用 (1) NAT轉譯時 當接受外部封包時 internal port影響到destination port嗎? 我覺得是不行 因為亂改目的地的port 比如說明明連線port 21/22要抓FTP 可是分享器卻改header 這樣就不行 可是根據上面實驗 TP-Link又需要跟server端的port一致 白話一點就是 舉例來說 D-Link: external port: 5000-65535 internal ip: 192.168.1.102 internal port: 5000 TP-Link: service port: 5001 internal ip: 192.168.0.103 internal port: 4999 Server: bind (192.168.0.103, 4999) client: send (12.34.56.78:5001) 這樣是可以連線 可以推論出 D-Link internal port不影響header 可是當我把server bind 5001 時不能連線 這讓我又覺得好像 internal port 又會影響連線 看D-Link的預設 都會把internal port跟external port設為一樣 上網查internal port又好少資料 一大堆port forwarding但是 又說要設一樣 也沒說為什麼要一樣 所以到底internal port的功用與影響是甚麼? 謝謝各位大大的解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.72.149 ※ 文章網址: https://www.ptt.cc/bbs/Network/M.1557660594.A.595.html

05/13 22:08, 5年前 , 1F
沒規定port要一樣呀,你可以外部80對應內部的8080
05/13 22:08, 1F

05/14 10:16, 5年前 , 2F
先加強資訊背景相關知識如何?你把server listen port和
05/14 10:16, 2F

05/14 10:17, 5年前 , 3F
port forwarding全都混在一起而且似懂非懂
05/14 10:17, 3F

05/14 10:19, 5年前 , 4F
你的問題簡單來說就是internal port當然可以跟external
05/14 10:19, 4F

05/14 10:20, 5年前 , 5F
不一樣,但server listen port要跟internal port一樣
05/14 10:20, 5F

05/14 10:21, 5年前 , 6F
不然你的外對內服務會連不到
05/14 10:21, 6F

06/13 10:21, 5年前 , 7F
若你非本科 卻從事資訊職 勸你努力苦修 不然會很慘
06/13 10:21, 7F
文章代碼(AID): #1Ss0EoML (Network)
文章代碼(AID): #1Ss0EoML (Network)