在同一网络上使用2个NIC进行策略路由似乎无济于事

菲利普·阿特姆

正如dirkt所指出的,我缺少信息:这是问题的继续,但是总而言之,我试图接收大量多播流量,一个以上的接口可以处理,因此为了接收全部,我想使用多个接口,并分别在每个接口上加入流。

我有三个NIC,其中1个(称为webIf)连接到Internet,另外2个(称为lanIf1和lanIf2)连接到LAN(两者均相同)。我试图同时接收它们的多播流量,但是在接收IGMP查询时仅报告一个接口,并且仅针对它加入的流进行报告。因此,在超时时间之后,交换机将停止发送另一个接口加入的流。

为了解决该问题,我尝试使用策略路由:为每个lanIf创建一个路由表,在每个lanIf上添加一条路由以转到同一网关,并在使用主路由之前创建两个规则以使用两个新的路由表桌子

因此,如果我的地址是:

lanIf1: 25.25.43.88
lanIf2: 25.25.43.84
default gateway of the lan switch: 25.25.43.5
igmp querier: 25.25.43.1

我首先将表添加到/ etc / iproute2 / rt_tables中,如下cat /etc/iproute2/rt_tables所示:

#
# reserved values
#
255 local
254 main
253 default
0   unspec
#
# local
#
#1  inr.ruhep
2 lanIf1Table
3 lanIf2Table

然后,我将以超级用户身份运行此脚本:

ip route add 25.25.43.0/24 dev lanIf1 src 25.25.43.88 table lanIf1Table
ip route add default via 25.25.43.5 dev lanIf1 table lanIf1Table

ip route add 25.25.43.0/24 dev lanIf2 src 25.25.43.84 table lanIf2Table
ip route add default via 25.25.43.5 dev lanIf2 table lanIf2Table 

ip rule add from 25.25.43.88 table lanIf1Table prio 1000
ip rule add from 25.25.43.84 table lanIf2Table prio 1001

但是随后什么也没发生,IGMP查询仅由其中一个接口回答。

我可以使任何工作生效的唯一方法是更改​​以下规则之一:ip rule add from 0.0.0.0 table lanIf1Table prio 1000然后,在lanIf1上完成IGMP报告。但是,由于所有流量都经过,因此我当然失去了所有的互联网访问权限lanIf1Table

我究竟做错了什么?我一直在关注这些教程:http : //www.rjsystems.nl/en/2100-adv-routing.php

https://blog.scottlowe.org/2013/05/29/a-quick-introduction-to-linux-policy-routing/

https://access.redhat.com/solutions/30564

菲利普·阿特姆

在这里进行解释:https//access.redhat.com/solutions/53031

在这里不太清楚:https : //www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

考虑具有2个网络接口(接口A和接口B)的计算机。考虑到Linux决定使用interfaceB将数据包发送到IP地址X。考虑到从IP地址X在interfaceA上接收到的数据包。Linux将丢弃该数据包。

除非您sysctl net.ipv4.conf.all.rp_filter=2在终端中运行或将该行添加到中/etc/sysctl.conf

它启用了从其他接口上的IP地址接收数据包的功能,而不是用于将数据包发送到该IP地址的接口!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将仿真器与PC放在同一网络上?

来自分类Dev

将Windows Winform App与同一网络上的Android平板电脑连接

来自分类Dev

在同一网络上通信的计算机

来自分类Dev

从同一网络上的其他设备连接到Flask Server

来自分类Dev

docker容器无法与同一网络上的其他容器通信

来自分类Dev

您可以在同一网络上混合使用千兆位和10/100以太网吗?

来自分类Dev

同一网络适配器上的静态和动态网络

来自分类Dev

通过PC在同一网络上路由接入点Internet

来自分类Dev

具有相同MAC地址的两个设备可以位于同一网络上吗?

来自分类Dev

同一网络上设备的磁盘空间

来自分类Dev

远程将ssh启用到同一网络上的多台计算机?

来自分类Dev

同一网络上的两个网关

来自分类Dev

两台路由器,同一网络,不同的SSID和密码

来自分类Dev

Linux:检查是否在同一网络中

来自分类Dev

如何使用Python-Flask在同一网络上找到客户端的MAC地址?

来自分类Dev

在Sencha Touch中同一网络上的设备之间传输消息

来自分类Dev

计算机在同一网络上的下载速度完全不同

来自分类Dev

试图了解同一网络上两个不同子网之间的交互

来自分类Dev

ERR_CONNECTION_REFUSED到同一网络上的Apache2服务器

来自分类Dev

设置多个NIC以访问Debian上的同一网络

来自分类Dev

无法在同一网络上的2个SQL服务器之间传输数据

来自分类Dev

托管同一网络时在本地网络中使用SSH

来自分类Dev

为什么在同一网络中使用动态DNS进行端口转发时连接失败

来自分类Dev

两条通过不同接口到达同一网络的路由

来自分类Dev

同一网络中的nic之间的数据包转发(wifi / eth)

来自分类Dev

Raspberry Pi Jessie Wi-Fi无法在同一网络上使用多个IP

来自分类Dev

如何使两个接口在同一网络中使用同一网关?

来自分类Dev

在Unity中同一网络上的2个iOS手机之间传输小数据

来自分类Dev

Swift:在两个设备之间发送自定义数据(不在同一网络上)

Related 相关文章

  1. 1

    如何将仿真器与PC放在同一网络上?

  2. 2

    将Windows Winform App与同一网络上的Android平板电脑连接

  3. 3

    在同一网络上通信的计算机

  4. 4

    从同一网络上的其他设备连接到Flask Server

  5. 5

    docker容器无法与同一网络上的其他容器通信

  6. 6

    您可以在同一网络上混合使用千兆位和10/100以太网吗?

  7. 7

    同一网络适配器上的静态和动态网络

  8. 8

    通过PC在同一网络上路由接入点Internet

  9. 9

    具有相同MAC地址的两个设备可以位于同一网络上吗?

  10. 10

    同一网络上设备的磁盘空间

  11. 11

    远程将ssh启用到同一网络上的多台计算机?

  12. 12

    同一网络上的两个网关

  13. 13

    两台路由器,同一网络,不同的SSID和密码

  14. 14

    Linux:检查是否在同一网络中

  15. 15

    如何使用Python-Flask在同一网络上找到客户端的MAC地址?

  16. 16

    在Sencha Touch中同一网络上的设备之间传输消息

  17. 17

    计算机在同一网络上的下载速度完全不同

  18. 18

    试图了解同一网络上两个不同子网之间的交互

  19. 19

    ERR_CONNECTION_REFUSED到同一网络上的Apache2服务器

  20. 20

    设置多个NIC以访问Debian上的同一网络

  21. 21

    无法在同一网络上的2个SQL服务器之间传输数据

  22. 22

    托管同一网络时在本地网络中使用SSH

  23. 23

    为什么在同一网络中使用动态DNS进行端口转发时连接失败

  24. 24

    两条通过不同接口到达同一网络的路由

  25. 25

    同一网络中的nic之间的数据包转发(wifi / eth)

  26. 26

    Raspberry Pi Jessie Wi-Fi无法在同一网络上使用多个IP

  27. 27

    如何使两个接口在同一网络中使用同一网关?

  28. 28

    在Unity中同一网络上的2个iOS手机之间传输小数据

  29. 29

    Swift:在两个设备之间发送自定义数据(不在同一网络上)

热门标签

归档