рдЖрдИрдкрд┐рдкреМ: рдХреЗрд╡рд▓ рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕реБрд░рдВрдЧ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ

рд╣рдо IPv6 рдХреЗ рднрдЧрд╡рд╛рди рд╕реЗ рдХреНрдпрд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ?

рдЖрдИрдкрд┐рдкреМ: рдХреЗрд╡рд▓ рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕реБрд░рдВрдЧ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ
рдпрд╣ рд╕рд╣реА рд╣реИ, рд╣рдо рдЖрдЬ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рджреЗрд╡рддрд╛ рд╕реЗ рднреА рдпрд╣реА рдХрд╣реЗрдВрдЧреЗред

рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб IPv4 рд╕реБрд░рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди "рд╡рд╛рд░реНрдо рд▓реИрдВрдк" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдЖрдзреБрдирд┐рдХ "рдПрд▓рдИрдбреА" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдФрд░ рдпрд╣рд╛рдВ рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рднреА рдЪрдордХ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рд╣рд░ рд╕реНрд╡рд╛рдж рдФрд░ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрди рдЯрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИрдВ:

  • рд╕реНрдЯрд╛рдЗрд▓рд┐рд╢, рдлреИрд╢рдиреЗрдмрд▓, рдпреБрд╡рд╛ WireGuard
  • рд╕реНрд╡рд┐рд╕ рдЪрд╛рдХреВ, рдУрдкрдирд╡реАрдкреАрдПрди рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдЬреИрд╕реЗ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓
  • рдкреБрд░рд╛рдирд╛ рдФрд░ рджреБрд╖реНрдЯ рдЬреАрдЖрд░рдИ рдирд╣реАрдВ
  • рд╕рдмрд╕реЗ рд╕рд░рд▓, рддреЗрдЬрд╝, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЖрдИрдкреАрдЖрдИрдкреА
  • рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рдиреЗрд╡рд╛
  • рдХрдИ рджреВрд╕рд░реЗред

рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрди рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЕрдВрд╢ рддрдХ рдмрдврд╝рд╛рдКрдВрдЧрд╛, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХреЛрдорд░реНрд╕реЗрдВрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдПрдХ рдЕрдЬрдиреНрдореЗ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдЕрдм рдореИрдВ рдЬреЛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдмрд╛рд╣рд░ рд╕реЗ NAT рдХреЗ рдкреАрдЫреЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рдпрд╕реНрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕ рднрд╛рд╡рдирд╛ рдХреЛ рд╣рд┐рд▓рд╛ рдирд╣реАрдВ рд╕рдХрд╛ рдХрд┐ рдпрд╣ рддреЛрдк рд╕реЗ рдЧреМрд░реИрдпрд╛ рдХреЛ рдЧреЛрд▓реА рдорд╛рд░рдиреЗ рдЬреИрд╕рд╛ рдерд╛ред рдХреНрдпреЛрдВрдХрд┐ рд╕реБрд░рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрд╛рдВрд╢рддрдГ рдХреЗрд╡рд▓ NAT-e рдореЗрдВ рдЫреЗрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдВрддрд░рд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рднреА рдЖрдорддреМрд░ рдкрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╡реЗ HTTPS рдореЗрдВ рдбреВрдм рдЬрд╛рддреЗ рд╣реИрдВред

рд╡рд┐рднрд┐рдиреНрди рдЯрдирд▓рд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рд╢реЛрдз рдХрд░рддреЗ рд╕рдордп, рдореЗрд░реЗ рдЖрдВрддрд░рд┐рдХ рдкреВрд░реНрдгрддрд╛рд╡рд╛рджреА рдХрд╛ рдзреНрдпрд╛рди рдЗрд╕рдХреЗ рдиреНрдпреВрдирддрдо рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд╛рд░рдг рдмрд╛рд░-рдмрд╛рд░ рдЖрдИрдкреАрдЖрдИрдкреА рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рд╣реБрдЖред рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдореЗрд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдврд╝ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдБ рд╣реИрдВ:

  • рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рддрд░рдл рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,
  • рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдирд╣реАрдВ.

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

