IOS рдкрд░ OpenVPN рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

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

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

рдЖрд╡реЗрджрди рдореЗрдВ рд╕реАрдорд╛рдПрдВ:

рдЖрдЗрдП рдЕрдкрдиреЗ OpenVPN рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд░реНрд╡рд░ рднрд╛рдЧ (рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд╣рдо рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЕрдереЙрд░рд┐рдЯреА (CA), рд╕рд░реНрд╡рд░ (server.crt рдФрд░ server.key) рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ (ios.crt рдФрд░ ios.key) рдХреЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдФрд░ рдкреНрд░рд╛рдЗрд╡реЗрдЯ рдХреАрдЬ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди-rsa рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдбрд┐рдлреА-рд╣реЗрд▓рдореИрди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рднреА рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред
./vars ./build-ca ./build-key-server server ./build-key ios ./build-dh 

рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ TLS рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреБрдВрдЬреА рднреА рдмрдирд╛рдПрдВрдЧреЗред
 openvpn --genkey --secret ta.key 

рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 proto udp dev tun0 topology subnet option server "10.19.2.0 255.255.255.0" push "dhcp-option DNS 8.8.8.8" push "route 10.19.1.0 255.255.255.0" keepalive "10 120" cipher AES-128-CBC comp_lzo 1 persist_key 1 persist_tun 1 ca ca.crt cert server.crt key server.key dh dh1024.pem tls-auth "ta.key 0" 

рдЕрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреА рдирд┐рдЬреА рдХреБрдВрдЬреА RSA рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдкрдиреЗ рдУрдкрдирд╡реАрдкреАрдПрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд╛рдмрд┐рдпрд╛рдБ рддреИрдпрд╛рд░ рдереАрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 openssl rsa -in ios.key -out ios_rsa.key 

рдЕрдм рд╣рдо рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдПрдХ PKCS # 12 рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ:
 openssl pkcs12 -export -in ios.crt -inkey ios_rsa.key -certfile ca.crt -name ios -out ios.p12 

рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред IOS рдЪрд╛рдмреА рдХрд╛ рдЧреБрдЪреНрдЫрд╛ рдореЗрдВ рдПрдХ рдирд┐рд░реНрдпрд╛рдд рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрдВрдЯреЗрдирд░ рдХреЛ рдИ-рдореЗрд▓ рдпрд╛ рд╕рдлрд╛рд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХреАрдХреГрдд рдУрд╡рдкреНтАНрди рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
 client tls-client dev tun proto udp remote _ resolv-retry infinite key-direction 1 cipher AES-128-CBC persist-tun persist-key comp-lzo verb 3 redirect-gateway <tls-auth> -----BEGIN OpenVPN Static key V1----- # ta.key -----END OpenVPN Static key V1----- </tls-auth> <ca> -----BEGIN CERTIFICATE----- # ca.crt -----END CERTIFICATE----- </ca> 

рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдкрдХреЗ iOS рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ iTunes (рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдХрд▓реНрдк) рдпрд╛ рдИрдореЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ

OpenVPN HOWTO
Openvpn рдХрдиреЗрдХреНрдЯ
OpenVPN рдХрдиреЗрдХреНрдЯ (iOS) рдлреЛрд░рдо


Source: https://habr.com/ru/post/In168853/


All Articles