我有两台连接在同一子网中的 RHEL7.6 服务器(s1、s2)。当我尝试时跟踪路由从s1到s2,失败
s1$ traceroute s2
traceroute to s2 (s2_ip), 30 hops max, 60 byte packets
1 * * *
2 * * *
但是当我使用ICMP代替UDP协议对于跟踪主机,那么它就可以工作:
s1$ traceroute -I s2
traceroute to s2 (s2_ip), 30 hops max, 60 byte packets
1 s2 (s2_ip) 0.464 ms 0.478 ms 0.484 ms
但是当我从 s2 到 s1 执行相同操作时,默认工作正常
s2$ traceroute s1
traceroute to s1 (s1_ip), 30 hops max, 60 byte packets
1 s1 (s1_ip) 0.444 ms 0.457 ms 0.442 ms
我检查了两台服务器中是否有阻止这些 UDP 端口的防火墙规则,但两台服务器中均未启用防火墙
s2$ firewall-cmd --list-all
FirewallD is not running
s2$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
但是,我尝试在服务器 s2 中执行这些操作,启用所有 UDP跟踪路由端口
s2$ firewall-cmd --zone=public --add-port=33434–33534/udp
我还尝试了以下 iptables 防火墙规则:
#Outbound UDP traffic Policy
iptables -I OUTPUT -o eth0 -p udp --dport 33434:33524 -m state --state NEW -j ACCEPT
iptables -I INPUT -p udp --sport 33434:33524 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#Inbound ICMP traffic Policy
iptables -I INPUT -p icmp --icmp-type 3/3 -d s2_ip -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p icmp --icmp-type 11 -d s2_ip -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
请注意,服务器 s1 中的 DNS 是 master
zone "some_name" in {
type master;
file "some_file";
};
并且,服务器 s2 中的 DNS 配置为 Slave 类型
zone "some_name" in {
type slave;
file "some_file";
masters { s1_IP; };
};
名称解析(DNS 查找)在两台服务器上都运行良好