рд╣рд╛рдореА IPv6 рдХреЛ рднрдЧрд╡рд╛рдирд▓рд╛рдИ рдХреЗ рднрдирд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВ?
рддреНрдпреЛ рдареАрдХ рдЫ, рд╣рд╛рдореА рдЖрдЬ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рдирдХреЛ рджреЗрд╡рддрд╛рд▓рд╛рдИ рдкрдирд┐ рднрдиреНрдиреЗрдЫреМрдВред
рдпрд╣рд╛рдБ рд╣рд╛рдореА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдирдЧрд░рд┐рдПрдХреЛ IPv4 рд╕реБрд░реБрдЩрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВ, рддрд░ "рдиреНрдпрд╛рдиреЛ рдмрддреНрддреА" рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛрдЗрди, рддрд░ рдЖрдзреБрдирд┐рдХ "LED" рдХреЛ рдмрд╛рд░реЗрдорд╛ред рд░ рдпрд╣рд╛рдБ рдХрдЪреНрдЪрд╛ рд╕рдХреЗрдЯрд╣рд░реВ рдкрдирд┐ рдлреНрд▓реНрдпрд╛рд╕рд┐рдЩ рдЫрдиреН, рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рднрдЗрд░рд╣реЗрдХреЛ рдЫред
рддреНрдпрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд╡рд╛рдж рд░ рд░рдВрдЧрдХреЛ рд▓рд╛рдЧрд┐ N рдЯрдиреЗрд▓рд┐рдЩ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рдЫрдиреН:
- рд╕реНрдЯрд╛рдЗрд▓рд┐рд╢, рдлреИрд╢рдиреЗрдмрд▓, рдпреБрд╡рд╛
WireGuard - рдмрд╣реБрдХрд╛рд░реНрдпрд╛рддреНрдордХ, рдЬрд╕реНрддреИ рд╕реНрд╡рд┐рд╕ рдЪрд╛рдХреВ, OpenVPN рд░ SSH
- рдкреБрд░рд╛рдиреЛ рд░ рдЦрд░рд╛рдм GRE рд╣реЛрдЗрди
- рд╕рдмреИрднрдиреНрджрд╛ рд╕рд░рд▓, рдЫрд┐рдЯреЛ, рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдирдЧрд░рд┐рдПрдХреЛ IPIP
- рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ
GENEVE - рдзреЗрд░реИ рдЕрдиреНрдпред
рддрд░ рдо рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реБрдБ, рддреНрдпрд╕реИрд▓реЗ рдо N рдХреЛ рдПрдХ рдЕрдВрд╢рд▓реЗ рдорд╛рддреНрд░ рдмрдврд╛рдЙрдиреЗрдЫреБ, рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕ Kommersant рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдЫреЛрдбреНрдиреЗрдЫреБред
рдПрдЙрдЯрд╛ рдирдЬрдиреНрдордорд╛
рд╡рд┐рднрд┐рдиреНрди рдЯрдиреЗрд▓рд┐рдЩ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рдЕрдиреБрд╕рдиреНрдзрд╛рди рдЧрд░реНрджрд╛, рдореЗрд░реЛ рднрд┐рддреНрд░реА рдкреВрд░реНрдгрддрд╛рд╡рд╛рджреАрдХреЛ рдзреНрдпрд╛рди рдпрд╕рдХреЛ рдиреНрдпреВрдирддрдо рдУрднрд░рд╣реЗрдбрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдмрд╛рд░рдореНрдмрд╛рд░ IPIP рддрд┐рд░ рдЦрд┐рдЪрд┐рдпреЛред рддрд░ рдпрд╕рдорд╛ рдореЗрд░реЛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдбреЗрдв рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХрдордЬреЛрд░реАрд╣рд░реВ рдЫрдиреН:
- рдпрд╕рд▓рд╛рдИ рджреБрдмреИ рдкрдХреНрд╖рдорд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреАрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫ,
- рд░ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЫреИрдиред
рддреНрдпрд╕рдХрд╛рд░рдг, рдкреВрд░реНрдгрддрд╛рд╡рд╛рджреАрд▓рд╛рдИ рдЦреЛрдкрдбреАрдХреЛ рдЕрдБрдзреНрдпрд╛рд░реЛ рдХреБрдирд╛рдорд╛, рд╡рд╛ рдЬрд╣рд╛рдБ рдкрдирд┐ рдК рддреНрдпрд╣рд╛рдБ рдмрд╕реНрдЫ, рдлрд░реНрдХрд╛рдЗрдпреЛред
рдЕрдирд┐ рдПрдХ рджрд┐рди, рд▓реЗрдЦ рдкрдвреНрджреИ рдЧрд░реНрджрд╛
"рдпрд╣рд╛рдБ рдЪрд╛рдБрджреАрдХреЛ рдЧреЛрд▓реА рдЫ! рдПрдХ рд╕рд╛рдзрд╛рд░рдг IPIP рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЫред" - рдореИрд▓реЗ рд╕реЛрдЪреЗрдВред
рд╡рд╛рд╕реНрддрд╡рдорд╛, рдЧреЛрд▓реА рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЪрд╛рдБрджреАрдХреЛ рдерд┐рдПрдиред UDP рдорд╛ рдЗрдиреНрдХреНрдпрд╛рдкреНрд╕реБрд▓реЗрд╢рдирд▓реЗ рдкрд╣рд┐рд▓реЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫ - рддрдкрд╛рдЗрдБ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдЬрдбрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ NAT рдкрдЫрд┐рдХрд╛ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд╕рдБрдЧ рдЬрдбрд╛рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдпрд╣рд╛рдБ IPIP рдХреЛ рдЕрд░реНрдХреЛ рдХрдордЬреЛрд░реАрдХреЛ рдЖрдзрд╛ рдирдпрд╛рдБ рдкреНрд░рдХрд╛рд╢рдорд╛ рдлреБрд▓реНрдЫ - рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХрдмрд╛рдЯ рдЬреЛ рдХреЛрд╣реАрд▓реЗ рджреЗрдЦрд┐рдиреЗ рдкрдЫрд╛рдбрд┐ рд▓реБрдХреНрди рд╕рдХреНрдЫрдиреНред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рд░ рдЧреНрд░рд╛рд╣рдХ рдкреЛрд░реНрдЯ (рд╢реБрджреНрдз IPIP рдорд╛ рдпреЛ рд╕рдорд╕реНрдпрд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫреИрди)ред
рдпреЛ рдбреЗрдв рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЬрдиреНрдо рднрдПрдХреЛ рдерд┐рдпреЛ
рд╣рд╛рдореАрд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд╛рд╣рд┐рдБрджреИрди!
рдареАрдХ рдЫ, рдпрджрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреЛрд░реНрдЯ рд░ IP рдерд╛рд╣рд╛ рдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рдХреЛ рдкрдЫрд╛рдбрд┐ рд╕рдмреИ рдХрддреИ рдЬрд╛рдБрджреИрдирдиреН, NAT рд▓реЗ 1-in-1 рдкреЛрд░реНрдЯрд╣рд░реВ рдирдХреНрд╕рд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ), рддрдкрд╛рдИрдВрд▓реЗ IPIP-over-FOU рдЯрдиреЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдирд┐рдореНрди рдЖрджреЗрд╢рд╣рд░реВ, рдХреБрдиреИ рд▓рд┐рдкрд┐ рдмрд┐рдирд╛ред
рд╕рд░реНрднрд░рдорд╛:
# ╨Я╨╛╨┤╨│╤А╤Г╨╖╨╕╤В╤М ╨╝╨╛╨┤╤Г╨╗╤М ╤П╨┤╤А╨░ 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
- encapsulated UDP рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдорд╛ UDP рдЪреЗрдХрд╕рдо рдердкреНрдиреЗ рд╡рд┐рдХрд▓реНрдк; рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫnoencap-csum
, рдЙрд▓реНрд▓реЗрдЦ рдирдЧрд░реНрди, рдЕрдЦрдгреНрдбрддрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдмрд╛рд╣рд┐рд░реА encapsulation рддрд╣ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдиреНрддреНрд░рд┐рдд рдЫ (рдЬрдмрдХрд┐ рдкреНрдпрд╛рдХреЗрдЯ рд╕реБрд░реБрдЩ рднрд┐рддреНрд░ рдЫ)eth0
тАФ рд╕реНрдерд╛рдиреАрдп рдЗрдиреНрдЯрд░рдлреЗрд╕ рдЬрд╕рдорд╛ ipip рд╕реБрд░реБрдЩ рдмрд╛рдБрдзрд┐рдПрдХреЛ рд╣реБрдиреЗрдЫ172.28.0.1
- рдЧреНрд░рд╛рд╣рдХ рдЯрдиреЗрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рдЖрдИрдкреА (рдирд┐рдЬреА)172.28.0.0
- рдЖрдИрдкреА рдЯрдиреЗрд▓ рд╕рд░реНрднрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕ (рдирд┐рдЬреА)
рдЬрдмрд╕рдореНрдо UDP рдЬрдбрд╛рди рдЬреАрд╡рд┐рдд рдЫ, рд╕реБрд░реБрдЩ рдХрд╛рд░реНрдп рдХреНрд░рдордорд╛ рд╣реБрдиреЗрдЫ, рддрд░ рдпрджрд┐ рдпреЛ рдмрд┐рдЪреНрдЫреЗрдж рднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реБрдиреБрд╣реБрдиреЗрдЫ - рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХрдХреЛ IP: рдкреЛрд░реНрдЯ рдЙрд╕реНрддреИ рд░рд╣рдиреНрдЫ - рдпреЛ рдЬреАрд╡рд┐рдд рд╣реБрдиреЗрдЫ, рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдорд╛ - рдпреЛ рдлреБрдЯреНрдиреЗрдЫред
рд╕рдмреИ рдХреБрд░рд╛ рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛ рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдЕрдирд▓реЛрдб рдЧрд░реНрдиреБ рд╣реЛ: modprobe -r fou ipip
рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рдирднрдП рдкрдирд┐, рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рд░ рдкреЛрд░реНрдЯ рд╕рдзреИрдВ рдерд╛рд╣рд╛ рд╣реБрдБрджреИрди рд░ рдкреНрд░рд╛рдпрдГ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡рд╛ рдЪрд░ рд╣реБрдиреНрдЫрдиреН (NAT рдкреНрд░рдХрд╛рд░рдХреЛ рдЖрдзрд╛рд░рдорд╛)ред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЫреЛрдбреНрдиреБрднрдпреЛ рднрдиреЗ encap-dport
рд╕рд░реНрднрд░ рд╕рд╛рдЗрдбрдорд╛, рд╕реБрд░реБрдЩрд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрди, рдпреЛ рд░рд┐рдореЛрдЯ рдЬрдбрд╛рди рдкреЛрд░реНрдЯ рд▓рд┐рди рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рдЫреИрдиред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, ipipou рд▓реЗ рдкрдирд┐ рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫ, рд╡рд╛ WireGuard рд░ рдЕрд░реВ рдЬрд╕реНрддреИ рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫред
рдпрд╕рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ?
рдХреНрд▓рд╛рдЗрдиреНрдЯ (рдЬреБрди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ NAT рдкрдЫрд╛рдбрд┐ рдЫ) рдПрдХ рд╕реБрд░реБрдЩ рдЦреЛрд▓реНрдЫ (рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдЬрд╕реНрддреИ), рд░ рд╕рд░реНрднрд░рдорд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрдпрд╛рдХреЗрдЯ рдкрдард╛рдЙрдБрджрдЫ рддрд╛рдХрд┐ рдпрд╕рд▓реЗ рдпрд╕рдХреЛ рдЫреЗрдЙрдорд╛ рдЯрдиреЗрд▓ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрдЫред рд╕реЗрдЯрд┐рдЩреНрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИ, рдпреЛ рдЦрд╛рд▓реА рдкреНрдпрд╛рдХреЗрдЯ рд╣реБрди рд╕рдХреНрдЫ (рдХреЗрд╡рд▓ рддрд╛рдХрд┐ рд╕рд░реНрднрд░рд▓реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА: рдЬрдбрд╛рди рдкреЛрд░реНрдЯ рджреЗрдЦреНрди рд╕рдХреНрдЫ), рд╡рд╛ рдбрд╛рдЯрд╛ рдЬрд╕рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрднрд░рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд╕рдХреНрдЫред рдбрд╛рдЯрд╛ рд╕реНрдкрд╖реНрдЯ рдкрд╛рдардорд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рд╕рдлреНрд░реЗрдЬ рд╣реБрди рд╕рдХреНрдЫ (HTTP рдЖрдзрд╛рд░рднреВрдд рдкреНрд░рдорд╛рдгрд╕рдБрдЧ рд╕рдорд╛рдирддрд╛ рджрд┐рдорд╛рдЧрдорд╛ рдЖрдЙрдБрдЫ) рд╡рд╛ рдирд┐рдЬреА рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрд░рд┐рдПрдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛ (HTTP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд╛рддреНрд░ рдмрд▓рд┐рдпреЛ рдЬрд╕реНрддреИ, рдкреНрд░рдХрд╛рд░реНрдп рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред client_auth
рдХреЛрдбрдорд╛)ред
рд╕рд░реНрднрд░рдорд╛ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреАрдХреЛ рдЫреЗрдЙрдорд╛), рдЬрдм ipipou рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рдпрд╕рд▓реЗ nfqueue рдХреНрдпреБ рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ рд░ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрдЫ рддрд╛рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЬрд╣рд╛рдБ рд╣реБрдиреБрдкрд░реНрдЫ рддреНрдпрд╣рд╛рдБ рдкрдард╛рдЗрдиреНрдЫ: рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ nfqueue рд▓рд╛рдордорд╛ рдЬрдбрд╛рди рд╕реБрд░реБ рдЧрд░реНрджреИ, рд░ [рд▓рдЧрднрдЧ] рдмрд╛рдБрдХреА рд╕рдмреИ рд╕рд┐рдзреИ рд╢реНрд░реЛрддрд╛ FOU рдорд╛ рдЬрд╛рдиреНрдЫрдиреНред
рдерд╛рд╣рд╛ рдирднрдПрдХрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, nfqueue (рд╡рд╛ NetfilterQueue) рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдХрд╕рд░реА рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдерд╛рд╣рд╛ рдирднрдПрдХрд╛ рдПрдореЗрдЪреНрдпреЛрд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ рдХреБрд░рд╛ рд╣реЛ, рдЬрд╕рд▓реЗ рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ (nftables/iptables) рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрди рд░ рддреНрдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЖрджрд┐рдо рдЕрд░реНрде рд╣рд╛рддрдорд╛ рдЫ: рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╡реИрдХрд▓реНрдкрд┐рдХ) рд░ рдпрд╕рд▓рд╛рдИ рдХрд░реНрдиреЗрд▓рдорд╛ рдлрд┐рд░реНрддрд╛ рджрд┐рдиреБрд╣реЛрд╕реН, рд╡рд╛ рдЦрд╛рд░реЗрдЬ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдХреЗрд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ nfqueue рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ рдЫрдиреН, bash рдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдкрдирд┐ рдерд┐рдПрди (рд╣реЗ, рдЕрдЪрдореНрдордХреЛ рдХреБрд░рд╛ рд╣реЛрдЗрди), рдореИрд▓реЗ python рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛ: ipipou рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред
рдпрджрд┐ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЫреИрди рднрдиреЗ, рдпреЛ рдЪреАрдЬ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрдкрд╛рдИрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╕реНрддрд░рдорд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЖрдлреНрдиреЛ рддрд░реНрдХрд▓рд╛рдИ рддреБрд▓рдирд╛рддреНрдордХ рд░реВрдкрдорд╛ рдЫрд┐рдЯреЛ рд░ рд╕рдЬрд┐рд▓реИ рд╕рдВрдЧ рдмрдирд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд╡рд╛ рдЧреИрд░-рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░рдХреЛ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рд░ рд░рд┐рдореЛрдЯ рд╕реЗрд╡рд╛рд╣рд░реВ рдЯреНрд░реЛрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдХрдЪреНрдЪрд╛ рд╕рдХреЗрдЯрд╣рд░реВ nfqueue рд╕рдБрдЧ рд╣рд╛рддрдорд╛ рд╣рд╛рдд рдорд┐рд▓рд╛рдПрд░ рдХрд╛рдо рдЧрд░реНрдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЬрдм рд╕реБрд░реБрдЩ рдкрд╣рд┐рд▓реЗ рдиреИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ FOU рд▓реЗ рдЗрдЪреНрдЫрд┐рдд рдкреЛрд░реНрдЯрдорд╛ рд╕реБрдирд┐рд░рд╣реЗрдХреЛ рдЫ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдЙрд╣реА рдкреЛрд░реНрдЯрдмрд╛рдЯ рдкреНрдпрд╛рдХреЗрдЯ рдкрдард╛рдЙрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗ рдЫреИрди - рдпреЛ рд╡реНрдпрд╕реНрдд рдЫ, рддрд░ рддрдкрд╛рдИрд▓реЗ рдХрдЪреНрдЪрд╛ рд╕рдХреЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХреЛ рдкреНрдпрд╛рдХреЗрдЯ рд╕реАрдзреИ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпрджреНрдпрдкрд┐ рдпрд╕реНрддреЛ рдкреНрдпрд╛рдХреЗрдЯ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рдЕрд▓рд┐ рдмрдвреА рдЯрд┐рдВрдХрд░рд┐рдЩ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫред рдпрд╕рд░реА ipipou рдорд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рднрдПрдХреЛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреНрдЫрдиреНред
рдХрд┐рдирдХрд┐ ipipou рд▓реЗ рдЬрдбрд╛рдирдмрд╛рдЯ рдкрд╣рд┐рд▓реЛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдорд╛рддреНрд░ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрдЫ (рд░ рдЬрдбрд╛рди рд╕реНрдерд╛рдкрдирд╛ рд╣реБрдиреБ рдЕрдШрд┐ рд▓рд╛рдордорд╛ рдЪреБрд╣рд╛рд╡рдЯ рдЧрд░реНрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд), рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд▓рдЧрднрдЧ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдБрджреИрдиред
ipipou рд╕рд░реНрднрд░рд▓реЗ рдкреНрд░рдорд╛рдгреАрдХреГрдд рдкреНрдпрд╛рдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ, рдПрдЙрдЯрд╛ рд╕реБрд░реБрдЩ рд╕рд┐рд░реНрдЬрдирд╛ рд╣реБрдиреНрдЫ рд░ рдЬрдбрд╛рдирдорд╛ рд░рд╣реЗрдХрд╛ рд╕рдмреИ рдкрдЫрд┐рд▓реНрд▓рд╛ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рдХрд░реНрдиреЗрд▓рджреНрд╡рд╛рд░рд╛ nfqueue рд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реЗрд░ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫред рдпрджрд┐ рдЬрдбрд╛рди рдЕрд╕рдлрд▓ рднрдпреЛ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдЕрд░реНрдХреЛрдХреЛ рдкрд╣рд┐рд▓реЛ рдкреНрдпрд╛рдХреЗрдЯ nfqueue рд▓рд╛рдордорд╛ рдкрдард╛рдЗрдиреЗрдЫ, рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ, рдпрджрд┐ рдпреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд╕рд╛рде рдкреНрдпрд╛рдХреЗрдЯ рд╣реЛрдЗрди, рддрд░ рдЕрдиреНрддрд┐рдо рд╕рдореНрдЭрдирд╛ IP рд░ рдЧреНрд░рд╛рд╣рдХ рдкреЛрд░реНрдЯрдмрд╛рдЯ, рдпрд╕рд▓рд╛рдИ рдпрд╛ рдд рдкрд╛рд░рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдорд╛ рд╡рд╛ рдЦрд╛рд░реЗрдЬред рдпрджрд┐ рдПрдХ рдкреНрд░рдорд╛рдгреАрдХреГрдд рдкреНрдпрд╛рдХреЗрдЯ рдирдпрд╛рдБ рдЖрдИрдкреА рд░ рдкреЛрд░реНрдЯрдмрд╛рдЯ рдЖрдЙрдБрдЫ рднрдиреЗ, рдЯрдиреЗрд▓ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
NAT рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп IPIP-over-FOU рдорд╛ рдЕрд░реНрдХреЛ рд╕рдорд╕реНрдпрд╛ рдЫ - UDP рдорд╛ рдПрдЙрдЯреИ IP рд╕рдВрдЧ рдЗрдирдХреНрдпрд╛рдкреНрд╕реБрд▓реЗрдЯреЗрдб рджреБрдИ IPIP рдЯрдиреЗрд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрд╕рдореНрднрд╡ рдЫ, рдХрд┐рдирднрдиреЗ FOU рд░ IPIP рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдПрдХрдЕрд░реНрдХрд╛рдмрд╛рдЯ рдПрдХрджрдо рдЕрд▓рдЧ рдЫрдиреНред рддреАред рдПрдЙрдЯреИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрдХреЛ рдПрдХ рдЬреЛрдбреА рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рдПрдЙрдЯреИ рд╕рд░реНрднрд░рдорд╛ рдПрдХрд╕рд╛рде рдЬрдбрд╛рди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫреИрдиред рднрд╡рд┐рд╖реНрдпрдорд╛,
рдХрд┐рдирднрдиреЗ рдЬрдбрд╛рдирдорд╛ рд╕рдмреИ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЫреИрдирдиреН, рддрдм рдпреЛ рд╕рд╛рдзрд╛рд░рдг рд╕реБрд░рдХреНрд╖рд╛ MITM рдХреЛ рд▓рд╛рдЧреА рдХрдордЬреЛрд░ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рд░ рд╕рд░реНрднрд░ рдмреАрдЪрдХреЛ рдмрд╛рдЯреЛрдорд╛ рдЦрд▓рдирд╛рдпрдХ рд▓реБрдХреЗрдХреЛ рдЫ рдЬрд╕рд▓реЗ рдЯреНрд░рд╛рдлрд┐рдХ рд╕реБрдиреНрди рд╕рдХреНрдЫ рд░ рдпрд╕рд▓рд╛рдИ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрди рд╕рдХреНрдЫ, рдЙрд╕рд▓реЗ рдкреНрд░рдорд╛рдгреАрдХреГрдд рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред рдЕрд░реНрдХреЛ рдареЗрдЧрд╛рдирд╛ рд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрдмрд╛рдЯ рд╕реБрд░реБрдЩ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдпрджрд┐ рдХреЛрд╣реАрд╕рдБрдЧ рдореБрдЦреНрдп рдЯреНрд░рд╛рдлрд┐рдХрдХреЛ рдареВрд▓реЛ рднрд╛рдЧ рдЫреЛрдбреНрджрд╛ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдЫ рднрдиреЗ, рдмреЛрд▓реНрди рдирд╣рд┐рдЪрдХрд┐рдЪрд╛рдЙрдиреБрд╣реЛрд╕реНред
рд╡реИрд╕реЗ, UDP рдорд╛ encapsulation рд▓реЗ рдЖрдлреИрд▓рд╛рдИ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рд╕рд╛рдмрд┐рдд рдЧрд░реЗрдХреЛ рдЫред IP рдорд╛ encapsulation рдХреЛ рддреБрд▓рдирд╛рдорд╛, UDP рд╣реЗрдбрд░ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрднрд░рд╣реЗрдб рдХреЛ рдмрд╛рд╡рдЬреБрдж рдпреЛ рдзреЗрд░реИ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд░ рдЕрдХреНрд╕рд░ рдЫрд┐рдЯреЛ рдЫред рдпреЛ рддрдереНрдпрдХреЛ рдХрд╛рд░рдг рд╣реЛ рдХрд┐ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдзреЗрд░реИ рд╣реЛрд╕реНрдЯрд╣рд░реВрд▓реЗ рдХреЗрд╡рд▓ рддреАрди рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВрд╕рдБрдЧ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдЫрдиреН: TCP, UDP, ICMPред рдореВрд░реНрдд рднрд╛рдЧрд▓реЗ рдЕрд░реВ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЦрд╛рд░реЗрдЬ рдЧрд░реНрди рд╕рдХреНрдЫ, рд╡рд╛ рдпрд╕рд▓рд╛рдИ рдЕрдЭ рдмрд┐рд╕реНрддрд╛рд░реИ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХреНрдЫ, рдХрд┐рдирднрдиреЗ рдпреЛ рдпреА рддреАрдирдХрд╛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдЫред
рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╣реА рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рдХреНрд╡рд┐рдХ, рдЬрд╕рдорд╛ HTTP/3 рдЖрдзрд╛рд░рд┐рдд рдЫ, UDP рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, IP рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рд╣реЛрдЗрдиред
рдареАрдХ рдЫ, рдкрд░реНрдпрд╛рдкреНрдд рд╢рдмреНрджрд╣рд░реВ, рдпреЛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рд░" рдорд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреЗрд░ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдордп рд╣реЛред
рдпреБрджреНрдз
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рд░рдХреЛ рдЕрдиреБрдХрд░рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛ iperf3
ред рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдХреЛ рдирдЬрд┐рдХрдХреЛ рдбрд┐рдЧреНрд░реАрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛, рдпреЛ рд▓рдЧрднрдЧ Minecraft рдорд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рд░рдХреЛ рдЕрдиреБрдХрд░рдг рдЧрд░реНрдиреЗ рдЬрд╕реНрддреИ рд╣реЛ, рддрд░ рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдЧрд░реНрдиреЗрдЫред
рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛рдорд╛ рд╕рд╣рднрд╛рдЧреАрд╣рд░реБ:
- рд╕рдиреНрджрд░реНрдн рдореБрдЦреНрдп рдЪреНрдпрд╛рдирд▓
- рдпрд╕ рд▓реЗрдЦрдХреЛ рдирд╛рдпрдХ ipipou рд╣реЛ
- рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд╕рд╛рде OpenVPN рддрд░ рдХреБрдиреИ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЫреИрди
- OpenVPN рд╕рдмреИ рд╕рдорд╛рд╡реЗрд╢реА рдореЛрдбрдорд╛
- PresharedKey рдмрд┐рдирд╛ WireGuard, MTU=1440 рд╕рдБрдЧ (IPv4-рдорд╛рддреНрд░)
Geeks рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдбреЗрдЯрд╛
рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдирд┐рдореНрди рдЖрджреЗрд╢рд╣рд░реВрд╕рдБрдЧ рд▓рд┐рдЗрдиреНрдЫ:
рдЧреНрд░рд╛рд╣рдХ рдорд╛:
UDP
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"
ICMP рд╡рд┐рд▓рдореНрдмрддрд╛
ping -c 10 SERVER_IP | tail -1
рд╕рд░реНрднрд░рдорд╛ (рдЧреНрд░рд╛рд╣рдХрд╕рдБрдЧ рдПрдХреИрд╕рд╛рде рдЪрд▓реНрдЫ):
UDP
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
openvpn (рдЗрдиреНрдХреНрд░рд┐рдкреНрд╕рди, рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд╕рд╛рде, UDP рдорд╛рд░реНрдлрдд, рд╕рдмреИ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдкрдорд╛)
рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдпреЛ
рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб
рд╕рд░реНрднрд░
/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
╨а╨╡╨╖╤Г╨╗╤М╤В╨░╤В╤Л
рдирдо рдХреБрд░реВрдк рдЪрд┐рдиреНрд╣
рд╕рд░реНрднрд░ CPU рд▓реЛрдб рдзреЗрд░реИ рд╕реВрдЪрдХ рдЫреИрди, рдХрд┐рдирднрдиреЗ... рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЕрдиреНрдп рд╕реЗрд╡рд╛рд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреН, рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВ рдЦрд╛рдиреНрдЫ:
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 Mbps рдЪреНрдпрд╛рдирд▓
рдЪреНрдпрд╛рдирд▓ рдкреНрд░рддрд┐ 1 рдЖрд╢рд╛рд╡рд╛рджреА Gbps
рд╕рдмреИ рдЕрд╡рд╕реНрдерд╛рдорд╛, ipipou рдЖрдзрд╛рд░ рдЪреНрдпрд╛рдирд▓рдХреЛ рдкреНрд░рджрд░реНрд╢рдирдорд╛ рдзреЗрд░реИ рдирдЬрд┐рдХ рдЫ, рдЬреБрди рдЙрддреНрдХреГрд╖реНрдЯ рдЫ!
рдЕрдирдЗрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб openvpn рдЯрдиреЗрд▓рд▓реЗ рджреБрд╡реИ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдзреЗрд░реИ рдЕрдиреМрдареЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдпреЛред
рдпрджрд┐ рдХрд╕реИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдЬрд╛рдБрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдиреНрди рд░реЛрдЪрдХ рд╣реБрдиреЗрдЫред
IPv6 рд░ NetPrickle рд╣рд╛рдореАрд╕рдБрдЧ рд╣реБрди рд╕рдХреНрдЫ!
рд╕реНрд░реЛрдд: www.habr.com