Linux: CONFIG_NET_VRF рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рд╕рд┐рддре░ 2019  ┬╖  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 рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╡рд┐рднрд┐рдиреНрди рд╡реАрдЖрд░рдПрдл рдЙрд░реНрдл тАЛтАЛрд╡рд░реНрдЪреБрдЕрд▓ "рд░рд╛рдЙрдЯрд░" рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдХрд┐рд╕реА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рд▓рд╛рд▓", "рд╣рд░рд╛" рдФрд░ "рдиреАрд▓рд╛" рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреЗрд╣рддрд░ рд╣реЛрдо рд░рд╛рдЙрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рдлреНрд░реАрдлрдВрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг http://man7.org/linux/man-pages/man8/ip-vrf.8.html

рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐ eth0 рдПрдХ рдЕрд▓рдЧ рд░реВрдЯрд┐рдВрдЧ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдЕрдкрдиреА рд░реВрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡реАрдкреАрдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

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 

рдЖрдк рдпрд╣рд╛рдВ рдкреАрдЖрдИ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ v6 рдХреЗрд╡рд▓):
https://raspi-4gb.awlnx.space

  1. рдмреВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдХреЙрдиреНрдлрд┐рдЧ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдореБрдлреНрдд рдореЗрдореЛрд░реА рдкрд░ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ (рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ рддреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╕рдХреНрд░рд┐рдп рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рджреЛрдиреЛрдВ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде)?

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА PI4 рдкрд░ рд╕рдХреНрд╖рдо рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ред

  1. 2 рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдХрд┐рди рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП - iperf рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкрд░реАрдХреНрд╖рдг рд╣реЛрдЧрд╛ред

рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗрд╡рд▓ рддрднреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╡реАрдЖрд░рдПрдл рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрдк kbit/s рд╢реНрд░реЗрдгреА рдореЗрдВ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж - рдкреНрд░рддреНрдпреЗрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд▓рд╛рдЧрддреЛрдВ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рд░рд╛рдВрд╢ рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрд╣реБрдд рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ CONFIG_NET_VRF=m рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕реНрдерд┐рд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ) рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ, рдФрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдорд╛рдореВрд▓реА 30kB рд╣реИред

рджреЗрдЦреЗрдВ https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855aeред

рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЗрд╕реЗ рдЕрдм рдмрдВрдж рдХрд░рддрд╛ рд╣реВрдВред
рдлрд╝реАрдЪрд░ https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

XECDesign picture XECDesign  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mohmedelwany picture mohmedelwany  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

unkissedfrog picture unkissedfrog  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kucharskim picture kucharskim  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Joulinar picture Joulinar  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