gpt4 book ai didi

linux - 通过 VPN 路由时,从一台服务器到另一台服务器的流量消失

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:09 24 4
gpt4 key购买 nike

在以下设置中,当我尝试通过 VPN 从主机“a”向主机“c”发送 ping 时,我看到它在主机 b 的 tun0 接口(interface)上收到并在 eth0 上转发,但随后它消失了。我没有看到任何内容进入主机 c 的 eth0 接口(interface)。最终结果是 ping 没有得到回复。我可以直接从主机 b ping 主机 c(其中源 IP 地址显示在主机 b 和 c 所在的子网内,主机 a 具有不同的范围(10.8.0.0/16))。

如何调试这个?可能存在哪些问题?如何检测流量是否是硬件发出的? (会不会被linux防火墙屏蔽了?)

设置:

主机(a) -> VPN(b) -> 要 ping 的主机(c)

主机a有eth0接口(interface)主机 b 有 tun0 和 eth0 接口(interface)。主机 c 有 eth0 接口(interface)。

证据:

on host a's tun0 interface 

> sudo tcpdump -i tun0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
05:09:36.878793 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 611, length 64
05:09:37.884830 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 612, length 64


On host b's eth0 interface

> sudo tcpdump -i eth0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
05:07:43.991961 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 499, length 64
05:07:44.997944 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 500, length 64

on host c's eth0 interface

> sudo tcpdump -i eth0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
<no output>

最佳答案

好的,经过几个小时的调查我发现了这一点。

问题出在转发设置上。转发到 eth0 端口的数据包没有网络内主机的正确源 IP 地址。 IP 地址来自 VPN。

05:07:43.991961 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 499, length 64

您可以通过在 Linux 操作系统中启用等效的 NAT(在路由器上)来切换它:

iptables -t nat -A POSTROUTING -o <eth0 or whatever else> -j MASQUERADE

这解决了我的问题。

关于linux - 通过 VPN 路由时,从一台服务器到另一台服务器的流量消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17628029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com