【发布时间】:2016-04-19 20:56:30
【问题描述】:
我有三台计算机:A、B 和 C。
我正在尝试通过 B 将数据包从 A 发送到 C。为此,我将 B 配置为 A 的默认网关,将 C 配置为 B 的默认网关。在 B 上,我激活了数据包转发 (sysctl -w net.ipv4.ip_forward=1) 并配置iptables 的 FORWARD 策略为“接受”。
如果我使用 scapy 像这样从 A 发送数据包(MAC 地址是连接到 A 的 Bs 接口的地址):
sendp(Ether(dst="e8:39:35:0f:13:09")/IP(dst="12.34.56.78"), iface="eth2"),C 上的 tcpdump 显示数据包到达。
但是,一旦我将源地址添加到从 A 发送的数据包中,转发似乎不再起作用 - 没有数据包到达 C:sendp(Ether(dst="e8:39:35:0f:13:09")/IP(src="1.2.3.4",dst="12.34.56.78"), iface="eth2")。
我错过了什么吗?非常欢迎任何意见!
【问题讨论】:
-
真实网络还是虚拟网络?交换或混杂(集线器)。你回答 arp 吗?
-
感谢您参与我的问题。详情请按我的回答。
标签: networking iptables scapy