рдФрд░ рдлрд┐рд░ рдПрдХ рджрд┐рди, рд▓реЗрдЦ рдкрдврд╝рддреЗ рд╕рдордп рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╕реБрд░рдВрдЧреЗрдВ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдореБрдЭреЗ FOU (Foo-over-UDP) рдпрд╛рдирд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реАред рдЬреЛ рднреА рд╣реЛ, рдпреВрдбреАрдкреА рдореЗрдВ рд▓рд┐рдкрдЯрд╛ рд╣реБрдЖред рдЕрдм рддрдХ, рдХреЗрд╡рд▓ рдЖрдИрдкреАрдЖрдИрдкреА рдФрд░ рдЬреАрдпреВрдИ (рдЬреЗрдиреЗрд░рд┐рдХ рдпреВрдбреАрдкреА рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди) рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

тАЬрдпрд╣рд╛рдБ рдЪрд╛рдВрджреА рдХреА рдЧреЛрд▓реА рд╣реИ! рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрдИрдкреАрдЖрдИрдкреА рд╣реА рдХрд╛рдлреА рд╣реИредтАЭ - рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред

рджрд░рдЕрд╕рд▓, рдЧреЛрд▓реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд╛рдВрджреА рдХреА рдирд╣реАрдВ рдирд┐рдХрд▓реАред рдпреВрдбреАрдкреА рдореЗрдВ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ - рдЖрдк рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдПрдирдПрдЯреА рдХреЗ рдкреАрдЫреЗ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдИрдкреАрдЖрдИрдкреА рдХреА рдЕрдЧрд▓реА рдХрдореА рдХрд╛ рдЖрдзрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдирдИ рд░реЛрд╢рдиреА рдореЗрдВ рдЦрд┐рд▓рддрд╛ рд╣реИ - рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХреЛрдИ рднреА рджреГрд╢реНрдпрдорд╛рди рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдк рд╕рдХрддрд╛ рд╣реИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЛрд░реНрдЯ (рд╢реБрджреНрдз рдЖрдИрдкреАрдЖрдИрдкреА рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ)ред

рдЗрд╕ рдбреЗрдврд╝ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖ ipipou. рдпрд╣ рдХрд░реНрдиреЗрд▓ FOU рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХ рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрд░реЗрд▓реВ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд░реНрдиреЗрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдкреИрдХреЗрдЯ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред

рд╣рдореЗрдВ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ!

рдареАрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреЛрд░реНрдЯ рдФрд░ рдЖрдИрдкреА рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдкреАрдЫреЗ рд╣рд░ рдХреЛрдИ рдХрд╣реАрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, 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 рдореЙрдбреНрдпреВрд▓ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред рд╡реЗред рдПрдХ рд╣реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдХреЗ рдкреАрдЫреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рдкрд╛рдПрдЧреАред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╢рд╛рдпрдж, рдЗрд╕реЗ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░ рдкрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдмреАрдЪ, NAT рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ NAT рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ IP рдкрддреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реБрд░рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реА рдЧрдИ рд╣реИ, рддреЛ ipipou NAT рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рдЬреА IP, рд╡реЙрдЗрд▓рд╛ рдореЗрдВ рдХрд░ рджреЗрдЧрд╛! - рдЖрдк рддрдм рддрдХ рд╕реБрд░рдВрдЧреЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдмрдВрджрд░рдЧрд╛рд╣ рд╕рдорд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдПрдВред

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

рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдмреЛрд▓рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХреНрд╡рд┐рдХ, рдЬрд┐рд╕ рдкрд░ 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

рдУрдкрдирд╡реАрдкреАрдПрди (рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде, рдпреВрдбреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк)
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдиреНрдпрд╕реНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ openvpn-рдкреНрд░рдмрдВрдзрди

рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб
рд╕реЗрд╡рдХ
/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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