nat是进出网络出口时,进行地址转换的技术,这里主要分享一下关于边缘节点场景,即pcdn常用到的nat类型检查。
nat类型主要分为四类,前三类可以归纳为Cone nat即圆锥型nat,第四类Symmetric nat则是对称性nat。
NAT1:Full Cone NAT:公网裸奔,和公网差不多
NAT2:Address-Restricted Cone NAT:有路由,基本不限制
NAT3:Port-Restricted Cone NAT:好出不好进
NAT4:Symmetric NAT:多层nat,限制最狠,nat4没有v6就是废节点
检测(这里以linux系统为主): cd /tmp 根据自身的cpu架构选择uname -m查看 x86 curl -o stun-client https://download.niulinkcloud.com/czl/tcpstunc_linux_amd64 aarch64 curl -o stun-client https://download.niulinkcloud.com/czl/tcpstunc_linux_arm64 armv7l curl -o stun-client https://download.niulinkcloud.com/czl/tcpstunc_linux_arm 获取文件后,给文件授予执行权限 chomd +x stun-client 执行获取,stun服务器:stun.niulinkcloud.com ./stun-client -D -H stun.niulinkcloud.com
Symmetric NAT:nat4

Full Cone:nat1(云主机一般都是nat1或者公网)

抓包报文:

也可以试试这个一键部署:
arch=arm; [ $(uname -m) = "aarch64" ] && arch=arm64; [ $(uname -m) = "x86_64" ] && arch=amd64; cd /tmp; curl -o gostun https://download.niulinkcloud.com/czl/gostun_linux_$arch; chmod +x gostun; ./gostun -H stun.miwifi.com
© 版权声明
文章版权归作者所有,未经允许请勿转载。