рдкреНрд░рджрд╛рддрд╛ рдХреЗ NAT рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╣реЛрдо рдкреНрд░рджрд╛рддрд╛ рдХреЗ NAT рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ (рдПрдХ рд╕рдлреЗрдж рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрд┐рдирд╛)ред рдореБрдЭреЗ рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░рд╛рдиреЗ рджреАрдЬрд┐рдП: рд╡рд╣ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕реАрдзреЗ рдЖрдкрдХреЗ рдкреНрд░рджрд╛рддрд╛, рд╕рд╛рде рд╣реА рд░рд╛рдЙрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ NAT рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ.
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рдЕрдкрдиреЗ рдШрд░реЗрд▓реВ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рджрд╛рддрд╛ NAT рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рд╕рд╛рде рд╣реА рдХрдВрдкреНрдпреВрдЯрд░ рдПрдХ рд╣реЛрдо рд░рд╛рдЙрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ NAT рдХрдиреЗрдХреНрд╢рди рднреА рд╣реИред
рд╕рдлреЗрдж рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд╕рд╛рде рдкрдЯреНрдЯреЗ рдкрд░ рд╡реАрдкреАрдПрд╕/рд╡реАрдбреАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреНрд▓рд╛рд╕рд┐рдХ рдпреЛрдЬрдирд╛, рд╕рд╛рде рд╣реА рдПрдХ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рд╕рдлреЗрдж рдЖрдИрдкреА рдкрддрд╛ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдиреЗ рдкрд░ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рд╕реЗ рдЕрдиреБрднрд╡, рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ STUNs рдФрд░ NATs рдХреЗ рд╕рд╛рде рдХрдИ рдкреНрд░рдпреЛрдЧ рдХрд┐рдП рд╣реИрдВред рдореИрдВрдиреЗ OpenWRT рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдо рд░рд╛рдЙрдЯрд░ рдкрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛:

$ stun stun.sipnet.ru

рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛:

рд╕реНрдЯрди рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг 0.97
рдкреНрд░рд╛рдердорд┐рдХ: рд╕реНрд╡рддрдВрддреНрд░ рдореИрдкрд┐рдВрдЧ, рд╕реНрд╡рддрдВрддреНрд░ рдлрд╝рд┐рд▓реНрдЯрд░, рд░реИрдВрдбрдо рдкреЛрд░реНрдЯ, рд╡рд┐рд▓ рд╣реЗрдпрд░рдкрд┐рди
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╣реИ 0x000002

рд╢рд╛рдмреНрджрд┐рдХ рдЕрдиреБрд╡рд╛рдж:
рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рдирдЪрд┐рддреНрд░рдг - рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рдирдЪрд┐рддреНрд░рдг
рд╕реНрд╡рддрдВрддреНрд░ рдлрд╝рд┐рд▓реНрдЯрд░ - рд╕реНрд╡рддрдВрддреНрд░ рдлрд╝рд┐рд▓реНрдЯрд░
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдВрджрд░рдЧрд╛рд╣ - рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдВрджрд░рдЧрд╛рд╣
рд╣реЗрдпрд░рдкрд┐рди рд╣реЛрдЧрд╛ - рд╣реЗрдпрд░рдкрд┐рди рд╣реЛрдЧрд╛
рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдПрдХ рд╕рдорд╛рди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдкрд░, рдореБрдЭреЗ рдорд┐рд▓рд╛:

рд╕реНрдЯрди рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг 0.97
рдкреНрд░рд╛рдердорд┐рдХ: рд╕реНрд╡рддрдВрддреНрд░ рдореИрдкрд┐рдВрдЧ, рдкреЛрд░реНрдЯ рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдлрд╝рд┐рд▓реНрдЯрд░, рд░реИрдВрдбрдо рдкреЛрд░реНрдЯ, рд╡рд┐рд▓ рд╣реЗрдпрд░рдкрд┐рди
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╣реИ 0x000006

