曾经在https://blog.csdn.net/bisal/article/details/42496583这篇博文中提到一个端口连接的验证: “ora10g@localhost.localdomain$telnet 172.101.19.57 1521 通过实验再次说明下“Connection refused”和“No route to host”的区别和问题诊断思路。 首先,网上有篇帖子说明“Connection refused” vs “No route to host”(https://superuser.com/questions/720851/connection-refused-vs-no-route-to-host): "Connection refused" means that the target machine actively rejected the connection. With port 80 as the context, one of the following things is likely the reason: 一个实验模拟: 客户端机器ip:172.1.1.1 目标机ip:172.1.2.1 1. 从客户端telnet目标机的一个已启动端口1521,但防火墙中未添加例外。 从172.1.1.1 telnet 172.1.2.1 1521,提示no route to host。 Trying 172.1.2.1... telnet: connect to address 172.1.2.1: No route to host 在防火墙配置中iptables添加1521端口,telnet正常。 2. 从客户端telnet目标机的一个未启动监听的端口 172.1.2.1的10001端口没有启用,netstat -an | grep 10001不存在。 从172.1.1.1 telnet 172.1.2.1 10001,提示connection refused。 Trying 172.1.2.1... telnet: connect to address 172.1.2.1: Connection refused 结论:说明No route to host是防火墙的返回,先经过防火墙,不管端口有没有。然后如果通过了防火墙,但监听未启动,则提示Connection refused的错误。 |