通过打洞来实现内网映射
创作时间:
作者:
@小白创作中心
通过打洞来实现内网映射
引用
1
来源
1.
https://blog.bbskali.cn/4058.html
在没有公网IP的情况下,如何实现内网设备的远程访问?本文将介绍一种通过打洞技术实现内网映射的方法,帮助读者在不修改光猫配置的情况下,实现内网设备的公网访问。
什么是打洞
在NAT1网络下,我们可以通过一种“打洞”的方式,将本地的TCP端口暴露至公网上,运行HTTP服务等。通过Natter打洞+防火墙的转发规则,我们可以方便地将内网设备暴露在公网。
实验环境
- 路由器(软路由)
- Centos7 (内网主机)
检验网络
首次使用,检查当前网络NAT情况。我们首先克隆项目到本地环境。
git clone https://github.com/MikeWang000000/Natter.git
cd Natter
# 检验网络
python natter.py --check-nat
如上图,没有任何报错的话。证明可以愉快的玩耍了。
大概率会失败的原因:你的家庭网络是NAT,不是NAT1.(目前大多数运营商网络都是NAT1)
牛刀小试
实验目的
通过外网,访问本地服务器(192.168.123.173:5244)alist云盘。
首先我们利用Natter脚本打洞
python3 natter.py -t 5244
-t即TCP协议。
上一步完成后,我们还无法访问。因为没有指定内网设备的IP和端口。因此我们需要在路由器中进行端口转发。
端口转发
登录路由器,在端口转发中设置参数如下:
当我们访问http://118.xxxx.xxxx.183:65317/便可以访问本地的5244端口。
多台设备打洞
在上述方法中,我们仅仅打通了5244端口。如果有多个端口和多台设备怎么办呢?或者路由器没有端口转发功能怎么办?
我们需要新建一个json文件。内容如下
// 注意:JSON配置文件不支持代码注释,此处为说明配置用途。
{
"logging": {
"level": "info", // 日志等级:可选值:"debug"、"info"、"warning"、"error"
"log_file": "./natter.log" // 将日志输出到指定文件,不需要请留空:""
},
"status_report": {
// 当外部IP/端口发生改变时,会执行下方命令。
// 大括号 {...} 为占位符,命令执行时会被实际值替换。
// 不需要请留空:""
"hook": "bash ./natter-hook.sh '{protocol}' '{inner_ip}' '{inner_port}' '{outer_ip}' '{outer_port}'",
"status_file": "./natter-status.json" // 将实时端口映射状态储存至指定文件,不需要请留空:""
},
"open_port": {
// 此处设置Natter打洞IP:端口。(仅打洞)
// 此处地址为Natter绑定(监听)的地址,Natter仅对这些地址打洞,您需要手动设置端口转发。
// 注意:使用默认出口IP,请使用0.0.0.0,而不是127.0.0.1。
"tcp": [
"0.0.0.0:3456",
"0.0.0.0:3457"
],
"udp": [
"0.0.0.0:3456",
"0.0.0.0:3457"
]
},
"forward_port": {
// 此处设置需要Natter开放至公网的IP:端口。(打洞+内置转发)
// Natter会全自动打洞、转发,您无需做任何干预。
// 注意:使用本机IP,请使用127.0.0.1,而不是0.0.0.0。
"tcp": [
"127.0.0.1:80",
"192.168.1.100:443"
],
"udp": [
"127.0.0.1:53",
"192.168.1.100:51820"
]
},
"stun_server": {
// 此处设置公共STUN服务器。
// TCP服务器请确保TCP/3478端口开放可用;
// UDP服务器请确保UDP/3478端口开放可用。
"tcp": [
"stun.stunprotocol.org",
"stun.voip.blackberry.com"
],
"udp": [
"stun.miwifi.com",
"stun.qq.com"
]
},
"keep_alive": "www.qq.com" // 此处设置HTTP Keep-Alive服务器。请确保该服务器80端口开放,且支持HTTP Keep-Alive。
}
运行
python3 natter.py -c ./config.json
总结
利用此工具,我们可以很便捷地实现外网访问内网设备。但是当运营商IP发生变化时,还不能自动更新IP。因此可以参照前期的文章配合域名自动更新。此外,没有必要尽量不要将内网设备暴露在公网!
最后修改:2023 年 09 月 20 日
热门推荐
复旦大学破解流感病毒全球传播密码:航空流量成关键驱动因素
弗拉戈纳尔的《跷跷板》:洛可可艺术的最后辉煌
五路财神与古代拜年手势:传统中的智慧与礼仪
春节跪拜礼究竟是传统美德还是封建糟粕?
丰田汽车钥匙电池更换指南:步骤、准备与注意事项
2025年除夕不一般,有6大禁忌,提前熟悉,新一年为亲戚朋友祈福
明明诊断为房颤,为何医生给我使用抗凝血药物利伐沙班?
巴黎的纬度如何影响你的旅行计划?
巴黎夜空:2025年天文爱好者的观测指南
秋冬最美乡村游:探访现实版桃花源
陶渊明笔下的桃花源:现实与理想的碰撞
广州一德路:骑楼文化的守护者
新娘伞:从传统到现代的婚礼文化传承
红伞下的浪漫:新娘出嫁的秘密武器
深圳建行周末营业时间全攻略:9点到16点,对公业务暂停
深圳建行周末理财攻略:这些业务都能办!
旅游名城和她背后的诗人——镇江篇
镇江醋文化博物馆:在“云端”向海外同胞传播中华优秀传统文化
百慕大三角:卢斯卡海怪之谜的深度探索
右转与直行车辆发生碰撞谁的责任
转弯未让直行,两车相撞!路口让行规则您真懂吗?
冲黄灯驾驶证扣几分罚款
如何通过饮食改善黑便?医生建议这样做!
吃菠菜也会拉黑便?真相揭秘!
何首乌的副作用

光明会蜥蜴人的真相:人类是否被蜥蜴人通过光明会控制?网络谣言
光明会蜥蜴人的真相:人类是否被蜥蜴人通过光明会控制?网络谣言
年末饭局多?这些职场敬酒词让你如鱼得水!
李白教你如何在酒局上用古诗词“装逼”
AI在电影后期制作中的应用与创新