рдкреЛрд░реНрдЯ рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ - рдкреЛрд░реНрдЯ рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдлрд╝рд┐рд▓реНрдЯрд░
рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рд╣реЛрдо рд░рд╛рдЙрдЯрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдкреИрдХреЗрдЯ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ "рдЕрдкрдирд╛ рдпреЛрдЧрджрд╛рди" рджреЗ рд░рд╣рд╛ рдерд╛; рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реБрдЖ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп:

stun stun.sipnet.ru -p 11111 -v

рдореБрдЭреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓ рд░рд╣рд╛ рдерд╛:

...
рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрддрд╛ = XX.1XX.1X4.2XX:4398
...

рдЗрд╕ рд╕рдордп, рдПрдХ рдпреВрдбреАрдкреА рд╕рддреНрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рд╛ рдЧрдпрд╛ рдерд╛, рдпрджрд┐ рдЗрд╕ рд╕рдордп рдЖрдк рдПрдХ рдпреВрдбреАрдкреА рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдиреЗрдЯрдХреИрдЯ XX.1XX.1X4.2XX 4398 -u), рддреЛ рдЕрдиреБрд░реЛрдз рд╣реЛрдо рд░рд╛рдЙрдЯрд░ рдкрд░ рдЖрдпрд╛, рдЬреЛ рдерд╛ рдЗрд╕ рдкрд░ рдЪрд▓ рд░рд╣реЗ TCPDump рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ, рд▓реЗрдХрд┐рди рдЕрдиреБрд░реЛрдз рдХрдВрдкреНрдпреВрдЯрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛ - рд░рд╛рдЙрдЯрд░ рдкрд░ NAT рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рд░реВрдк рдореЗрдВ IPtables рдиреЗ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред
рдкреНрд░рджрд╛рддрд╛ рдХреЗ NAT рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛
рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпреВрдбреАрдкреА рдЕрдиреБрд░реЛрдз рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдПрдирдПрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рд╣реЛ рдЧрдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╕рдлрд▓рддрд╛ рдХреА рдЙрдореНрдореАрдж рдЬрдЧреАред рдЪреВрдВрдХрд┐ рд░рд╛рдЙрдЯрд░ рдореЗрд░реЗ рдЕрдзрд┐рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдпреВрдбреАрдкреА/11111 рдкреЛрд░реНрдЯ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛:

iptables -t nat -A PREROUTING -i eth1 -p udp -d 10.1XX.2XX.XXX --dport 11111 -j DNAT --to-destination 192.168.X.XXX

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рдПрдХ рдпреВрдбреАрдкреА рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЗрд╕ рд╕рдордп, рдореИрдВрдиреЗ UDP/11111 рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдирддреЗ рд╣реБрдП OpenVPN-рд╕рд░реНрд╡рд░ (рдкрд╣рд▓реЗ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реБрдЖ) рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛, рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ (XX.1XX.1X4.2XX:4398) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ред рдХрдВрдкреНрдпреВрдЯрд░ред рд▓реЗрдХрд┐рди рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИ: рдУрдкрдирд╡реАрдкреАрдПрди рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рддрдХ рдХрд┐рд╕реА рддрд░рд╣ рдпреВрдбреАрдкреА рд╕рддреНрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛; рдореБрдЭреЗ рд╕рдордп-рд╕рдордп рдкрд░ STUN рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ - рдореИрдВ рд▓реЛрдб рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ STUN рд╕рд░реНрд╡рд░ред
рдореИрдВрдиреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкрд░ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ "рд╣реЗрдпрд░рдкрд┐рди рд╣реЛрдЧрд╛ - рд╣реЗрдпрд░рдкрд┐рди рд╣реЛрдЧрд╛", рдпрд╣ рд╡рд┐рдзрд╛

