рдЪреБрдкрдЪрд╛рдк рдФрд░ рдЕрдЧреЛрдЪрд░ рд░реВрдк рд╕реЗ iOS рдХреЗ рд▓рд┐рдП OpenVPN рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рд░рд┐рд╣рд╛рдИред рдореЗрд░реЗ рд╕рд╣рд┐рдд рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЬреЗрд▓рдмреНрд░реЗрдХ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрдВрддрд┐рдо рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рд╕рдордп рдЧреНрд░рд╛рд╣рдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЕрдиреБрдХреВрд▓рди рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╣реИрдмрд░рдХреИрдЯ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдЖрдк
iTunes рд╕реЗ OpenVPN рдХрдиреЗрдХреНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ,
рдбреЗрд╡рд▓рдкрд░ рдлрд╝реЛрд░рдо рд╕реЗ рдорд┐рд▓реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдлреНрд░рд╛рдВрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рджреЗрд╢реЛрдВ рдХреЗ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рджреЗрд░реА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЖрдпрд╛рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдЕрд╕реНрдерд╛рдпреА рд╣реИрдВред
рдЖрд╡реЗрджрди рдореЗрдВ рд╕реАрдорд╛рдПрдВ:
- рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 256KB рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдлрд┐рд░ рднреА, рдпрд╣ рдПрдХ рдПрдХреАрдХреГрдд рдУрд╡рдкрд┐рдпрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
- IOS рд╡реАрдкреАрдПрди рдПрдкреАрдЖрдИ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХреЗрд╡рд▓ рдЯреНрдпреВрди рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рджреЗрд╡ рдЯреИрдк, рдЯреАрдПрд▓рдПрд╕-рд░рд┐рдореЛрдЯ, рдЯреБрдХрдбрд╝рд╛, рдПрдордПрд╕рд╕рд┐рдХреНрд╕ред
- рдмрд┐рдирд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
- рдХреЗрд╡рд▓ рдПрдИрдПрд╕ рдпрд╛ рдмреНрд▓реЛрдлрд┐рд╢ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдПрдЖрд░рдПрдо рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдзрд┐рдХ рдКрд░реНрдЬрд╛ рджрдХреНрд╖рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред
- HTTP рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрддрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВред
- PKCS # 12 рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрднрд╡ рд╣реИ рдЬрдм рдЙрдиреНрд╣реЗрдВ iOS рдХреАрдЪреЗрди рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдПрдХ рддрддреНрдХрд╛рд▓ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдзреЗ рдУрдкреНрдкрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреА рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЦрд╛рд╕рдХрд░ рдЬреЗрд▓рдмреНрд░реЗрдХ рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордпред
рдЖрдЗрдП рдЕрдкрдиреЗ 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-----
рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдкрдХреЗ iOS рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ iTunes (рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдХрд▓реНрдк) рдпрд╛ рдИрдореЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
OpenVPN HOWTOOpenvpn рдХрдиреЗрдХреНрдЯOpenVPN рдХрдиреЗрдХреНрдЯ (iOS) рдлреЛрд░рдо