Networking 在同一子网上配置2个NIC

Networking 在同一子网上配置2个NIC,networking,iptables,Networking,Iptables,为了进行调试,我需要在两个设备之间设置一个MITM代理。 所有设备都具有静态IP(示例),并且彼此直接连接: 设备1:192.168.10.50 设备2:192.168.10.60 代理计算机在同一子网上有2个nic,并且位于其他设备之间: D1.50[0.60 PROXY.50]D2.60 我的问题是,如果2个nic中的一个被禁用,D1或D2可以通过代理到达代理。 一旦我打开2网卡,没有人能看到任何其他设备。 D1和D2 ip无法更改 代理服务器是linux centos 8 已测试: 在i

为了进行调试,我需要在两个设备之间设置一个MITM代理。 所有设备都具有静态IP(示例),并且彼此直接连接:

设备1:192.168.10.50

设备2:192.168.10.60

代理计算机在同一子网上有2个nic,并且位于其他设备之间:
D1.50[0.60 PROXY.50]D2.60

我的问题是,如果2个nic中的一个被禁用,D1或D2可以通过代理到达代理。
一旦我打开2网卡,没有人能看到任何其他设备。 D1和D2 ip无法更改

代理服务器是linux centos 8

已测试:

  • 在iptables上添加日志:如果2个nic启动,则不再有输入/输出日志
  • 删除所有输入/输出,然后从右接口仅接受右ip=>无结果
  • 更改arp_filter=1和arp_annound=2=>无结果
  • 测试多个SO在同一子网上发布大约2个nic
如果有人能帮忙的话。

谢谢。

我找到了一个解决方案,它包括创建一个透明代理并拦截一些数据包

1-使用2个NIC创建网桥:

nmcli connection add type bridge autoconnect yes con-name "br0" ifname "br0"
nmcli connection modify "br0" ipv4.addresses "192.168.10.10/24" ipv4.method manual
nmcli connection delete enp0s3
nmcli connection delete enp0s8
nmcli connection add type bridge-slave autoconnect yes con-name enp0s3 ifname enp0s3 master br0
nmcli connection add type bridge-slave autoconnect yes con-name enp0s8 ifname enp0s8 master br0
2添加正确的规则以拦截特定流量

nft add table bridge mitm
nft add chain bridge mitm filter { type filter hook prerouting priority 0\; }
nft add rule bridge mitm filter tcp dport 10000 ip saddr 192.168.10.50 meta pkttype set host ether daddr set xx:xx:xx:xx:xx:xx # br0 mac address
nft add rule ip nat PREROUTING tcp dport 10000 ip saddr 192.168.10.50 dnat to 192.168.10.10
这对我有用