рд╣реЗрдпрд░рдкрд┐рдирд┐рдВрдЧ NAT рдХреЗ рдкреАрдЫреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рдорд╢реАрди рдХреЛ рд░рд╛рдЙрдЯрд░ рдХреЗ рдмрд╛рд╣рд░реА рдкрддреЗ рдкрд░ рдЙрд╕реА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рджреВрд╕рд░реА рдорд╢реАрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкреНрд░рджрд╛рддрд╛ рдХреЗ NAT рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВрдиреЗ рдпреВрдбреАрдкреА рд╕рддреНрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ - рдореИрдВрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЙрд╕реА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред
рдЗрд╕рдиреЗ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛:

  • рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ 11111 рдкрд░ STUN рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛
  • рдмрд╛рд╣рд░реА IP рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ XX.1XX.1X4.2XX:4398 рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ
  • рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдИрдореЗрд▓ рдкрд░ рдкреЛрд░реНрдЯ (рдХреЛрдИ рдЕрдиреНрдп рд╕реЗрд╡рд╛ рд╕рдВрднрд╡ рд╣реИ) рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рднреЗрдЬрд╛ рдЧрдпрд╛
  • UDP/11111 рдкреЛрд░реНрдЯ рд╕реБрдирдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ OpenVPN рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛
  • рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП XX.1XX.1X4.2XX:4398 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ OpenVPN рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛
  • рдХрд┐рд╕реА рднреА рд╕рдордп рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдИрдкреА рдкрддрд╛ рдирд╣реАрдВ рдмрджрд▓рд╛) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдУрдкрдирд╡реАрдкреАрдПрди рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдкреНрд░рджрд╛рддрд╛ рдХреЗ NAT рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛
рдЗрд╕ рддрд░рд╣ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХрд╛ред рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА OpenVPN рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрднреНрдпрд╛рд╕

рдЖрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

# apt install openvpn stun-client sendemail

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

рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдореБрдЦреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ

# cat vpn11.sh

#!/bin/bash
until [[ -n "$iftosrv" ]]; do echo "$(date) ╨Ю╨┐╤А╨╡╨┤╨╡╨╗╤П╤О ╤Б╨╡╤В╨╡╨▓╨╛╨╣ ╨╕╨╜╤В╨╡╤А╤Д╨╡╨╣╤Б"; iftosrv=`ip route get 8.8.8.8 | head -n 1 | sed 's|.*dev ||' | awk '{print $1}'`; sleep 5; done
ABSOLUTE_FILENAME=`readlink -f "$0"`
DIR=`dirname "$ABSOLUTE_FILENAME"`
localport=11111
until [[ $a ]]; do
	address=`stun stun.sipnet.ru -v -p $localport 2>&1 | grep "MappedAddress" | sort | uniq | head -n 1 | sed 's/:/ /g' | awk '{print $3" "$4}'`
        ip=`echo "$address" | awk {'print $1'}`
        port=`echo "$address" | awk {'print $2'}`
	srv="openvpn --config $DIR/server.conf --port $localport --daemon"
	$srv
	echo "$(date) ╨б╨╡╤А╨▓╨╡╤А ╨╖╨░╨┐╤Г╤Й╨╡╨╜ ╤Б ╨▓╨╜╨╡╤И╨╜╨╕╨╝ ╨░╨┤╤А╨╡╤Б╨╛╨╝ $ip:$port"
	$DIR/sendemail.sh "OpenVPN-Server" "$ip:$port"
	sleep 1
	openvpn --config $DIR/client.conf --remote $ip --port $port
	echo "$(date) C╨╛╨╡╨┤╨╕╨╜╨╡╨╜╨╕╨╡ ╨║╨╗╨╕╨╡╨╜╤В╨░ ╤Б ╤Б╨╡╤А╨▓╨╡╤А╨╛╨╝ ╤А╨░╨╖╨╛╤А╨▓╨░╨╜╨╛"
	for i in `ps xa | grep "$srv" | grep -v grep | awk '{print $1}'`; do
		kill $i && echo "$(date) ╨Ч╨░╨▓╨╡╤А╤И╨╡╨╜ ╨┐╤А╨╛╤Ж╨╡╤Б╤Б ╤Б╨╡╤А╨▓╨╡╤А╨░ $i ($srv)"
		done
	echo "╨Ц╨┤╤Г 15 ╤Б╨╡╨║"
	sleep 15
	done

рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

# cat sendemail.sh 

#!/bin/bash
from="╨Ю╤В ╨║╨╛╨│╨╛"
pass="╨Я╨░╤А╨╛╨╗╤М"
to="╨Ъ╨╛╨╝╤Г"
theme="$1"
message="$2"
server="smtp.yandex.ru:587"
sendEmail -o tls=yes -f "$from" -t "$to" -s "$server" -xu "$from" -xp "$pass" -u "$theme" -m "$message"

рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓:

# cat server.conf

proto udp
dev tun
ca      /home/vpn11-srv/ca.crt
cert    /home/vpn11-srv/server.crt
key     /home/vpn11-srv/server.key
dh      /home/vpn11-srv/dh2048.pem
server 10.2.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
tls-server
tls-auth /home/vpn11-srv/ta.key 0
tls-timeout 60
auth    SHA256
cipher  AES-256-CBC
client-to-client
keepalive 10 30
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
log /var/log/vpn11-server.log
verb 3
mute 20

рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓:

# cat client.conf

client
dev tun
proto udp
ca      "/home/vpn11-srv/ca.crt"
cert    "/home/vpn11-srv/client1.crt"
key     "/home/vpn11-srv/client1.key"
tls-client
tls-auth "/home/vpn11-srv/ta.key" 1
auth SHA256
cipher AES-256-CBC
auth-nocache
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
log /var/log/vpn11-clent.log
verb 3
mute 20
ping 10
ping-exit 30

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд┐рдпреЗ рдЧрдпреЗ рдпрд╣ рд▓реЗрдЦ.
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛:

# ./vpn11.sh

рдкрд╣рд▓реЗ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдХрд░

# chmod +x vpn11.sh

рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреА рддрд░рдл

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

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

# stun stun.ekiga.net -p 11111

рд╕реНрдЯрди рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг 0.97
рдкреНрд░рд╛рдердорд┐рдХ: рд╕реНрд╡рддрдВрддреНрд░ рдореИрдкрд┐рдВрдЧ, рдкреЛрд░реНрдЯ рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдлрд╝рд┐рд▓реНрдЯрд░, рд░реИрдВрдбрдо рдкреЛрд░реНрдЯ, рд╡рд┐рд▓ рд╣реЗрдпрд░рдкрд┐рди
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╣реИ 0x000006

рдореВрд▓реНрдп рдкреЛрд░реНрдЯ рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЪрд╛рд▓реВ рдирд╣реАрдВ рд╣реЛрдиреЗ рджрд┐рдпрд╛.
рд▓реЗрдХрд┐рди рд╣реЛрдо рдкреНрд░рджрд╛рддрд╛ рдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ 3 рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рдПрдХ рд╡реЗрдмрдХреИрдо рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ, рд╡реАрдПрд▓рд╕реА рдХреЗ рд╕рд╛рде
рд╡реЗрдмрдХреИрдо рд╕реЗ рдЖрд░рдЯреАрдПрд╕рдкреА рд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдирд╛

$ cvlc v4l2:///dev/video0:chroma=h264 :input-slave=alsa://hw:1,0 --sout '#transcode{vcodec=x264,venc=x264{preset=ultrafast,profile=baseline,level=31},vb=2048,fps=12,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://10.2.0.1:8554/}' --no-sout-all --sout-keep

рдФрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рд╡реАрдПрд▓рд╕реА (рд╕реНрдЯреНрд░реАрдо рдЖрд░рдЯреАрдПрд╕рдкреА://10.2.0.1:8554/), рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд░рд┐рдореЛрдЯ рд╡реАрдбрд┐рдпреЛ рдирд┐рдЧрд░рд╛рдиреА рд╕рд┐рд╕реНрдЯрдо рд╕рд╛рдмрд┐рдд рд╣реБрдЖ, рдЖрдк рд╕рд╛рдВрдмрд╛ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реАрдкреАрдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рд░реВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рдЕрдзрд┐рдХ...

рдЙрддреНрдкрд╛рджрди

рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдПрдХ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕реЗ рдХрд┐рд░рд╛рдП рдХреЗ рд╡реАрдкреАрдПрд╕/рд╡реАрдбреАрдПрд╕ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдкреНрд░рджрд╛рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ NAT рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рд╣реИ...
рдзрдиреНрдпрд╡рд╛рдж!

рд╕реНрд░реЛрдд: www.habr.com

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