731 字
4 分钟
端口转发
什么是端口转发
端口转发(Port Forwarding) 是一种将特定网络端口上的流量从一个设备或网络转发到另一个设备或网络的技术。通常,端口转发在路由器或防火墙上配置,用于将外部访问请求引导到内部网络的特定设备或服务。
原理
端口转发的工作原理如下:
- 外部请求: 用户从互联网向路由器的公共 IP 地址发送请求,并指定特定端口(如 http://<公网IP>:8080)。
- 路由器处理: 路由器收到该请求后,根据配置的端口转发规则,将该请求转发到内网中指定的 IP 地址和端口(如 192.168.2.2:5244)。
- 服务响应: 内网设备处理请求并返回结果,通过路由器将响应数据发送回外部用户。
前提条件
- 内网有部署服务
- 拥有公网 IP 地址
- 有光猫的超级密码,且光猫支持端口转发,或者光猫更改为桥接模式,使用路由器拨号上网,并配置端口转发
光猫设置
我这里使用的是光猫进行拨号上网,所以需要进入光猫后台进行设置。一般情况下光猫背面标签有配置地址,以及用户名密码。但是这里通常是普通用户,没有权限进行设置。需要使用超级用户进行设置。
这里我是在闲鱼上购买服务,找人帮我获取到了光猫的超级密码,并将超级密码进行了固定。
以我的光猫型号中兴 G7615 为例
- 登录光猫后台 http://192.168.2.1/cu.html
- 选择 “高级配置” -> “NAT 设置” -> “虚拟主机配置”
- 填写
名称
、协议
、广域网起始端口
、广域网结束端口
、虚拟主机IP地址
、虚拟主机端口
- 名称:自定义,例如 AppleTV-alist
- 协议:TCP 或 UDP,根据你部署的服务类型选择
- 广域网起始端口:5244 公网访问的端口
- 广域网结束端口:5244 公网访问的端口
- 虚拟主机IP地址:192.168.2.2 内网服务部署的 IP 地址
- 虚拟主机端口:5244 内网服务部署的端口
- 点击 添加
如上添加完成后,如果你拥有公网 IP 地址,则可以通过 http://<公网IP>:5244
访问到内网中的服务。
如下图,我这里部署的是一个 alist 服务
最后
端口转发的配置,可以让你通过公网 IP 地址访问到内网中的服务。但是它也有一些缺点:
- 大多数家庭宽带没有公网 IP 地址,需要申请,且不一定能申请到
- 公网 IP 地址大多是动态的,所以你需要定期更新公网 IP 地址。 (可以使用 ddns-go 来解决)