中国移动获取公网IP

2024-05-31 17:03:12 69点赞 810收藏 94评论

如果你和我一样是移动大内网的宽带,如何获取公网ip呢,这篇文章可能会帮到你。

以我个人使用场景为例

主要用于ipv4的组网和下载

以目前常见的公网ip转发为例,假设,我们内网 192.168.6.16的80端口提供了一个内网主页的服务,我们路由器通过设置8139端口 即可通过动态公网ip+8139端口访问到我们内网主页。

而通过穿透的方式获取的话,我们会得到一个动态ip+动态端口的服务地址,为我们提供内网的服务。

ip方面,我们可以正常使用ddns,进行相应的解析。

而端口方面,我们在教程中将会采用微信等通知方式进行处理,当IP与端口发生变化时,我们的微信将会收到最新的ip与端口信息。

这个ip 与端口重置过程一般是3-7天一次。

而服务的稳定性方面不用担心,我从部署到现在已经使用了半年左右

准备工作

在正式进入教程之前,大家需要对路由器进行设置。 1.开启full cone,其他设备下大家查找对应的教程 ros对应的开启命令如下

/ip firewall nat add action=endpoint-independent-nat chain=srcnat out-interface=pppoe-out1 protocol=udp
/ip firewall nat add action=endpoint-independent-nat chain=dstnat in-interface=pppoe-out1 protocol=udp

输入完成后,在ros中,将相关命令放到伪装条目的上方,

开启后,利用nat检测工具,检测一下,就可以看到对应的结果。

中国移动获取公网IP

接着,进入我们的路由器,新开一个端口转发。以我内网的主页服务为例 将51920转发至192.168.6.16 的80端口为例

/ip firewall nat add action=dst-nat chain=dstnat protocol=tcp dst-port=51920 to-addresses=192.168.6.16 to-ports=80

在ros中直接输入命令,即可设置完成

打开我们的pve控制台,克隆一个lxc机器。 其他发行版linux应该也可以,推荐使用ubuntu。 将我们资源包中的程序核心上传至home文件夹

输入以下命令

cd /home && chmod u+x natmap && mv natmap /usr/local/bin/

然后输入

natmap -4 -s stunserver.stunprotocol.org -h qq.com -b 51920

当我们看到对应的提示后,第一个字段是我们的公网ip,第二个字段是获取到的端口号。此时,端口已经映射成功。

我这里用手机的网络简单的测试一下,可以看到,已经可以打开,证明我们的网络是可以使用相关服务的。

接着,我们来制作一个开机自启服务

touch /etc/systemd/system/natmap1.service

[Unit] Description=NAT Mapping Service After=network.target [Service] ExecStart=/usr/local/bin/natmap -4 -s stunserver.stunprotocol.org -h qq.com -b 51920 Restart=always SyslogIdentifier=natmap [Install] WantedBy=multi-user.target

制作完成后,通过以下命令来启动它

sudo systemctl daemon-reload sudo systemctl enable natmap1.service sudo systemctl start natmap1.service

至此,我们的服务已经制作好了,但是我们也不能每次查看日志的方式,看我们的ip和端口是多少,这时候,我们通过机器人来通知我们,当ip与端口进行更换的时候,提醒我们,最新的ip和端口是多少。

这里我们采用微信机器人的方式进行通知 我们在home文件夹下,新建一个名称为natmap1-wx.sh的脚本文件,内容包含以下信息

#!/bin/bash address=${1} PORT=${2} # 微信机器人Webhook URL webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_WEBHOOK_KEY" # 要发送的消息内容 message="最新的地址为${1}:${2}" # 发送通知消息 curl -H "Content-Type: application/json" -X POST -d "{"msgtype": "text", "text": {"content": "$message"}}" $webhook_url

创建完成后,我们赋予它可执行权限

chmod +x /home/natmap1-wx.sh

修改第一步中创建的启动文件内容为

[Unit] Description=NAT Mapping Service After=network.target [Service] ExecStart=/usr/local/bin/natmap -4 -s stunserver.stunprotocol.org -h qq.com -b 6010 -e /home/natmap1-wx.sh Restart=always SyslogIdentifier=natmap [Install] WantedBy=multi-user.target

