在成功配置我的 VPN 服务器以将我的 VPN 客户端连接到我的 LAN(使用 CentOS FirewallD 将内部 LAN 暴露给 VPN)之后,我发现 ping 是唯一有效的方法。我无法访问任何可以通过 SSH、HTTP、FTP 或其他服务 ping 的机器。
一些背景资料:
在服务器上:该机器是运行 Tinc VPN 的 CentOS 7 安装。
#firewall-cmd --get-active-zones
internal
interfaces: eth0 (192.168.178.0/24)
external
interfaces: vpn (10.0.0.0/24)
客户端是一台 Fedora 21 机器,它从不同的位置(例如 3G)连接到 VPN 服务器。
[root@chlorine hosts]# ssh 192.168.178.21
ssh: connect to host 192.168.178.21 port 22: No route to host
[root@chlorine hosts]# wget 192.168.178.21
--2015-01-06 00:52:50-- http://192.168.178.21/
Connecting to 192.168.178.21:80... failed: No route to host.
[root@chlorine hosts]# ping 192.168.178.21
PING 192.168.178.21 (192.168.178.21) 56(84) bytes of data.
64 bytes from 192.168.178.21: icmp_seq=1 ttl=63 time=119 ms
64 bytes from 192.168.178.21: icmp_seq=2 ttl=63 time=135 ms
平到任何机器的作品。LAN机器也可以ping VPN机器就好了。但是,除了 ping 之外的任何操作都会失败。至少在任一客户端似乎都不是防火墙问题。有人有线索吗?我可以尝试的事情?
PS:从 VPN 客户端到 LAN 主机和 VPN 服务器的 LAN 端口的 Traceroute:
[alex@chlorine ~]$ traceroute 192.168.178.1
traceroute to 192.168.178.1 (192.168.178.1), 30 hops max, 60 byte packets
1 10.0.0.60 (10.0.0.60) 128.311 ms 130.495 ms 182.502 ms
2 10.0.0.60 (10.0.0.60) 184.198 ms !X 188.066 ms !X 190.507 ms !X
[alex@chlorine ~]$ traceroute 192.168.178.47
traceroute to 192.168.178.47 (192.168.178.47), 30 hops max, 60 byte packets
1 192.168.178.47 (192.168.178.47) 127.881 ms !X 129.314 ms !X 133.072 ms !X
跟踪路由中的“!X”似乎意味着“通信管理禁止”,这似乎意味着防火墙问题,但是我已经尽可能多地禁用/打开防火墙以排除它:
VPN服务器:
[root@zinc ~]# firewall-cmd --list-ports --zone=external
1024-65535/tcp 1024-65535/udp
[root@zinc ~]# firewall-cmd --list-ports --zone=internal
1024-65535/tcp 1024-65535/udp 656/udp 655/tcp 655/udp 656/tcp
我一直在尝试访问一个在 192.168.178.37 处完全禁用防火墙的 Windows 机器,但结果与所有其他 LAN 机器相同;Ping 有效,其余无效,traceroute 显示“Communication Administratively Prohibited”。还有什么想法吗?感谢你目前的帮助!这对我来说很奇怪,很难正确诊断。
!X 确实意味着“行政禁止”。检查 VPN 服务器和路由器上可能阻止流量的防火墙规则。