我们无法从 LAN 内部连接到特定的外部服务器。
但是,我们可以从局域网外部、家中或使用手机连接到同一台服务器。几个月来它一直运行良好,但有一天它停止工作了。我不知道它停止工作时到底发生了什么变化。
我正在尝试开发一个程序来解决这个问题并查明问题所在。
该服务器是托管的 CentOS vps。如果我从我们的 LAN 内部 ping 它的 3 个 IP 地址中的任何一个,ping 都会超时。如果我尝试连接到 vps 上的 Web 服务器,它会超时。如果我执行 tracert,我会得到以下结果:
Tracing route to static-161-150-73-69.nocdirect.com [69.73.150.161] over a maximum of 30 hops:
1 * * * Request timed out.
2 * * * Request timed out.
3 34 ms 10 ms 30 ms 96.120.4.229
4 10 ms 12 ms 8 ms xe-11-1-0-32767-sur01.n4atlanta.ga.atlanta.comcast.net [68.85.68.61]
5 9 ms 15 ms 12 ms xe-9-0-2-0-ar01.b0atlanta.ga.atlanta.comcast.net [68.86.106.182]
6 14 ms 23 ms 23 ms he-5-12-0-0-10-cr01.56marietta.ga.ibone.comcast.net [68.86.93.125]
7 16 ms 15 ms 15 ms pos-0-1-0-0-pe01.56marietta.ga.ibone.comcast.net [68.86.86.86]
8 21 ms 12 ms 16 ms 173.167.57.134
9 * 19 ms 18 ms ae3-20g.cr2.atl1.us.nlayer.net [69.31.135.165]
10 18 ms 13 ms 16 ms as46562.ae6-1677.cr2.atl1.us.nlayer.net [198.47.120.146]
11 11 ms 16 ms 25 ms 184.170.245.254
12 13 ms 21 ms 15 ms 209.140.17.58
13 23 ms 12 ms 19 ms arya.nocdirect.com [69.73.150.66]
14 * * * Request timed out.
15 * * * Request timed out.
16 * * * Request timed out.
17 * [10.0.0.144] reports: Destination host unreachable.
Trace complete.
我们的局域网位于 D-link DFL-800 防火墙后面。我看不到防火墙上有任何规则可以阻止到这 3 个地址的流量。
我可以 ping 可能位于托管公司的其他 IP 地址,这些 IP 略高于和低于 IP 范围。
以下是从 LAN 外部进行的成功的 tracert
Tracing route to static-161-150-73-69.nocdirect.com [69.73.150.161] over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.1.1
2 28 ms 22 ms 26 ms c-76-111-52-1.hsd1.ga.comcast.net [76.111.52.1]
3 9 ms 8 ms 10 ms xe-11-0-0-32767-sur01.b6powsprings.ga.atlanta.comcast.net [68.85.68.109]
4 53 ms 17 ms 13 ms xe-11-1-1-0-ar01.b0atlanta.ga.atlanta.comcast.net [68.85.108.169]
5 19 ms 23 ms 23 ms he-5-13-0-0-10-cr01.56marietta.ga.ibone.comcast.net [68.86.93.201]
6 12 ms 15 ms 12 ms pos-0-11-0-0-pe01.56marietta.ga.ibone.comcast.net [68.86.88.186]
7 13 ms 16 ms 18 ms 173.167.57.134
8 11 ms 17 ms 10 ms ae0-50g.cr1.atl1.us.nlayer.net [69.31.135.129]
9 13 ms 13 ms 10 ms ae1-40g.cr2.atl1.us.nlayer.net [69.31.135.138]
10 12 ms 12 ms 11 ms as46562.ae6-1677.cr2.atl1.us.nlayer.net [198.47.120.146]
11 18 ms 70 ms 23 ms 184.170.245.254
12 12 ms 16 ms 16 ms 209.140.17.58
13 13 ms 13 ms 11 ms arya.nocdirect.com [69.73.150.66]
14 15 ms 20 ms 13 ms static-161-150-73-69.nocdirect.com [69.73.150.161]
Trace complete.
解决:
我通过 SSH 进入服务器并按照以下博客文章中概述的步骤进行操作。
如何在 Centos Linux 中删除和添加 IP 表链规则
1 将所有规则转储到文件中
iptables -L -n --行号 > /tmp/ip.tables
2 使用六
vi /tmp/ip.tables
3 找到删除 IP 的 LOCALINPUT 或 LOCALOUTPUT 规则。记下规则编号。
4 删除规则
iptables -D LOCALINPUT {规则#}
iptables -D LOCALOUTPUT {规则#}
5 添加规则以允许您的 IP
iptables -A 输入 -p 全部 -s {IP} -j 接受
iptables -A OUTPUT -p 全部 -s {IP} -j 接受
答案1
查看远程服务器上的防火墙条目。很可能有某些东西阻止了 ping 和 traceroute 使用的 ICMP 请求。