ΠΡΡΡΠ²ΠΎΠΊ Β«10.1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½Π½Π΅Π»Ρ OpenVPNΒ»
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ VPN-ΡΡΠ½Π½Π΅Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΡΠΌΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΊΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡ ΠΈ ΡΡΠΎ? ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. Π Π΅Π°Π»ΡΠ½Π°Ρ ΡΠ΅Π½Π½ΠΎΡΡΡ VPN ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ, ΠΎΡΠΊΡΡΠ² ΡΡΠ½Π½Π΅Π»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠΈ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΊΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΠΎ, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠ»ΠΈΠ°Π»Π°ΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ Π²ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π³ΡΡΠΏΠΏ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½ΠΈΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ, Π³Π΄Π΅ Π±Ρ ΠΎΠ½ΠΈ Π½ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ (ΡΠΈΡ. 10.1).
Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠ½Π½Π΅Π»Ρ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. ΠΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΠΈ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π’ΡΠ½Π½Π΅Π»ΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° OpenVPN Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎ ΠΆΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ TLS/SSL, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΆΠ΅ ΡΠΈΡΠ°Π»ΠΈ. OpenVPN Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ . Π‘ΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΡΠ½Π½Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΡΠΎΠ²Π½Ρ 2, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ IPsec.
ΠΡ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² Π΄ΠΎΡΠΎΠ³Π΅ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΡΠ°Π·Π½ΡΡ Π·Π΄Π°Π½ΠΈΡΡ ? ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ OpenVPN, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄Π²Π΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈΠ»ΠΈ Π΄Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°: ΠΎΠ΄Π½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°/Ρ ΠΎΡΡΠ°, Π° Π΄ΡΡΠ³ΡΡ β Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ VPN β Π½Π΅ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎΠΈΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΠΎΠ±ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ.
10.1.1. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° OpenVPN
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ, Π΄Π°ΠΌ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΎΠ²Π΅Ρ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (Π° Ρ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ ΡΡΠΎ), ΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π½Π° Π Π°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΊ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡΡΡ ΡΠΈΡΠΊ, ΡΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ Π²Π²Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ ΡΠΎ Π² ΠΎΠΊΠ½ΠΎ. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ hostname, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π½Π° ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π²Π°ΠΌ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΉΡΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π·Π°ΠΉΡΠΈ ΡΠ½ΠΎΠ²Π°, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ:
ΠΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΌΠ°ΡΠΈΠ½, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, Π³Π΄Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ.
ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ hostname Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠΈΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Unable to Resolve Host OpenVPN-Server ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° /etc/hosts Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ ΠΎΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ OpenVPN
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenVPN Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ°: openvpn ΠΈ easy-rsa (Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ). ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ CentOS Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ epel-release, ΠΊΠ°ΠΊ Π²Ρ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎ Π² Π³Π»Π°Π²Π΅ 2. Π§ΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Apache (apache2 Π΄Π»Ρ Ubuntu ΠΈ httpd Π½Π° CentOS).
ΠΠΎΠΊΠ° Π²Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΎΠ²Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠΎΡΡΡ, ΠΊΡΠΎΠΌΠ΅ 22 (SSH) ΠΈ 1194 (ΠΏΠΎΡΡ OpenVPN ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ). ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ufw Π² Ubuntu, Π½ΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ firewalld CentOS ΠΈΠ· Π³Π»Π°Π²Ρ 9:
# ufw enable
# ufw allow 22
# ufw allow 1194
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ (net.ipv4.ip_forward = 1) Π² ΡΠ°ΠΉΠ»Π΅ /etc/sysctl.conf. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π», Π·Π°ΠΏΡΡΡΠΈΡΠ΅ sysctl -p:
# nano /etc/sysctl.conf
# sysctl -p
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π°, Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΠ΅ ΠΊΠΎΠ΅-ΡΡΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ: ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ (ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ Π΄Π°Π»Π΅Π΅).
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π°Π±ΠΎΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (PKI) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ easy-rsa. ΠΠΎ ΡΡΡΠΈ, ΡΠ΅ΡΠ²Π΅Ρ OpenVPN ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (Π¦Π‘).
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠΈ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
- Π‘ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» server.conf Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π²Π°Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ OpenVPN
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ²ΠΎΠΉ VPN
ΠΠ΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ ΠΆΠΈΠ·Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΠΈΠ½Π΅, Π³Π΄Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ OpenVPN. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΡ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π¦Π‘ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΉ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΡΠΎΡΠ΅ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠ»ΡΡΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² OpenVPN ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠΈΡ. 10.2.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ OpenVPN, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /etc/openvpn/, Π½ΠΎ Π² Π½Π΅ΠΌ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ. ΠΠ°ΠΊΠ΅ΡΡ openvpn ΠΈ easy-rsa ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°Π±Π»ΠΎΠ½Π° easy-rsa ΠΈΠ· /usr/share/ Π² /etc/openvpn ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ easy-rsa/:
# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa
ΠΠ°ΡΠ°Π»ΠΎΠ³ easy-rsa ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². Π ΡΠ°Π±Π». 10.1 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ root, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠ΅Π· sudo su Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΡ root.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ», Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ vars ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ easy-rsa ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ. ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΌΠΎΠΉ ΡΠ°ΠΉΠ» (Π»ΠΈΡΡΠΈΠ½Π³ 10.1).
ΠΠΈΡΡΠΈΠ½Π³ 10.1. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΡΠ°ΠΉΠ»Π° /etc/openvpn/easy-rsa/vars
export KEY_COUNTRY="CA"
export KEY_PROVINCE="ON"
export KEY_CITY="Toronto"
export KEY_ORG="Bootstrap IT"
export KEY_EMAIL="[email protected]"
export KEY_OU="IT"
ΠΠ°ΠΏΡΡΠΊ ΡΠ°ΠΉΠ»Π° vars ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΅Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π°ΡΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° sudo ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ vars, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» vars ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ²ΠΎΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΅Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π°ΡΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½ΠΎΠ²ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π½Π΅Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, clean-all, Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /etc/openvpn/easy-rsa/keys/:
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ clean-all, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ build-ca, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ pkitool Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°. ΠΠ°Ρ ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ vars:
# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΡΠΊΡΠΈΠΏΡ build-key-server. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ pkitool Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½ΠΎΠ²ΡΠΌ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ»ΡΡΠ°ΠΌ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π²Π°ΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ VPN Π½Π° ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ΄ΡΡ server, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
# ./build-key-server server
[...]
Certificate is to be certified until Aug 15 23:52:34 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
OpenVPN ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠΈΡΡΠΈ β Π₯Π΅Π»Π»ΠΌΠ°Π½Π° (Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ build-dh), ΡΡΠΎΠ±Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π·Π΄Π΅ΡΡ ΡΠ°ΠΉΠ» Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Π½Π°ΡΠΈΡ build-dh Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅ΠΉ RSA, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π½Ρ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»ΡΡΠΈ RSA Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠΈΡΡΠΈ β Π₯Π΅Π»Π»ΠΌΠ°Π½Π°:
# ./build-dh
ΠΠ°ΡΠΈ ΠΊΠ»ΡΡΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /etc/openvpn/easy-rsa/keys/, Π½ΠΎ OpenVPN ΡΡΠΎΠ³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OpenVPN Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΊΠ»ΡΡΠΈ Π² /etc/openvpn/, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈΡ :
# cp /etc/openvpn/easy-rsa/keys/server* /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, Π² TLS-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ: ΠΎΠ΄ΠΈΠ½ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π° Π΄ΡΡΠ³ΠΎΠΉ β Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΊΠ»ΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ°Ρ ΡΡΠ°ΡΡΠΉ Π΄ΡΡΠ³ pkitool β ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /etc/openvpn/easy-rsa/, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ client Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ client.crt ΠΈ client.key:
# ./pkitool client
ΠΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΡΠ°ΠΉΠ»Π° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ca.crt, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ keys/, ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ. ΠΠ·-Π·Π° ΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΠ°ΠΊΠΈΠΌ Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π΅Π»ΠΎΠΌ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β Π²ΡΡΡΠ½ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ) Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° Π Π°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΠ (Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΠΏΡΠ½ΠΊΡ Copy (ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ)). ΠΠ°ΡΠ΅ΠΌ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΠΎ Π²Π΅Π΄Ρ Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠ΅Π·Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ. ΠΡ ΠΆΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΊΠ°ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π²Π°Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ GUI, Π³Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠ΅Π·Π°Π½ΠΈΡ/Π²ΡΡΠ°Π²ΠΊΠΈ. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ scp ΠΌΠΎΠ³Π»Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ), Π° Π·Π°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ chown ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Ρ root Π½Π° ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ root, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ scp. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅:
# cp /etc/openvpn/easy-rsa/keys/client.key /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/client.crt /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/client.key
# chown ubuntu:ubuntu /home/ubuntu/client.crt
# chown ubuntu:ubuntu /home/ubuntu/ca.crt
Π‘ ΠΏΠΎΠ»Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠ°ΠΊ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ VPN. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»Π° server.conf.
Π£ΠΌΠ΅Π½ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ
Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ? Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΡΠΈ ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎ Π΄Π²ΡΡ . Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ ΡΡΠΈ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. Π§ΡΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌ Π΄Π΅ΡΡΡΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΡΠ½ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/ # chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΠΉΠ»Π° server.conf
ΠΡΠΊΡΠ΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΉΠ» server.conf? ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° easy-rsa, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ· /usr/share/? ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OpenVPN ΠΎΡΡΠ°Π»ΡΡ ΡΠΆΠ°ΡΡΠΉ ΡΠ°ΠΉΠ» ΡΠ°Π±Π»ΠΎΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² /etc/openvpn/. Π― Π±ΡΠ΄Ρ ΠΎΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½, ΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Ρ Π²Π°Ρ Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ: zcat.
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cat, Π½ΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠΆΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gzip? ΠΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ», ΠΈ ΡΠΎΠ³Π΄Π° cat Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ, Π½ΠΎ ΡΡΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° ΡΠ°Π³Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ zcat Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² ΠΏΠ°ΠΌΡΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π²Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ server.conf:
# zcat
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
> /etc/openvpn/server.conf
$ cd /etc/openvpn
ΠΡΡΠ°Π²ΠΈΠΌ Π² ΡΡΠΎΡΠΎΠ½Π΅ ΠΎΠ±ΡΠΈΡΠ½ΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ (;) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ OpenVPN Π½Π΅ ΡΠΈΡΠ°ΡΡ ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ (Π»ΠΈΡΡΠΈΠ½Π³ 10.2).
ΠΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ· ΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ OpenVPN ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡ 1194. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΊΡΡΡΡ ΡΠ²ΠΎΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΡΠ½Π½Π΅Π»ΡΠΌΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ 1194 ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ.
- OpenVPN ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ (TCP), Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°ΡΠ°Π³ΡΠ°ΠΌΠΌ (UDP). TCP ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ΅Π½ ΠΈ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π½Π° ΠΎΠ±ΠΎΠΈΡ ΠΊΠΎΠ½ΡΠ°Ρ ΡΡΠ½Π½Π΅Π»Ρ.
- ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ dev tun, ΠΊΠΎΠ³Π΄Π° Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ IP-ΡΡΠ½Π½Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠ»ΠΈ, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (ΠΈ ΡΠ΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ), ΡΠΎΠ·Π΄Π°Π² ΠΌΠΎΡΡ Ethernet, ΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ dev tap. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ tun.
- Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ OpenVPN ΠΈΠΌΠ΅Π½Π° ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΡΠ°ΠΉΠ» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² dh2048, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅.
- Π‘ΡΡΠΎΠΊΠ° server ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ ΠΌΠ°ΡΠΊΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
- ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ push Β«route 10.0.3.0 255.255.255.0Β» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΡΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠΌ Π·Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠ½Π°Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΡ Π·Π½Π°Π»Π° ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ OpenVPN (10.8.0.0).
- Π‘ΡΡΠΎΠΊΠ° port-share localhost 80 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡ 1194, Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΠΎΡΡ 80. (ΠΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ VPN.) ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» tcp.
- Π‘ΡΡΠΎΠΊΠΈ user nobody ΠΈ group nogroup Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π°ΠΊΡΠΈΠ²Π½Ρ β Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ (;). ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄ nobody ΠΈ nogroup Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ΅Π°Π½ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.
- log ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΆΡΡΠ½Π°Π»Π΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ OpenVPN, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ log-append Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΆΡΡΠ½Π°Π»Π°. Π‘Π°ΠΌ ΡΠ°ΠΉΠ» openvpn.log Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /etc/openvpn/.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ client-to-client, ΡΡΠΎΠ±Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ OpenVPN. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ OpenVPN:
# systemctl start openvpn
ΠΠ·-Π·Π° ΠΌΠ΅Π½ΡΡΡΠ΅Π³ΠΎΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ OpenVPN ΠΈ systemd Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: systemctl start openvpn@server.
ΠΠ°ΠΏΡΡΠΊ ip addr Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ tun0. OpenVPN ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²:
$ ip addr
[...]
4: tun0: mtu 1500 qdisc [...]
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠ΅ Π½Π°ΡΠ½Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° β ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
10.1.2. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° OpenVPN
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΡΡΠ½Π½Π΅Π»ΠΈ ΡΡΡΠΎΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Ρ Π΄Π²ΡΠΌΡ Π²ΡΡ ΠΎΠ΄Π°ΠΌΠΈ (ΠΈΠ½Π°ΡΠ΅ ΠΌΡ Π±Ρ Π½Π°Π·ΡΠ²Π°Π»ΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΠΌΠΈ). ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ OpenVPN Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ°ΡΠΈΠΊ Π² ΡΡΠ½Π½Π΅Π»Ρ ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠΎ Π΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ½Π½Π΅Π»Ρ.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Ρ Linux ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° OpenVPN. ΠΠΎ ΡΡΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ. OpenVPN ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΠΈ Π½ΠΎΡΡΠ±ΡΠΊΠ°Ρ Ρ Windows ΠΈΠ»ΠΈ macOS, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠ°Ρ Π½Π° Π±Π°Π·Π΅ Android ΠΈ iOS. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π½Π° ΡΠ°ΠΉΡΠ΅ openvpn.net.
ΠΠ°ΠΊΠ΅Ρ OpenVPN Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Ρ ΠΎΡΡ Π·Π΄Π΅ΡΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² easy-rsa, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²Π°ΠΌΠΈ ΠΊΠ»ΡΡΠΈ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΡΠ°Π±Π»ΠΎΠ½Π° client.conf Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /etc/openvpn/, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΡΠ°ΠΉΠ» Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° cp ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²ΠΈΡΡΡ Ρ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ:
# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf
/etc/openvpn/
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ client.conf Π±ΡΠ΄ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ: ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ remote 192.168.1.23 1194, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΏΡΡΡ ΠΆΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π°ΡΠ°ΠΊΡ Β«ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅Β». ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ remote-cert-tls server (Π»ΠΈΡΡΠΈΠ½Π³ 10.3).
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /etc/openvpn/ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠ»ΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΈΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ:
ΠΠΈΡΠ΅Π³ΠΎ Π·Π°Ρ
Π²Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ OpenVPN Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ³ΡΠΌΠ΅Π½Ρ —tls-client ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ OpenVPN, ΡΡΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ TLS, Π° —config ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²Π°Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
# openvpn --tls-client --config /etc/openvpn/client.conf
ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΡΠ»ΠΈ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ/Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡΠ°. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ², ΠΊΠ°ΠΊ ΡΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ.
- ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ OpenVPN Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. ΠΠ½ ΡΠ°ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ.
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² ΡΠ°ΠΉΠ»Π°Ρ openvpn.log ΠΈ openvpn-status.log Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /etc/openvpn/ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ OpenVPN ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΆΡΡΠ½Π°Π»Π°Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. (journalctl -ce Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ.)
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ β Π² Π³Π»Π°Π²Π΅ 14).
ΠΠ± Π°Π²ΡΠΎΡΠ΅
ΠΡΠ²ΠΈΠ΄ ΠΠ»ΠΈΠ½ΡΠΎΠ½ β ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ. ΠΠ½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π», ΠΏΠΈΡΠ°Π» ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π» ΡΡΠ΅Π±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
Π²Π°ΠΆΠ½ΡΡ
ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ Linux, ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ AWS) ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Docker. ΠΠ½ Π½Π°ΠΏΠΈΡΠ°Π» ΠΊΠ½ΠΈΠ³Ρ Learn Amazon Web Services in a Month of Lunches (Manning, 2017). ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π΅Π³ΠΎ ΡΡΠ΅Π±Π½ΡΡ
Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Pluralsight.com, Π° ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΏΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Linux ΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²) Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ
Β» ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Ρ ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π°
Β»
Β»
ΠΠ»Ρ Π₯Π°Π±ΡΠΎΠΆΠΈΡΠ΅Π»Π΅ΠΉ ΡΠΊΠΈΠ΄ΠΊΠ° 25% ΠΏΠΎ ΠΊΡΠΏΠΎΠ½Ρ β Linux
ΠΠΎ ΡΠ°ΠΊΡΡ ΠΎΠΏΠ»Π°ΡΡ Π±ΡΠΌΠ°ΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° e-mail Π²ΡΡΡΠ»Π°Π΅ΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com