这时候,我们重启一下机器,就可以在微信中接到相关的通知了。

以上就是简单的一个tcp端口映射,部署完成后,就不用再去管理了,机器重新拨号后,该服务也会获取到最新的ip和端口的。

接着我们来进行 udp的端口映射

接着,我们来制作一个开机自启服务

touch /etc/systemd/system/natmap2.service

[Unit] Description=NAT Mapping Service After=network.target [Service] ExecStart=/usr/local/bin/natmap -4 -u stunserver.stunprotocol.org -h qq.com -b 6023 Restart=always SyslogIdentifier=natmap [Install] WantedBy=multi-user.target

制作完成后,通过以下命令来启动它

sudo systemctl daemon-reload && sudo systemctl enable natmap2.service && sudo systemctl start natmap2.service

这里我们采用微信机器人的方式进行通知 我们在home文件夹下,新建一个名称为natmap2-wx.sh的脚本文件,内容包含以下信息

#!/bin/bash address=${1} PORT=${2} # 微信机器人Webhook URL webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_WEBHOOK_KEY" # 要发送的消息内容 message="最新的地址为${1}:${2}" # 发送通知消息 curl -H "Content-Type: application/json" -X POST -d "{"msgtype": "text", "text": {"content": "$message"}}" $webhook_url

创建完成后,我们赋予它可执行权限

chmod +x /home/natmap2-wx.sh

修改第一步中创建的启动文件内容为

[Unit] Description=NAT Mapping Service After=network.target [Service] ExecStart=/usr/local/bin/natmap -4 -s stunserver.stunprotocol.org -h qq.com -b 6023 -e /home/natmap2-wx.sh Restart=always SyslogIdentifier=natmap [Install] WantedBy=multi-user.target

制作完成后,通过以下命令来启动它

sudo systemctl daemon-reload && sudo systemctl enable natmap2.service && sudo systemctl start natmap2.service

当然,除了文章中提到的natmap工具,lucky也可以帮助大家实现这样的功能,有兴趣的朋友可以研究一下。
资源包内容与地址:

链接:https://pan.quark.cn/s/c1d22910dba7提取码:8su1

natmap

nat类型测试工具

