所以我知道这是某种防火墙规则问题。我会尽力解释。我有一个环境,它是 VPS 内的 KVM VM。
网络图
VPS-WAN=1.1.1.1 => KVM-virbr-Interface=10.0.0.1 => KVM-VM 10.0.0.2
由于这些规则,我可以从任何地方远程登录到互联网以访问 KVM-VM。
firewall-cmd --zone=public --add-forward-port=port=25:proto=tcp:toport=25:toaddr=10.0.0.2 --permanent
从 KVM-VM 发送电子邮件时会出现此问题。如果我从这台主机远程登录端口 25 上的任何内容,我将被重定向回我自己。
查看 tcpdump,我可以看到数据包只是被重定向到自身。例如,我正在远程登录 8.8.8.8 25,因为那里显然没有 smtp 服务,并且我的远程登录会话被重定向回我自己。
5:08:36.439608 IP 10.10.0.2.44558 > 10.10.0.2.25: Flags [S], seq 688613034, win 29200, options [mss 1460,sackOK,TS val 1183513828 ecr 0,nop,wscale 7], length 0
05:08:36.439668 IP 10.10.0.1.44558 > 10.10.0.2.25: Flags [S], seq 688613034, win 29200, options [mss 1460,sackOK,TS val 1183513828 ecr 0,nop,wscale 7], length 0
05:08:36.439901 IP 10.10.0.2.25 > 10.10.0.2.44558: Flags [S.], seq 1310863117, ack 688613035, win 28960, options [mss 1460,sackOK,TS val 1183513829 ecr 1183513828,nop,wscale 7], length 0
05:08:36.439927 IP 8.8.8.8.25 > 10.10.0.2.44558: Flags [S.], seq 1310863117, ack 688613035, win 28960, options [mss 1460,sackOK,TS val 1183513829 ecr 1183513828,nop,wscale 7], length 0
05:08:36.440127 IP 10.10.0.2.44558 > 10.10.0.2.25: Flags [.], ack 1, win 229, options [nop,nop,TS val 1183513829 ecr 1183513829], length 0
05:08:36.440152 IP 10.10.0.1.44558 > 10.10.0.2.25: Flags [.], ack 1310863118, win 229, options [nop,nop,TS val 1183513829 ecr 1183513829], length 0
05:08:36.483292 IP 10.10.0.2.25 > 10.10.0.2.44558: Flags [P.], seq 1:35, ack 1, win 227, options [nop,nop,TS val 1183513872 ecr 1183513829], length 34: SMTP: 220 mail.axoai.com ESMTP Postfix
05:08:36.483346 IP 8.8.8.8.25 > 10.10.0.2.44558: Flags [P.], seq 1:35, ack 1, win 227, options [nop,nop,TS val 1183513872 ecr 1183513829], length 34: SMTP: 220 mail.axoai.com ESMTP Postfix
05:08:36.483558 IP 10.10.0.2.44558 > 10.10.0.2.25: Flags [.], ack 35, win 229, options [nop,nop,TS val 1183513872 ecr 1183513872], length 0
05:08:36.483582 IP 10.10.0.1.44558 > 10.10.0.2.25: Flags [.], ack 35, win 229, options [nop,nop,TS val 1183513872 ecr 1183513872], length 0
我必须像这样从 WAN ip 地址添加目标规则并删除旧规则。
此规则仅允许来自父主机中 wan 的数据包发送到子主机。
编辑我还必须添加伪装