繁体   English   中英

在同一个子网上配置2个网卡

[英]Configure 2 NIC on the same subnet

出于调试目的,我需要在 2 个设备之间设置 MITM 代理。 所有设备都有静态IP(示例)并且相互直接连接:

Device 1 : 192.168.10.50
Device 2 : 192.168.10.60

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

我的问题是,如果禁用了 2 个 nic 之一,则从代理可以访问 D1 或 D2。
一旦我调出 2 网卡,没有人可以看到任何其他设备。 D1 和 D2 ip 不能更改。

代理是linux centos 8。

已经测试:

  • 在 iptables 上添加日志:如果 2 个 nic 已启动,则不再有输入/输出日志
  • 删除所有输入/输出然后只接受来自正确接口的正确 ip => 没有结果
  • 改变 arp_filter = 1 和 arp_announce = 2 => 没有结果
  • 在同一子网上测试多个 SO 发布大约 2 个网卡

如果有人可以帮忙。
谢谢 。

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

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

它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM