Esto ayudaría a utilizar aún más la nueva potencia en el lado de la red.
Podríamos construir mejores enrutadores, etc.
- Explique qué es NET_VRF y por qué lo queremos.
Para aislar las interfaces de red en diferentes VRF, también conocidos como "enrutadores" virtuales. Ayuda a aislar el tráfico en un dispositivo. Por ejemplo, en las zonas "roja", "verde" y "azul". Por lo tanto, podemos utilizar raspberry PI como un mejor enrutador doméstico o para proyectos Freifunk.
Explicación completa http://man7.org/linux/man-pages/man8/ip-vrf.8.html
En mi ejemplo, puede ver que eth0 pertenece a una instancia de enrutamiento diferente, por lo que mantiene su propia tabla de enrutamiento y puede actuar independientemente de los otros dispositivos. Lo cual es muy útil si desea aislar, por ejemplo, la interfaz ascendente de su tráfico de producción que pasa por una 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
Y aquí se ven las diferentes tablas de enrutamiento:
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
Puede ver el rendimiento de los PI aquí (lo siento, solo v6):
https://raspi-4gb.awlnx.space
- ¿Qué impacto tiene habilitar la opción de configuración en la memoria libre después del arranque (tanto con la función activa como inactiva en el tiempo de ejecución, si corresponde)?
No vi ninguna diferencia en mi raspberry PI4 con la función habilitada.
- Como 2 pero para el rendimiento de la red: iperf sería una prueba adecuada.
El rendimiento de la red solo se ve afectado si habilita un VRF y está en el rango de sub kbit/s al menos en mis pruebas.
Gracias: por cada característica agregada, tenemos que comparar los beneficios con los costos, y un resumen completo como ese aumenta en gran medida las posibilidades de que se agregue una característica.
El hecho de que agregar CONFIG_NET_VRF=m
solo hace que se construya un módulo (no hay cambios en el núcleo estático) es el punto más importante, y ayuda que el módulo tenga unos modestos 30kB.
Consulte https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae.
¡Gracias!
Cierro esto ahora.
Función agregada a través de https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae
Comentario más útil
Gracias: por cada característica agregada, tenemos que comparar los beneficios con los costos, y un resumen completo como ese aumenta en gran medida las posibilidades de que se agregue una característica.
El hecho de que agregar
CONFIG_NET_VRF=m
solo hace que se construya un módulo (no hay cambios en el núcleo estático) es el punto más importante, y ayuda que el módulo tenga unos modestos 30kB.Consulte https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae.