рд╣рдо IPv6 рдХреЗ рднрдЧрд╡рд╛рди рд╕реЗ рдХреНрдпрд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ?
рдпрд╣ рд╕рд╣реА рд╣реИ, рд╣рдо рдЖрдЬ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рджреЗрд╡рддрд╛ рд╕реЗ рднреА рдпрд╣реА рдХрд╣реЗрдВрдЧреЗред
рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб IPv4 рд╕реБрд░рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди "рд╡рд╛рд░реНрдо рд▓реИрдВрдк" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдЖрдзреБрдирд┐рдХ "рдПрд▓рдИрдбреА" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдФрд░ рдпрд╣рд╛рдВ рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рднреА рдЪрдордХ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рд╣рд░ рд╕реНрд╡рд╛рдж рдФрд░ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрди рдЯрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИрдВ:
- рд╕реНрдЯрд╛рдЗрд▓рд┐рд╢, рдлреИрд╢рдиреЗрдмрд▓, рдпреБрд╡рд╛
WireGuard - рд╕реНрд╡рд┐рд╕ рдЪрд╛рдХреВ, рдУрдкрдирд╡реАрдкреАрдПрди рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдЬреИрд╕реЗ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓
- рдкреБрд░рд╛рдирд╛ рдФрд░ рджреБрд╖реНрдЯ рдЬреАрдЖрд░рдИ рдирд╣реАрдВ
- рд╕рдмрд╕реЗ рд╕рд░рд▓, рддреЗрдЬрд╝, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЖрдИрдкреАрдЖрдИрдкреА
- рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ
рдЬрд┐рдиреЗрд╡рд╛ - рдХрдИ рджреВрд╕рд░реЗред
рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрди рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЕрдВрд╢ рддрдХ рдмрдврд╝рд╛рдКрдВрдЧрд╛, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХреЛрдорд░реНрд╕реЗрдВрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред
рдПрдХ рдЕрдЬрдиреНрдореЗ рдореЗрдВ
рд╡рд┐рднрд┐рдиреНрди рдЯрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рд╢реЛрдз рдХрд░рддреЗ рд╕рдордп, рдореЗрд░реЗ рдЖрдВрддрд░рд┐рдХ рдкреВрд░реНрдгрддрд╛рд╡рд╛рджреА рдХрд╛ рдзреНрдпрд╛рди рдЗрд╕рдХреЗ рдиреНрдпреВрдирддрдо рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд╛рд░рдг рдмрд╛рд░-рдмрд╛рд░ рдЖрдИрдкреАрдЖрдИрдкреА рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рд╣реБрдЖред рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдореЗрд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдврд╝ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдБ рд╣реИрдВ:
- рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рддрд░рдл рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,
- рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдирд╣реАрдВ.
рдЗрд╕рд▓рд┐рдП, рдкреВрд░реНрдгрддрд╛рд╡рд╛рджреА рдХреЛ рд╡рд╛рдкрд╕ рдЦреЛрдкрдбрд╝реА рдХреЗ рдЕрдВрдзреЗрд░реЗ рдХреЛрдиреЗ рдореЗрдВ, рдпрд╛ рдЬрд╣рд╛рдВ рднреА рд╡рд╣ рдмреИрдарддрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдФрд░ рдлрд┐рд░ рдПрдХ рджрд┐рди, рд▓реЗрдЦ рдкрдврд╝рддреЗ рд╕рдордп
тАЬрдпрд╣рд╛рдБ рдЪрд╛рдВрджреА рдХреА рдЧреЛрд▓реА рд╣реИ! рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрдИрдкреАрдЖрдИрдкреА рд╣реА рдХрд╛рдлреА рд╣реИредтАЭ - рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред
рджрд░рдЕрд╕рд▓, рдЧреЛрд▓реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд╛рдВрджреА рдХреА рдирд╣реАрдВ рдирд┐рдХрд▓реАред рдпреВрдбреАрдкреА рдореЗрдВ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ - рдЖрдк рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдПрдирдПрдЯреА рдХреЗ рдкреАрдЫреЗ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдИрдкреАрдЖрдИрдкреА рдХреА рдЕрдЧрд▓реА рдХрдореА рдХрд╛ рдЖрдзрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдирдИ рд░реЛрд╢рдиреА рдореЗрдВ рдЦрд┐рд▓рддрд╛ рд╣реИ - рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХреЛрдИ рднреА рджреГрд╢реНрдпрдорд╛рди рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдк рд╕рдХрддрд╛ рд╣реИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ (рд╢реБрджреНрдз рдЖрдИрдкреАрдЖрдИрдкреА рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ)ред
рдЗрд╕ рдбреЗрдврд╝ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖ
рд╣рдореЗрдВ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ!
рдареАрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреЛрд░реНрдЯ рдФрд░ рдЖрдИрдкреА рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдкреАрдЫреЗ рд╣рд░ рдХреЛрдИ рдХрд╣реАрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, NAT рдкреЛрд░реНрдЯ 1-рдЗрди-1 рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ), рддреЛ рдЖрдк рдПрдХ рдЖрдИрдкреАрдЖрдИрдкреА-рдУрд╡рд░-рдПрдлрдУрдпреВ рд╕реБрд░рдВрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдбред
рд╕рд░реНрд╡рд░ рдкрд░:
# ╨Я╨╛╨┤╨│╤А╤Г╨╖╨╕╤В╤М ╨╝╨╛╨┤╤Г╨╗╤М ╤П╨┤╤А╨░ FOU
modprobe fou
# ╨б╨╛╨╖╨┤╨░╤В╤М IPIP ╤В╤Г╨╜╨╜╨╡╨╗╤М ╤Б ╨╕╨╜╨║╨░╨┐╤Б╤Г╨╗╤П╤Ж╨╕╨╡╨╣ ╨▓ FOU.
# ╨Ь╨╛╨┤╤Г╨╗╤М ipip ╨┐╨╛╨┤╨│╤А╤Г╨╖╨╕╤В╤Б╤П ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕.
ip link add name ipipou0 type ipip
remote 198.51.100.2 local 203.0.113.1
encap fou encap-sport 10000 encap-dport 20001
mode ipip dev eth0
# ╨Ф╨╛╨▒╨░╨▓╨╕╤В╤М ╨┐╨╛╤А╤В ╨╜╨░ ╨║╨╛╤В╨╛╤А╨╛╨╝ ╨▒╤Г╨┤╨╡╤В ╤Б╨╗╤Г╤И╨░╤В╤М FOU ╨┤╨╗╤П ╤Н╤В╨╛╨│╨╛ ╤В╤Г╨╜╨╜╨╡╨╗╤П
ip fou add port 10000 ipproto 4 local 203.0.113.1 dev eth0
# ╨Э╨░╨╖╨╜╨░╤З╨╕╤В╤М IP ╨░╨┤╤А╨╡╤Б ╤В╤Г╨╜╨╜╨╡╨╗╤О
ip address add 172.28.0.0 peer 172.28.0.1 dev ipipou0
# ╨Я╨╛╨┤╨╜╤П╤В╤М ╤В╤Г╨╜╨╜╨╡╨╗╤М
ip link set ipipou0 up
рдЧреНрд░рд╛рд╣рдХ рдкрд░:
modprobe fou
ip link add name ipipou1 type ipip
remote 203.0.113.1 local 192.168.0.2
encap fou encap-sport 10001 encap-dport 10000 encap-csum
mode ipip dev eth0
# ╨Ю╨┐╤Ж╨╕╨╕ local, peer, peer_port, dev ╨╝╨╛╨│╤Г╤В ╨╜╨╡ ╨┐╨╛╨┤╨┤╨╡╤А╨╢╨╕╨▓╨░╤В╤М╤Б╤П ╤Б╤В╨░╤А╤Л╨╝╨╕ ╤П╨┤╤А╨░╨╝╨╕, ╨╝╨╛╨╢╨╜╨╛ ╨╕╤Е ╨╛╨┐╤Г╤Б╤В╨╕╤В╤М.
# peer ╨╕ peer_port ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╤О╤В╤Б╤П ╨┤╨╗╤П ╤Б╨╛╨╖╨┤╨░╨╜╨╕╤П ╤Б╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╤П ╤Б╤А╨░╨╖╤Г ╨┐╤А╨╕ ╤Б╨╛╨╖╨┤╨░╨╜╨╕╨╕ FOU-listener-╨░.
ip fou add port 10001 ipproto 4 local 192.168.0.2 peer 203.0.113.1 peer_port 10000 dev eth0
ip address add 172.28.0.1 peer 172.28.0.0 dev ipipou1
ip link set ipipou1 up
рдЬрд╣рд╛рдВ
ipipou*
- рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо203.0.113.1
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рд╕рд░реНрд╡рд░198.51.100.2
тАФ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА192.168.0.2
- рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдкреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ eth0 рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ10001
- FOU рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ20001
- FOU рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ10000
- FOU рдХреЗ рд▓рд┐рдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯencap-csum
- рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯреЗрдб рдпреВрдбреАрдкреА рдкреИрдХреЗрдЯ рдореЗрдВ рдпреВрдбреАрдкреА рдЪреЗрдХрд╕рдо рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк; рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИnoencap-csum
, рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдЦрдВрдбрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рд╣рд░реА рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдкрд░рдд рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреА рд╣реИ (рдЬрдмрдХрд┐ рдкреИрдХреЗрдЯ рд╕реБрд░рдВрдЧ рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛ рд╣реИ)eth0
- рд╕реНрдерд╛рдиреАрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬрд┐рд╕рд╕реЗ рдЖрдИрдЖрдИрдкреА рд╕реБрд░рдВрдЧ рдмрдВрдзреА рд╣реЛрдЧреА172.28.0.1
- рдХреНрд▓рд╛рдЗрдВрдЯ рдЯрдирд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЖрдИрдкреА (рдирд┐рдЬреА)172.28.0.0
- рдЖрдИрдкреА рдЯрдирд▓ рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдирд┐рдЬреА)
рдЬрдм рддрдХ рдпреВрдбреАрдкреА рдХрдиреЗрдХреНрд╢рди рдЬреАрд╡рд┐рдд рд╣реИ, рд╕реБрд░рдВрдЧ рдХрд╛рд░реНрдп рдХреНрд░рдо рдореЗрдВ рд░рд╣реЗрдЧреА, рд▓реЗрдХрд┐рди рдпрджрд┐ рдпрд╣ рдЯреВрдЯ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдк рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реЛрдВрдЧреЗ - рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдЖрдИрдкреА: рдкреЛрд░реНрдЯ рд╡рд╣реА рд░рд╣рддрд╛ рд╣реИ - рдпрд╣ рдЬреАрд╡рд┐рдд рд░рд╣реЗрдЧрд╛, рдпрджрд┐ рд╡реЗ рдмрджрд▓рддреЗ рд╣реИрдВ - рддреЛ рдпрд╣ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред
рд╕рдм рдХреБрдЫ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИ: modprobe -r fou ipip
рднрд▓реЗ рд╣реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдФрд░ рдкреЛрд░реНрдЯ рд╣рдореЗрд╢рд╛ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрдХреНрд╕рд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реЛрддреЗ рд╣реИрдВ (NAT рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред рдпрджрд┐ рдЖрдк рдЫреЛрдбрд╝ рджреЗрдВ encap-dport
рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░, рд╕реБрд░рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдпрд╣ рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рди рдкреЛрд░реНрдЯ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдИрдкрд┐рдкреМ рднреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рдФрд░ рдЙрд╕рдХреЗ рдЬреИрд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдХреНрд▓рд╛рдЗрдВрдЯ (рдЬреЛ рдЖрдорддреМрд░ рдкрд░ NAT рдХреЗ рдкреАрдЫреЗ рд╣реЛрддрд╛ рд╣реИ) рдПрдХ рд╕реБрд░рдВрдЧ рдЦреЛрд▓рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ), рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреИрдХреЗрдЯ рднреЗрдЬрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдЕрдкрдиреА рддрд░рдл рд╕реБрд░рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХреЗред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдПрдХ рдЦрд╛рд▓реА рдкреИрдХреЗрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА: рдХрдиреЗрдХреНрд╢рди рдкреЛрд░реНрдЯ рджреЗрдЦ рд╕рдХреЗ), рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХреЗред рдбреЗрдЯрд╛ рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (HTTP рдмреЗрд╕рд┐рдХ рдСрде рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ) рдпрд╛ рдПрдХ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ (HTTP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдСрде рдХреЗ рд╕рдорд╛рди рдХреЗрд╡рд▓ рдордЬрдмреВрдд, рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦреЗрдВ) client_auth
рдХреЛрдб рдореЗрдВ)ред
рд╕рд░реНрд╡рд░ рдкрд░ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдХреЗ рд╕рд╛рде), рдЬрдм рдЖрдИрдкрд┐рдкреМ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдПрдирдПрдлрдХреНрдпреВ рдХрддрд╛рд░ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЯ рд╡рд╣рд╛рдВ рднреЗрдЬреЗ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдПрдирдПрдлрдХреНрдпреВ рдХрддрд╛рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ, рдФрд░ [рд▓рдЧрднрдЧ] рдмрд╛рдХреА рд╕рднреА рд╕реАрдзреЗ рд╢реНрд░реЛрддрд╛ FOU рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВред
рдЬреЛ рд▓реЛрдЧ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП nfqueue (рдпрд╛ NetfilterQueue) рдЙрди рд╢реМрдХреАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЪреАрдЬ рд╣реИ рдЬреЛ рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬреЛ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ (nftables/iptables) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрджрд┐рдо рдХрд╛ рдорддрд▓рдм рд╣рд╛рде рдореЗрдВ рд╣реИ: рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдФрд░ рдЗрд╕реЗ рдХрд░реНрдиреЗрд▓ рдХреЛ рд╡рд╛рдкрд╕ рджреЗрдВ, рдпрд╛ рдЗрд╕реЗ рддреНрдпрд╛рдЧ рджреЗрдВред
рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП nfqueue рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИрдВ, рдмреИрд╢ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирд╣реАрдВ рдерд╛ (рд╣реЗрд╣, рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ), рдореБрдЭреЗ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛: ipipou рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдпрджрд┐ рдкреНрд░рджрд░реНрд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕ рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╕реНрддрд░ рдкрд░ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рддреЗрдЬрд╝реА рд╕реЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдирд╛ рддрд░реНрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдирд╛рдПрдВ, рдпрд╛ рдЧреИрд░-рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рдФрд░ рджреВрд░рд╕реНрде рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЯреНрд░реЛрд▓ рдХрд░реЗрдВред
рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ nfqueue рдХреЗ рд╕рд╛рде рд╣рд╛рде рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╕реБрд░рдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╣реИ рдФрд░ FOU рд╡рд╛рдВрдЫрд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЙрд╕реА рдкреЛрд░реНрдЯ рд╕реЗ рдПрдХ рдкреИрдХреЗрдЯ рдирд╣реАрдВ рднреЗрдЬ рдкрд╛рдПрдВрдЧреЗ - рдпрд╣ рд╡реНрдпрд╕реНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЙрддреНрдкрдиреНрди рдкреИрдХреЗрдЯ рдХреЛ рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рд▓реЗ рдФрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕реЗ рдкреИрдХреЗрдЯ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕ рдкреНрд░рдХрд╛рд░ ipipou рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЪреВрдВрдХрд┐ рдЖрдИрдкрд┐рдкреМ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдФрд░ рд╡реЗ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрддрд╛рд░ рдореЗрдВ рд▓реАрдХ рд╣реЛрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ), рдкреНрд░рджрд░реНрд╢рди рд▓рдЧрднрдЧ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЬреИрд╕реЗ рд╣реА ipipou рд╕рд░реНрд╡рд░ рдПрдХ рдкреНрд░рдорд╛рдгрд┐рдд рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╕реБрд░рдВрдЧ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рд╕рднреА рдмрд╛рдж рдХреЗ рдкреИрдХреЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА nfqueue рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдХреЗ рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдЧрд▓реЗ рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрдХреЗрдЯ рдПрдирдПрдлрдХреНрдпреВ рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрджрд┐ рдпрд╣ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд╛рд▓рд╛ рдкреИрдХреЗрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рдпрд╛рдж рдХрд┐рдП рдЧрдП рдЖрдИрдкреА рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ рд╕реЗ, рдЗрд╕реЗ рдпрд╛ рддреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдкрд░ рдпрд╛ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдпрджрд┐ рдХреЛрдИ рдкреНрд░рдорд╛рдгрд┐рдд рдкреИрдХреЗрдЯ рдирдП рдЖрдИрдкреА рдФрд░ рдкреЛрд░реНрдЯ рд╕реЗ рдЖрддрд╛ рд╣реИ, рддреЛ рд╕реБрд░рдВрдЧ рдХреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
NAT рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдорд╛рдиреНрдп IPIP-рдУрд╡рд░-FOU рдореЗрдВ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ - рдПрдХ рд╣реА IP рдХреЗ рд╕рд╛рде UDP рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рджреЛ IPIP рд╕реБрд░рдВрдЧ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ FOU рдФрд░ IPIP рдореЙрдбреНрдпреВрд▓ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред рд╡реЗред рдПрдХ рд╣реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдХреЗ рдкреАрдЫреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рдкрд╛рдПрдЧреАред рднрд╡рд┐рд╖реНрдп рдореЗрдВ,
рдХреНрдпреЛрдВрдХрд┐ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рд╕рднреА рдкреИрдХреЗрдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рд░рд▓ рд╕реБрд░рдХреНрд╖рд╛ рдПрдордЖрдИрдЯреАрдПрдо рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдкрде рдкрд░ рдХреЛрдИ рдЦрд▓рдирд╛рдпрдХ рдЫрд┐рдкрд╛ рд╣реИ рдЬреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реБрди рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдкреНрд░рдорд╛рдгрд┐рдд рдкреИрдХреЗрдЯ рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдПрдХ рдЕрдиреНрдп рдкрддрд╛ рдФрд░ рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯ рд╕реЗ рдПрдХ рд╕реБрд░рдВрдЧ рдмрдирд╛рдПрдВред
рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдмреЛрд▓рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
рд╡реИрд╕реЗ, рдпреВрдбреАрдкреА рдореЗрдВ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдиреЗ рдЦреБрдж рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЖрдИрдкреА тАЛтАЛрдкрд░ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдпреВрдбреАрдкреА рд╣реЗрдбрд░ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд╣реЗрдб рдХреЗ рдмрд╛рд╡рдЬреВрдж рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рдЕрдХреНрд╕рд░ рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣реЛрд╕реНрдЯ рдХреЗрд╡рд▓ рддреАрди рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓: рдЯреАрд╕реАрдкреА, рдпреВрдбреАрдкреА, рдЖрдИрд╕реАрдПрдордкреА рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдореВрд░реНрдд рд╣рд┐рд╕реНрд╕рд╛ рдмрд╛рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреНрдпрд╛рдЧ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЗрди рддреАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХреНрд╡рд┐рдХ, рдЬрд┐рд╕ рдкрд░ HTTP/3 рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдпреВрдбреАрдкреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рди рдХрд┐ рдЖрдИрдкреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ред
рдЦрд╝реИрд░, рдмрд╣реБрдд рд╣реЛ рдЧрдП рд╢рдмреНрдж, рдЕрдм рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛" рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпреБрджреНрдз
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рдереЗ iperf3
. рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рдХреА рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ Minecraft рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓реЗрдЧрд╛ред
рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ:
- рд╕рдВрджрд░реНрдн рдореБрдЦреНрдп рдЪреИрдирд▓
- рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдирд╛рдпрдХ рдЗрдкрд┐рдкреЛрдЙ рд╣реИ
- рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде OpenVPN рд▓реЗрдХрд┐рди рдХреЛрдИ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдирд╣реАрдВ
- рд╕рд░реНрд╡-рд╕рдорд╛рд╡реЗрд╢реА рдореЛрдб рдореЗрдВ OpenVPN
- PresharedKey рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб, MTU=1440 рдХреЗ рд╕рд╛рде (рдХреЗрд╡рд▓ IPv4 рдХреЗ рдмрд╛рдж рд╕реЗ)
рдЧреАрдХреНрд╕ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреА рдбреЗрдЯрд╛
рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рдП рдЧрдП рд╣реИрдВ:
рдЧреНрд░рд╛рд╣рдХ рдкрд░:
рдпреВрдбреАрдкреА
CPULOG=NAME.udp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -c SERVER_IP -4 -t 60 -f m -i 10 -B LOCAL_IP -P 2 -u -b 12M; tail -1 "$CPULOG"
# ╨У╨┤╨╡ "-b 12M" ╤Н╤В╨╛ ╨┐╤А╨╛╨┐╤Г╤Б╨║╨╜╨░╤П ╤Б╨┐╨╛╤Б╨╛╨▒╨╜╨╛╤Б╤В╤М ╨╛╤Б╨╜╨╛╨▓╨╜╨╛╨│╨╛ ╨║╨░╨╜╨░╨╗╨░, ╨┤╨╡╨╗╤С╨╜╨╜╨░╤П ╨╜╨░ ╤З╨╕╤Б╨╗╨╛ ╨┐╨╛╤В╨╛╨║╨╛╨▓ "-P", ╤З╤В╨╛╨▒╤Л ╨╗╨╕╤И╨╜╨╕╨╡ ╨┐╨░╨║╨╡╤В╤Л ╨╜╨╡ ╨┐╨╗╨╛╨┤╨╕╤В╤М ╨╕ ╨╜╨╡ ╨┐╨╛╤А╤В╨╕╤В╤М ╨┐╤А╨╛╨╕╨╖╨▓╨╛╨┤╨╕╤В╨╡╨╗╤М╨╜╨╛╤Б╤В╤М.
рдЯреАрд╕реАрдкреА
CPULOG=NAME.tcp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -c SERVER_IP -4 -t 60 -f m -i 10 -B LOCAL_IP -P 2; tail -1 "$CPULOG"
рдЖрдИрд╕реАрдПрдордкреА рд╡рд┐рд▓рдВрдмрддрд╛
ping -c 10 SERVER_IP | tail -1
рд╕рд░реНрд╡рд░ рдкрд░ (рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИ):
рдпреВрдбреАрдкреА
CPULOG=NAME.udp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -s -i 10 -f m -1; tail -1 "$CPULOG"
рдЯреАрд╕реАрдкреА
CPULOG=NAME.tcp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -s -i 10 -f m -1; tail -1 "$CPULOG"
рд╕реБрд░рдВрдЧ рд╡рд┐рдиреНрдпрд╛рд╕
ipipou
рд╕реЗрд╡рдХ
/etc/ipipou/server.conf
:
server
number 0
fou-dev eth0
fou-local-port 10000
tunl-ip 172.28.0.0
auth-remote-pubkey-b64 eQYNhD/Xwl6Zaq+z3QXDzNI77x8CEKqY1n5kt9bKeEI=
auth-secret topsecret
auth-lifetime 3600
reply-on-auth-ok
verb 3
systemctl start ipipou@server
рдЧреНрд░рд╛рд╣рдХ
/etc/ipipou/client.conf
:
client
number 0
fou-local @eth0
fou-remote SERVER_IP:10000
tunl-ip 172.28.0.1
# pubkey of auth-key-b64: eQYNhD/Xwl6Zaq+z3QXDzNI77x8CEKqY1n5kt9bKeEI=
auth-key-b64 RuBZkT23na2Q4QH1xfmZCfRgSgPt5s362UPAFbecTso=
auth-secret topsecret
keepalive 27
verb 3
systemctl start ipipou@client
openvpn (рдХреЛрдИ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдирд╣реАрдВ, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде)
рд╕реЗрд╡рдХ
openvpn --genkey --secret ovpn.key # ╨Ч╨░╤В╨╡╨╝ ╨╜╨░╨┤╨╛ ╨┐╨╡╤А╨╡╨┤╨░╤В╤М ovpn.key ╨║╨╗╨╕╨╡╨╜╤В╤Г
openvpn --dev tun1 --local SERVER_IP --port 2000 --ifconfig 172.16.17.1 172.16.17.2 --cipher none --auth SHA1 --ncp-disable --secret ovpn.key
рдЧреНрд░рд╛рд╣рдХ
openvpn --dev tun1 --local LOCAL_IP --remote SERVER_IP --port 2000 --ifconfig 172.16.17.2 172.16.17.1 --cipher none --auth SHA1 --ncp-disable --secret ovpn.key
рдУрдкрдирд╡реАрдкреАрдПрди (рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде, рдпреВрдбреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк)
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдиреНрдпрд╕реНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб
рд╕реЗрд╡рдХ
/etc/wireguard/server.conf
:
[Interface]
Address=172.31.192.1/18
ListenPort=51820
PrivateKey=aMAG31yjt85zsVC5hn5jMskuFdF8C/LFSRYnhRGSKUQ=
MTU=1440
[Peer]
PublicKey=LyhhEIjVQPVmr/sJNdSRqTjxibsfDZ15sDuhvAQ3hVM=
AllowedIPs=172.31.192.2/32
systemctl start wg-quick@server
рдЧреНрд░рд╛рд╣рдХ
/etc/wireguard/client.conf
:
[Interface]
Address=172.31.192.2/18
PrivateKey=uCluH7q2Hip5lLRSsVHc38nGKUGpZIUwGO/7k+6Ye3I=
MTU=1440
[Peer]
PublicKey=DjJRmGvhl6DWuSf1fldxNRBvqa701c0Sc7OpRr4gPXk=
AllowedIPs=172.31.192.1/32
Endpoint=SERVER_IP:51820
systemctl start wg-quick@client
рдирд┐рд╖реНрдХрд░реНрд╖
рдирдо рдХреБрд░реВрдк рд╕рдВрдХреЗрдд
рд╕рд░реНрд╡рд░ рд╕реАрдкреАрдпреВ рд▓реЛрдб рдмрд╣реБрдд рд╕рд╛рдВрдХреЗрддрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐... рд╡рд╣рд╛рдБ рдХрдИ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдБ рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рдХрднреА-рдХрднреА рд╡реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд╛ рдЬрд╛рддреА рд╣реИрдВ:
proto bandwidth[Mbps] CPU_idle_client[%] CPU_idle_server[%]
# 20 Mbps ╨║╨░╨╜╨░╨╗ ╤Б ╨╝╨╕╨║╤А╨╛╨║╨╛╨╝╨┐╤М╤О╤В╨╡╤А╨░ (4 core) ╨┤╨╛ VPS (1 core) ╤З╨╡╤А╨╡╨╖ ╨Р╤В╨╗╨░╨╜╤В╨╕╨║╤Г
# pure
UDP 20.4 99.80 93.34
TCP 19.2 99.67 96.68
ICMP latency min/avg/max/mdev = 198.838/198.997/199.360/0.372 ms
# ipipou
UDP 19.8 98.45 99.47
TCP 18.8 99.56 96.75
ICMP latency min/avg/max/mdev = 199.562/208.919/220.222/7.905 ms
# openvpn0 (auth only, no encryption)
UDP 19.3 99.89 72.90
TCP 16.1 95.95 88.46
ICMP latency min/avg/max/mdev = 191.631/193.538/198.724/2.520 ms
# openvpn (full encryption, auth, etc)
UDP 19.6 99.75 72.35
TCP 17.0 94.47 87.99
ICMP latency min/avg/max/mdev = 202.168/202.377/202.900/0.451 ms
# wireguard
UDP 19.3 91.60 94.78
TCP 17.2 96.76 92.87
ICMP latency min/avg/max/mdev = 217.925/223.601/230.696/3.266 ms
## ╨╛╨║╨╛╨╗╨╛-1Gbps ╨║╨░╨╜╨░╨╗ ╨╝╨╡╨╢╨┤╤Г VPS ╨Х╨▓╤А╨╛╨┐╤Л ╨╕ ╨б╨и╨Р (1 core)
# pure
UDP 729 73.40 39.93
TCP 363 96.95 90.40
ICMP latency min/avg/max/mdev = 106.867/106.994/107.126/0.066 ms
# ipipou
UDP 714 63.10 23.53
TCP 431 95.65 64.56
ICMP latency min/avg/max/mdev = 107.444/107.523/107.648/0.058 ms
# openvpn0 (auth only, no encryption)
UDP 193 17.51 1.62
TCP 12 95.45 92.80
ICMP latency min/avg/max/mdev = 107.191/107.334/107.559/0.116 ms
# wireguard
UDP 629 22.26 2.62
TCP 198 77.40 55.98
ICMP latency min/avg/max/mdev = 107.616/107.788/108.038/0.128 ms
20 рдПрдордмреАрдкреАрдПрд╕ рдЪреИрдирд▓
рдЪреИрдирд▓ рдкреНрд░рддрд┐ 1 рдЖрд╢рд╛рд╡рд╛рджреА рдЬреАрдмреАрдкреАрдПрд╕
рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдИрдкрд┐рдкреЛрдЙ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдмреЗрд╕ рдЪреИрдирд▓ рдХреЗ рдХрд╛рдлреА рдХрд░реАрдм рд╣реИ, рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!
рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдУрдкрдирд╡реАрдкреАрдПрди рд╕реБрд░рдВрдЧ рдиреЗ рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдлреА рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ред
рдпрджрд┐ рдХреЛрдИ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред
рдордИ IPv6 рдФрд░ NetPrickle рд╣рдорд╛рд░реЗ рд╕рд╛рде рд░рд╣реЗрдВ!
рд╕реНрд░реЛрдд: www.habr.com