我们无法从Azure中的虚拟机(Ubuntu 13.10)连接到外部资源。超时后连接中断或以后连接很多时间。
Traceroute显示网络存在问题。只有TTL大于20转才能连接资源。
traceroute to email-smtp.us-east-1.amazonaws.com (54.243.69.182), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 ec2-54-243-69-182.compute-1.amazonaws.com (54.243.69.182) 84.343 ms 81.948 ms 81.601 ms
尝试将默认DNS更改为8.8.8.8,没有帮助。
com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Connection timed out
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:213)
at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
答案 0 :(得分:0)
Azure会阻止ICMP协议,因此您将无法使用traceroute
或ping
。尝试使用以下内容测试连接:
nc -vz -w 1 54.243.69.182 22
或者如果你想模仿重复ping的行为怎么样:
while true; do nc -vz -w 1 54.243.69.182 22; sleep 1; done
良好的输出示例:
Connection to 54.243.69.182 22 port [tcp/ssh] succeeded!
错误的输出示例:
nc: connect to 54.243.69.182 port 22 (tcp) timed out: Operation now in progress
确保您 EC2安全组中的Azure主机IP已打开端口(本示例中为22)。另请注意, Azure分配外部IP地址如果您停止并启动VM,则可能会更改(除非您为其分配虚拟IP)。这是从Azure主机的命令行中找到Internet IP地址的一种很好的方法:
curl http://ifconfig.me/