• 欢迎访问愉悦人生,我会在这里分享一些我认为有趣的东西,欢迎关注!
  • 永远相信美好的事情即将发生!
  • 转眼间到了十一月中了,今年我好像长大了不少。
  • 今年可能是比较幸运的一年,得到了成长,得到了经验,还有一些别的东西!
  • 糊里糊涂的又把站点迁了一遍,顺便修复了一下问题
  • 春节回家,消失一段时间了。

OpenWRT/Lede下如何查看公网地址及设置端口映射/转发

经验分享 Nvito 1年前 (2019-01-14) 6132次浏览 0个评论

文章可能已经失去时效性,如有问题可在下方留言与我联系,文章最后更新于

文字水平有限,可能表达有误,望指出错误!感谢!

前言

最近有小伙伴问我,怎么样看自己家里有没有公网ip地址,感觉里面还是有点意思的,只是涉及的东西有点多,所以只能在这里大概讲一下什么是公网ip、私有ip。此篇的前提是IPv4。

公网/私有ip

你可能会发现在家里路由器分配给终端的ip地址往往是192.168.x.x的网段,就算你换了路由器也会是获取到192.168.x.x的ip,为什么呢?其实这个就是私有ip(内网ip)。私有ip有三种,分别是10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255 ,在公网上的路由器是没有这三个网段的路由表条目的,可以说是这三个网段在公网都不知道怎么走。

除这三个网段外的其他的ip“姑且”算为公网ip(这种说法不太正确,还有D类组播地址和E类保留地址),所以你大概知道什么是公网ip和私有ip了吗?

现在IPv4地址紧缺,很多运营商不会给你分配公网IP,但是大部分的用户是用不到公网ip,只需要满足他们能够正常上网的功能就足够了,所以就有一部分用户获取到的ip是私有网段的ip组成了一个大内网。

那么如果你家路由器获取到的ip是私有ip会怎么样呢?

简单来说就是数据流只能出不能进(对这个感兴趣的朋友可以了解一下nat技术),你只能从内网访问公网资源而不能公网访问内网资源,举个简单的例子,假如你在家里架设了一个网站web.com,你只能在你家里其他终端(手机、电脑等)访问web.com,而不能从你公司访问家里的web.com。总的来说,就是你需要在有互联网的地方就能访问到你家里的资源,那么你就要有个公网ip,现在你大致的了解了为什么需要公网ip了吧。(这段话不太准确)

查看是否公网ip

OpenWRT/Lede下如何查看公网地址及设置端口映射/转发

那么怎么查看自己有没有公网ip呢?以上图的网络结构为例。

运营商给个人用户的公网ip只有一个(除非你加钱),那么只有一个ip怎么给家里那么多终端设备上网呢?很简单,用路由器拨号,路由器开启dhcp功能,给lan口下的设备分配私有ip(路由器再进行一系列操作,Lan口下的终端就可以上网了),那么lan口ip就是路由器的管理地址(网关),wan口作为代表,连通全世界。所以只要查看wan口获取到运营商分配的ip地址和你访问外网的ip地址是否一致就能确认你是否拥有公网ip。

好了,讲了一大堆废话,下面看看自己是不是公网ip吧。

Openwrt只要进入管理页面就能看到wan口获取到的IP地址了,看看你的ip是不是上面提到的三类私有ip,如果在这三类地址的范围呢,那么就说明你没有公网ip(拨号的是路由器)。▼
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发

如果你路由器WAN口获取的不是私有ip,那么你还需要确定一下访问外网的ip是否和wan口ip相同,访问这个地址,对比一下。▼
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发

其实无论你是什么路由器,只要对比上面两点就可以知道你是否拥有公网ip了,不同的路由器wan口的信息界面不同而已,仔细找找肯定会有的。

什么是动态公网ip

运营商为了节省公网ip,往往会采取动态分配ip地址,也就是说,你的路由器获取到的ip地址会在一定的时间内变化,即使你的路由器没有断电也会重新分配。

那么就会产生一个问题了,万一我人在外面,家里的ip变了,我怎么在外面访问家里的资源呢?

动态域名解析DDNS,简单来说就是自动修改域名的解析记录:路由器检测本地公网IP与域名解析记录是否相同,如果不同,则通过域名服务商提供的API接口自动修改域名解析记录。这样即使IP一直变动,你也可以直接访问你的域名到达你需要访问的IP。

提供DDNS的域名服务商很多的,比如阿里万网、Dnspod、3322、花生壳、noip等等,这里就不继续详细的说明了。

Openwrt端口转发

配置完DDNS就可以随便的在外面访问家里的资源了吗?

答案当然是不行,你只有一个公网ip,家里那么多设备,路由器可不晓得你哪个设备要给到外网访问。并且路由器有防火墙,默认是拒绝所有入网口的流量的,所以你需要告诉你的路由器你哪台机器开放服务是什么。
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发
▲稍微解释一下上图

  1. 共享名:随便起,作识别作用,标记这条是干嘛用的
  2. 外部端口:建议从1025~65534中选择一个数字,在公网上使用这个端口访问,比如有一个网页想要放到外网去访问,这里外部端口填1234,那么你在公网上访问这个网页就要输入【域名:端口号】即web.com:1234
  3. 内部IP:服务器分配到的私有ip,即路由器lan网段的ip
  4. 内部端口:开放的服务端口,如网页:80、443;Telnet:23;Windows远程桌面:3389

举两个常用的例子

▼Windows远程访问
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发

▼外网访问路由器
OpenWRT/Lede下如何查看公网地址及设置端口映射/转发

一般宽带(连专线都封了),运营商是封了80端口(外部端口,内部端口不影响),如果你想要不加端口号访问网页,需要去打电话给运营商客服咨询开通端口。

一般的家用路由器的端口转发功能都比较简单,只要搞清楚需要填的东西是什么就可以了,我这应该挺清楚的了吧?


愉悦人生 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:OpenWRT/Lede下如何查看公网地址及设置端口映射/转发
喜欢 (6)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址