域名端口映射怎么设置
域名端口映射,域名映射说白了就是端口让外网访问你内网某台机器上的某个服务。比如你在家里搭了个Web服务器,设置跑在8080端口,域名映射但外网只能通过80或443进来——中间这层转换,端口就是设置端口映射干的活。 很多人第一次接触这概念,域名映射八成是端口因为想从公司连回家里的NAS,或者给朋友分享自己写的设置测试项目。结果发现路由器后台一堆选项,域名映射什么虚拟服务器、端口端口转发、设置DMZ、域名映射UPnP,端口看着就头大。设置我当初也是这样,折腾了两个晚上才搞明白。 不是所有宽带都能做端口映射。国内三大运营商,电信和联通大部分地区还能拿到公网IP,移动宽带基本别想——它给你的是大内网地址,100.64开头的,映射了也没用。怎么判断?登录路由器看WAN口IP,如果和百度搜索“IP”显示的地址一致,恭喜你,有公网IP。不一致的话,要么打电话找运营商要,要么用内网穿透工具,那是另一条路。 我自己的电信宽带,打客服电话说要装监控,对方就给开了公网IP。态度好点,理由正当,一般都给办。 假设你已经确认有公网IP,接下来进路由器管理页面。通常地址是192.168.1.1或192.168.0.1,账号密码在路由器背面贴着。进去之后找“端口转发”或“虚拟服务器”,不同品牌叫法不一样。TP-Link叫虚拟服务器,华硕叫端口转发,小米叫端口映射——功能都一样。 添加规则的时候,需要填几个东西:外部端口、内部端口、内部IP地址、协议类型。举个例子,你想把内网192.168.1.100的8080端口暴露到外网的80端口,那就填外部端口80,内部端口8080,IP填192.168.1.100,协议选TCP。保存生效。 这里有个坑:外部端口不能和路由器自身管理端口冲突。比如你把外部端口设成80,但路由器管理页面也占着80,那就乱套了。换个外部端口,比如8081,访问的时候加端口号就行。 设置完发现还是连不上?先检查内网机器本身的防火墙。Windows Defender默认会拦掉入站连接,你得手动放行对应端口。Linux上用iptables或者firewalld,规则没写对照样不通。 另一个常见问题是运营商封了80和443端口。很多地区电信默认屏蔽这两个端口,防止你私自搭网站。解决办法很简单,外部端口换成非标准端口,比如8080、8443,访问时带上端口号。虽然网址后面多个尾巴不太好看,但能用就行。 我帮朋友配过一次,他非要外网访问用80端口,折腾半天才发现是运营商封了。换成8090立马通。这种事没地方说理去。 公网IP还不是固定的,重启光猫就可能变。今天映射好了,明天IP一换,外网又连不上。这时候需要DDNS——动态域名解析。路由器一般都内置了花生壳、No-IP这些服务商的支持,注册个账号,填进去,以后用域名访问就行,IP变了自动更新。 花生壳免费版够用,就是偶尔抽风。No-IP要每30天手动确认一次,忘了就失效。我自己用的Cloudflare DDNS,配合脚本更新,稳定得很,但配置稍麻烦。看你怎么取舍。 内网穿透是最后的选择。frp、ngrok、ZeroTier这些工具,原理是在公网服务器上搭个中转,把内网服务暴露出去。frp需要自己有台VPS,配置稍微复杂但速度快。ZeroTier更简单,装完客户端组个虚拟局域网,跟直连差不多。 我用frp给家里的GitLab做了映射,外面访问速度取决于VPS带宽。阿里云最低配的轻量服务器,一个月24块,够用了。延迟肯定比直连高,但至少能用。 端口映射这事,说难不难,说简单也不简单。核心就是搞清楚数据包从外到内怎么走,中间哪一环节断了。路由器、防火墙、运营商、IP类型,挨个排查,总能找到问题。先搞清楚你的网络环境
路由器里的设置才是关键
防火墙和运营商还可能拦你
动态IP的麻烦事
实在没有公网IP怎么办
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-