Linux: 启用 CONFIG_NET_VRF

创建于 2019-09-23  ·  4评论  ·  资料来源: raspberrypi/linux

这将有助于更多地利用网络侧的新力量。

我们可以建造更好的路由器等。

最有用的评论

谢谢 - 对于每一个添加的功能,我们都必须权衡成本,这样的全面总结大大增加了添加功能的机会。

添加CONFIG_NET_VRF=m只会导致构建一个模块(静态内核没有变化)这一事实是最重要的一点,它有助于该模块是适中的 30kB。

请参阅https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae。

所有4条评论

  1. 请解释什么是 NET_VRF 以及我们为什么需要它。
  2. 启动后启用 config 选项对可用内存有什么影响(如果适用,功能在运行时处于活动状态和非活动状态)?
  3. 与 2 一样,但对于网络性能 - iperf 将是一个合适的测试。
  1. 请解释什么是 NET_VRF 以及我们为什么需要它。

隔离不同 VRF 中的网络接口,即虚拟“路由器”。 它有助于隔离设备上的流量。 例如在“红色”、“绿色”和“蓝色”区域。 因此,我们可以将树莓派用作更好的家用路由器或用于 Freifunk 项目。

完整解释http://man7.org/linux/man-pages/man8/ip-vrf.8.html

在我的示例中,您可以看到 eth0 属于不同的路由实例,因此维护它自己的路由表并且可以独立于其他设备运行。 如果您想将上游接口与通过 vpn 的生产流量隔离开来,这将非常有用。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vrf_external state UP group default qlen 1000
    link/ether dc:a6:32:04:bb:ab brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.191/24 brd 192.168.20.255 scope global dynamic eth0
       valid_lft 10773sec preferred_lft 10773sec
    inet6 2003:dc:df12:b602:dea6:32ff:fe04:bbab/64 scope global dynamic mngtmpaddr
       valid_lft 85935sec preferred_lft 13935sec
    inet6 fe80::dea6:32ff:fe04:bbab/64 scope link
       valid_lft forever preferred_lft forever
4: vrf_external: <NOARP,MASTER,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP group default qlen 1000
    link/ether c2:26:06:9a:fe:45 brd ff:ff:ff:ff:ff:ff
10: br-welt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether dc:a6:32:04:bb:ab brd ff:ff:ff:ff:ff:ff
    inet 10.80.205.157/21 brd 10.80.207.255 scope global dynamic br-welt
       valid_lft 526sec preferred_lft 526sec
    inet6 2001:608:a01:109:dea6:32ff:fe04:bbab/64 scope global dynamic mngtmpaddr
       valid_lft 1491sec preferred_lft 891sec
    inet6 fe80::dea6:32ff:fe04:bbab/64 scope link
       valid_lft forever preferred_lft forever

在这里您可以看到不同的路由表:

root@raspi-4GB:~# ip ro sh table 1023
default via 192.168.20.1 dev eth0 
broadcast 192.168.20.0 dev eth0 proto kernel scope link src 192.168.20.191 
192.168.20.0/24 dev eth0 proto kernel scope link src 192.168.20.191 
local 192.168.20.191 dev eth0 proto kernel scope host src 192.168.20.191 
broadcast 192.168.20.255 dev eth0 proto kernel scope link src 192.168.20.191 
root@raspi-4GB:~# ip ro sh
default via 10.80.200.8 dev br-welt 
10.80.200.0/21 dev br-welt proto kernel scope link src 10.80.205.157 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

您可以在此处观看 PI 性能(抱歉,仅限 v6):
https://raspi-4gb.awlnx.space

  1. 启动后启用 config 选项对可用内存有什么影响(如果适用,功能在运行时处于活动状态和非活动状态)?

在启用该功能的情况下,我的树莓派 PI4 没有发现任何差异。

  1. 与 2 一样,但对于网络性能 - iperf 将是一个合适的测试。

仅当您启用 VRF 并且至少在我的测试中处于 sub kbit/s 范围内时,网络性能才会受到影响。

谢谢 - 对于每一个添加的功能,我们都必须权衡成本,这样的全面总结大大增加了添加功能的机会。

添加CONFIG_NET_VRF=m只会导致构建一个模块(静态内核没有变化)这一事实是最重要的一点,它有助于该模块是适中的 30kB。

请参阅https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae。

此页面是否有帮助?
0 / 5 - 0 等级