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. 構成オプションを有効にすると、起動後の空きメモリにどのような影響がありますか(該当する場合、実行時に機能がアクティブおよび非アクティブの両方になります)?
  3. 2と同じですが、ネットワークパフォーマンスの場合-iperfが適切なテストになります。
  1. NET_VRFとは何か、なぜそれが必要なのかを説明してください。

異なるVRF(別名仮想「ルーター」)のネットワークインターフェイスを分離するため。 デバイス上のトラフィックを分離するのに役立ちます。 たとえば、「赤」、「緑」、「青」のゾーンです。 したがって、ラズベリーPIをより優れたホームルーターとして、または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. 構成オプションを有効にすると、起動後の空きメモリにどのような影響がありますか(該当する場合、実行時に機能がアクティブおよび非アクティブの両方になります)?

この機能を有効にしたラズベリーPI4では違いは見られませんでした。

  1. 2と同じですが、ネットワークパフォーマンスの場合-iperfが適切なテストになります。

ネットワークパフォーマンスは、VRFを有効にし、少なくとも私のテストではサブkbit / sの範囲にある場合にのみ影響を受けます。

ありがとうございます。追加されたすべての機能について、コストに対するメリットを実現する必要があります。そのような完全な要約により、機能が追加される可能性が大幅に高まります。

CONFIG_NET_VRF=mを追加すると、モジュールがビルドされるだけであるという事実(静的カーネルへの変更はありません)が最も重要なポイントであり、モジュールが適度な30kBであることが役立ちます。

https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855aeを参照してください。

ありがとう!

これを閉じます。
https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855aeを介して追加された機能

このページは役に立ちましたか?
0 / 5 - 0 評価