展开 收起
94评论

  • 精彩
  • 最新
  • 置顶 看不懂的可以自己搜索natmap,自己看看这是什么意思,然后再来喷楼主,简单讲就是你迅雷下载时会有个p2p加速,这个p2p加速就是类似这个技术进行客户端打洞,将你内网的服务通过打洞映射到公网端口上,然后别人下载时就会直接访问这个地址和端口来达到直连效果,这个工具就是帮你做到这个效果的,即便你没有公网ip

    校验提示文案

    提交
    哎,主要我只放操作没放原理,就很容易被喷。nat的原理 主要我技术有限,怕讲了也讲不明白,就没写

    校验提示文案

    提交
    [高兴] 严格意义不算公网ip啊

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 友善提醒一下,下次标题可以改成移动公网 IP 动态域名解析,并通过微信获取通知。 现在的标题大家都以为是如何申请获取移动公网 IP。
    另外挂个旁路由或者在群晖里面做,也有很多 DDNS 的插件,小白直接部署配置就行,更简单。

    校验提示文案

    提交
  • 这文章语句就不是人类写的

    校验提示文案

    提交
    哈哈 纯粹我手写,本来做我的视频稿子的

    校验提示文案

    提交
    移动能获得公网ip吗

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 标题党,说了一大堆都没有说公网IP谁提供的

    校验提示文案

    提交
    你也是11年的老值友了,上来就是标题党?公网ip 移动提供的。大家上网肯定要有公网ip才可以,就看你的nat类型是第几层。

    校验提示文案

    提交
    必要条件是在当地移动网络的 大内网,没有穿透限制。 如果大家的网络在多层网络的底层,无法进行多层穿透。 再想办法找个支持“开启full cone”的光猫。

    校验提示文案

    提交
    收起所有回复
  • 这叫什么获取公网IP…照你这么说,一切代理,vpn,内网穿透都叫获取公网ip了。

    校验提示文案

    提交
    这个东西的原理,类似于在你光猫的上层开了一个端口映射,用的确实是移动的公网ip地址。这个软件得到的地址和你测试本地ipv4公网的地址是相同的。

    校验提示文案

    提交
    收起所有回复
  • 和直接用lucky有什么区别吗?还是说这个可以固定外网端口?

    校验提示文案

    提交
    没区别的,就是我想自定义一些脚本的

    校验提示文案

    提交
    比直接用lucky麻烦

    校验提示文案

    提交
    收起所有回复
  • 看不懂啊!什么路由器可以这么玩

    校验提示文案

    提交
    软路由都可以这么玩

    校验提示文案

    提交
    收起所有回复
  • 搞复杂了,用大吉 +cf worker 就可搞定

    校验提示文案

    提交
    其实 习惯linux还好,一个核心,一个启动文件。 主要是ros

    校验提示文案

    提交
    收起所有回复
  • 倒还真没想到用微信通知方式,之前用natmap映射pt端口后上传一下子跑上来了

    校验提示文案

    提交
    曲线救国 下一篇准备做pt自动更换端口

    校验提示文案

    提交
    不光微信,其他的通知渠道都可以自己写,这里面就是举个例子,不过,要会一点基础的脚本

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 难度很大 [喜极而泣] 还很麻烦

    校验提示文案

    提交
    有比没有强啊

    校验提示文案

    提交
    收起所有回复
  • 不折腾了,用了向日葵的X1做旁路由,组VPN,公网的好处哪都能上,但也不够安全。

    校验提示文案

    提交
    哈哈,我也是习惯自己组网

    校验提示文案

    提交
    收起所有回复
  • 看起来像跨网络的upnp,不知道理解的对不对。目前用的电信有公网IP,也在用zerotier,等换移动了可以试试。

    校验提示文案

    提交
    类似这种,我感觉有点像在公网上映射了一个ip和端口

    校验提示文案

    提交
    收起所有回复
  • 好多年没在大妈见到这么硬的文章了

    校验提示文案

    提交
    下一期更硬,感谢大佬关注

    校验提示文案

    提交
    收起所有回复
  • 这基本就是标题党,移动需要公网IP的话,用ipv6就行了

    校验提示文案

    提交
    *** 多看看文章,自己动手试试,上来就喷标题党,我真是服了

    校验提示文案

    提交
    文中的方法,和我说的ipv6,哪个是真正的公网IP呢? [不说话]

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 重新定义获取公网IP??

    校验提示文案

    提交
  • 除了专网和企业网,移动家宽是没有公网的,文章说来说去就是 端口转发

    校验提示文案

    提交
    移动家宽有公网,极少数。我10年前宽带申请到,现在好像没有了。可以15播 15个ip

    校验提示文案

    提交
    移动家宽有公网,比如北京

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 通过打洞的方式在互联网出口动态ip上占据一个动态端口号,也是个办法,ip是随机的,端口也是随机的,自用倒是还行, [惊喜]

    校验提示文案

    提交
  • 我再说清楚一下,你以为你是用网商的ip,其实你是用第三方的ip,你以为你是用网商的端口,其实inigo用是第三方的端口

    校验提示文案

    提交
  • 看了很多类似的所谓技术文,我明白一个道理,作者压根就没想读者看懂,不写原理,上来就是步骤,每一步为啥要这么做,读者那边情况有变化应该怎么改之类的问题也说的不清不楚的,平台审核也不懂,就觉得高大上,就给通过了。楼主,你这篇文章我真的没看懂,你的题目说移动网络获取公网地址,就因为我没看懂所以我不敢说你的题目算不算标题党。那么你敢不敢白话简单明了的说一下,你说的公网地址是谁给的,是移动给的吗,如果是的话,据我所知移动通常不给公网地址,你这又是什么原理让移动给了呢,如果不是移动给的,麻烦你把你的题目改掉!

    校验提示文案

    提交
  • 你这技术难度也太高了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
目录
810
扫一下,分享更方便,购买更轻松