為什麼我們不能從我們的區域網路內聯繫特定的地址範圍?
我們無法從 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.
我們的 LAN 位於 D-link DFL-800 防火牆後面。我在防火牆上看不到任何規則來阻止到這 3 個地址的流量。
我可以 ping 可能位於託管公司的其他 IP 地址,這些 IP 地址略高於和低於 IP 範圍。
這是來自我們區域網路外部的成功跟踪器
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 –line-numbers > /tmp/ip.tables
2 使用vi編輯文件
vi /tmp/ip.tables
3 找到丟棄您的 IP 的 LOCALINPUT 或 LOCALOUTPUT 規則。記下規則編號。
4 刪除規則
iptables -D LOCALINPUT {規則#}
iptables -D LOCALOUTPUT {規則#
5 添加規則以允許您的 IP
iptables -A INPUT -p all -s {IP} -j ACCEPT
iptables -A OUTPUT -p all -s {IP} -j ACCEPT
查看遠端伺服器上的防火牆條目。很可能是阻塞了 ping 和 traceroute 使用的 ICMP 請求。