中国移动获取公网IP
如果你和我一样是移动大内网的宽带,如何获取公网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检测工具,检测一下,就可以看到对应的结果。

接着,进入我们的路由器,新开一个端口转发。以我内网的主页服务为例 将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类型测试工具

值友5981256411
校验提示文案
闻人微澜
另外挂个旁路由或者在群晖里面做,也有很多 DDNS 的插件,小白直接部署配置就行,更简单。
校验提示文案
起个名字真费劲啊啊
校验提示文案
usee00123
校验提示文案
befantasy
校验提示文案
楼内烟花楼外戏
校验提示文案
wblylh2
校验提示文案
就走你的独木桥
校验提示文案
hc313
校验提示文案
伟哥9988
校验提示文案
肆欲妄行
校验提示文案
沉默的眼睛
校验提示文案
敲和尚的小木鱼
校验提示文案
九度十二分
校验提示文案
梧桐岗
校验提示文案
Kenneth_Lai
校验提示文案
monitor20
校验提示文案
mymio
校验提示文案
王子青蛙JN
校验提示文案
Lostedman
校验提示文案
值友2917135697
校验提示文案
短腿小卤蛋
校验提示文案
TOP_核桃
校验提示文案
九度十二分
校验提示文案
醉鸡爪
校验提示文案
绯红的板砖
校验提示文案
值友5438759755
校验提示文案
v花舞清风v
校验提示文案
闻人微澜
另外挂个旁路由或者在群晖里面做,也有很多 DDNS 的插件,小白直接部署配置就行,更简单。
校验提示文案
摸鱼划水
校验提示文案
鱼大脸plus
校验提示文案
值友1394621235
校验提示文案
值友7780971844
校验提示文案
独酌山外小阁楼
校验提示文案
啥啥啥也不懂
校验提示文案
下雨不打伞啊
校验提示文案
虾仔7211
校验提示文案
值友1613642816
校验提示文案
敲和尚的小木鱼
校验提示文案
happyguy
校验提示文案