作者LeJ23 (James)
看板Network
标题[问答] router里的internal port作用
时间Sun May 12 19:29:52 2019
各位大大好
我并非相关科系也没相关知识背景 是资讯新手 所以如果有名词错误或观念错误请多包涵
最近在设定网路时 碰到一些问题 查了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://webptt.com/cn.aspx?n=bbs/Network/M.1557660594.A.595.html
1F:→ guardlan: 没规定port要一样呀,你可以外部80对应内部的8080 05/13 22:08
2F:→ deadwood: 先加强资讯背景相关知识如何?你把server listen port和 05/14 10:16
3F:→ deadwood: port forwarding全都混在一起而且似懂非懂 05/14 10:17
4F:→ deadwood: 你的问题简单来说就是internal port当然可以跟external 05/14 10:19
5F:→ deadwood: 不一样,但server listen port要跟internal port一样 05/14 10:20
6F:→ deadwood: 不然你的外对内服务会连不到 05/14 10:21
7F:推 TPPCMAN: 若你非本科 却从事资讯职 劝你努力苦修 不然会很惨 06/13 10:21