stun服务器是用于检测网络类型的重要工具。
源码地址:
或者:
tar -zxvf stund-0.97.tgzcd stundmake
结果可以看到生成了client和server两个可执行文件。然后用client测试一下自己的网络类型:
[root@lh stund]# ./client stun.xten.com 0STUN client version 0.97running test number 0Primary: Dependent Mapping, preserves ports, no hairpin Return value is 0x000019
一看和自己掌握的NAT类型并不相符啊,通过查询资料,结果应该如下:
1. 通过判断"映射是否独立",来判断网络是锥型还是对称型,上面结果显示"Dependent Mapping"应属于对称型;
2. 判断端口是否保持(局域网内端口和NAT后的端口是否一致),结果是"preserves ports"看来NAT映射前后端口一致;
3. "hairpin"(内网通过外网端口访问内网服务),结果是"no hairpin"表示不能。
依据:
Independent Mapping, Independent Filter = Fullcone NAT
Independent Mapping, Address Dependent Filter = Restricted Cone NAT Independent Mapping, Port Dependent Filter = Port-Restricted Cone NAT Dependent Mapping = Symmetric NAThairpin:NAT设备是否支持不同端口之间的UDP数据包能否到达
另外还可以通过:
中标识的信息,结合NAT网络类型的特点(),确定自己的网络类型。
参考网址: