来我现在挨个回答各个问题
1.运营商边缘路由器是一大堆人共享,他不会给任何人做任何映射,他上面唯一能给你保证的就是只有src-nat,就是把你这一大堆各种乱七八糟的私有内网ip做NAPT出去变成公网IP
2.不光是运营商边缘路由器,还有整个一路的各种防火墙都可能给你屏蔽掉关键的协议以及端口,比如UDP 4500 500 GRE协议等等,这一点也不奇怪,后面我会告知如何去判断这些,其实作为一个合格的网络工程师,自己很容易想各种办法去测试这些,比如用telnet测试tcp端口,用netcat测试udp端口,再不行,直接从对端建立ROS服务,这边发起连接可以测试出中间这一路是否对某些协议做出了限制
我目前主要用到的协议时GRE 以及UDP 4500,所以我暂时就测试到底从我这边的pc客户端能否突破层层封堵到达对方
UDP 4500 用netcat协议测试是通的,当然你不能过分相信netcat的测试结果,毕竟udp协议的测试和tcp不太一样,tcp测试结果基本是100%可信的,udp这个随后我会在对端用ros建立测试环境,同时测试gre协议的连通性.
C:\netcat nc -vuz 47.104.193.111 69
47.104.193.111: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [47.104.193.111] 69 (tftp) open
C:\netcat nc -vuz 47.104.193.111 4500
47.104.193.111: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [47.104.193.111] 4500 (ipsec-msft) open
以上是不是回答了你第二段所有的问题,也就是究竟边缘路由器有何策略?这些一方面是不必去操心,一方面你也无法知晓,你唯一能知道的就是他做了src-nat(napt),其他的需要你自己测试了,而且不仅限于边缘路由器,整个到达最终目的ip的这一路的防火墙,路由器均如此.
3.我再回答一下关于你最后一段话,你可能理解不了为什么可以ping通但无法访问,这其实很容易理解,因为只要对端47.104.193.111所在的防火墙或者路由器,有合理的设置(具体啥设置你可以猜一猜,呵呵),他是可以代为响应icmp的,
但他无法代为响应那些tcp服务,比如web ssh,所以最终体现为可以ping通47.104.193.111 但无法web ssh上去
这里再同时解释一下为啥我无法web ssh上去,而其他ip这时间里可以上去呢?因为VMC服务器172.31.4.51把和RAP同一个公网ip所有发来的数据包都当做是rap发来的,给回传到错误地方去了(你猜他都给传哪里去了?) 而其他公网ip的,因为他们没去和rap一样去VMC上捅篓子,所以VMC正常的把数据包发回了,所以可以访问,RAP在VMC上捅的篓子造成所有和他一个公网ip的全部跟着遭殃,这就是结果,呵呵!
服务热线
130-6262-9899