á¨á°ááá¨á â10.1. á¨OpenVPN ááť ááá á"
á áľááá á¨á°áá°á á¨áŞáá¤á ááť á áááľ á°áá áá˝ áĽá á á áááአááŤá¨á á°á áááą áŁáá°á á á á ááłá¨áá¨áĽ áá á˛áá áá¨áá á áá°áĽá á áľ ááááľ ááĽá°á áááááľá áá°áŁáᢠáĽá áá? áá á á ááľá ፠ááŤá°áá á¨áá˝á áĽá ááłáŞáŤáá˝á á áľááľáá á áá°ááᢠá¨áŞáá¤á áľáááá áá ááťáá á ááááľ á¨áááľ ááľáááŽá˝á áá áĽáá° á áŤáŁá˘á áááááľ áá˝ááᢠá áá áááŠáŁ ááá፠áĽá¨á°á ááá ááá˘
áá áá á¨á°áŤáá ááľááá á áá áá á áľá°áłáłáŞáá˝ áľáŤá¸áá á¨á¨áľááá áŚáł ááá á á ááááŽáťá¸á áá áá¨ááá áá˝ááᢠá¨ááá á áá áá á á ááŤáł áŚáłáá˝ áá á¨á°áá°áŤá ááĽáľ áŤáá áŠáŁá፠ááá áĽáá˛áłáŠ áĽá áááŤáľáááá¸á áĄáľáá˝ áá á¨áľá ááá áá˝áá (ááĽá 10.1).
ááťá áŤáą á¨á°á áááľ ááľáľá á áá°áĽá. ááá áá á ááą á¨á˘áááŞáá˝á áááááá˝ á ááľááá ááá á ááľáĽ ááŤá°áľ áá˝áá, áá á á¨á°á áááľ á°á¨áá á áĽá á áá¨ááŤá. áááľ ááá á¨á°á¨áá°áá á¨áŞáá¤á áĽá á á áá áá á¨á°áá አááťáá˝ áĽááľá áŤáá áĄáľá á°ááłáłá TLS/SSL ááľá ፠áá áááᢠáááľ áŞáá¤á áĽá¸áá á¨ááżááŞáŤ á ááŤá á áá°ááᣠáá á áŁá á¨ááłáááľ ááľáĽ á ááą ááᢠIPsec ááľá áŤá á¨áá áá á ááŤá ááĽááĽá 2 ááżááŞáŤ ááŽáśáŽá á áá á ááŁá áĽá á°á áááą á¨á°á á á áĽáá°áá ááłá°áŁáá˘
á ááááľ áá ááá á á°ááŤáŠ ááááá˝ ááľáĽ á áá°áŠá áľ áá á áĄáľáá ááľáĽ áŤá ááá á°áá˝ áĽááľ á ááłá¸á á°á áááą á á°á á á áááł áĽáá˛ááŁáĄ ááááá? áá áá áááľá¨á á¨áá°áá áŞáŤ áááŤáľá áĽá á¨á ááááŠá á¨á áŤáŁá˘ á ááłá¨ áá¨áĽ á áŤáŁá˘ áááľá¨áľ á¨OpenVPN á áááá ááá á áŤáľáááááłáᢠáá áĽáá˛á°áŤ áááľ á¨áášáá áá˝áá˝á ááá áááľ áŽáá´áááŽá˝á ááľáŹáľ áĽáť ááᥠá áá°áá áĽáá° á áááá/á áľá°ááá áĽá á ááą áĽáá° á°áá á áááľáŤáľá˘ áŞáá¤á ááááŁáľ ááá áá°áľ á áá°áááŁáľááá áľááá ááľá á á áĽááŻá˝á áááááľ áĽááľ á°áááá˝á ááá°áľ á áá ááá áá˝ááá˘
10.1.1. á¨áŞáá¤á á áááá áá á ááááą
á¨ááááá á ááľ á ááłááľ á áá áááŽá˝á áĽá°áĽááłááᢠáĽááľá áĽáŤáľá áĽáá˛áŤá°áááľ á¨ááá (áĽá áĽáá˛áŤá°áááľ á áŁá áĽáááááłáá) ááááŁáľ á á´áľááśáá áá á á°á¨ááą á ááŤáł á°áááá ááľáŽáśá˝ áĽáŤááłááłá¸á á¨áá áá˝á áá á˛ááá áĽáŤáľáá áŤáááᢠá á ááľ áá áľ á¨á°áłáłá°áá áľááá áá° ááľáŽáą ááľáĽ á¨ááľááŁáľ á á°á á á. áá áá áááľáá¨áľ á¨á áľá°ááá áľá áľáááá á áá áá á áľááá ááľáአáá á¨ááłá¨áá á¨áá˝á áľá áá° á¨áľ áĽááłá á ááá áá°ááááááľ áááἠáá˝ááᢠáá áá áŤá°á¨á á áá á á˛áą ááźáśá˝ áĽáá˛á°áá አá¨á áááአáááŁáľ áĽá á°ááá°á áááŁáľ áŤáľáááááłáᢠáá á áááľáááĄ-
áá
áá á á°áŤá á áá¨á°á áĽá ááá°áŠáľ áĽáŤááłááą áá˝á á°áá˘áá áľá á ááľá áľ á ááá áŤáá áľá áŚáł áá¨áłá°á áá˝ááá˘
á¨á áľá°ááá áľá á¨á°á áá á áá á°á¨áłá áľáááá˝á á˛áá˝á á¨á áľá°ááá áááľ áŞáá¤á-á°áá¨á áááááśá˝á áááłáľ á áááťá á¨ááŤá áłá ááá ááŤááĽáááľ áá˝ááᢠᨠ/etc/hosts áááá á á°áá˘á á á˛áľ á¨á áľá°ááá áľá áááá á˝ááŠá áááłáľ á áá áľá˘
á áááááá áOpenVPN á áááááľ áá
á á áááአáá OpenVPNá áááŤá áááľ ááŹáá˝ áŤáľáááááłáᥠopenvpn áĽá easy-rsa (á¨ááľá ፠ááá á¨áááá¨áľ áá°áľá ááááŁá á)ᢠá¨CentOS á°á áááá˝ á áááŤá 2 áá áĽááłá°á¨ááľ á áľááá á¨áá á¨epel-release áá¨ááťá ááááŞáŤ ááŤá á ááŁá¸áᢠá¨á ááááŠá á áááŹá˝á áááá°á˝ áĽáá˛áá Apache áἠá°áá¨áá (apache2 on Ubuntu áĽá httpd on CentOS) ááŤá áá˝ááá˘
á áááááá áĽáŤááአáłá á¨22(SSH) áĽá 1194(OpenVPN's default port) á áľá°áá áááá áá°áŚá˝ á¨áá¨ááá áá¨ááá áĽáá˛á°áŤ áĽáááŤááᢠáá ááłá ufw á áĄáĄááą áá áĽáá´áľ áĽáá°áá°áŤ áŤáłáŤáᣠáá áĽááá á áá á¨CentOS áá¨ááááľ ááŽááŤá á¨áááŤá 9 á ááá áĽáá°ááŤáľáłááąáľ áĽááá á áááĄ
# ufw enable
# ufw allow 22
# ufw allow 1194
á á áááአáá áŁáá á¨á ááłá¨ áá¨áĽ á áááážá˝ ááŤá¨á á¨ááľáĽ ááľááá áááááľ á /etc/sysctl.conf ááá ááľáĽ á ááľ ááľáá (net.ipv4.ip_forward = 1) á ááááŁáŁáľ áŤáľáááááłáᢠáá á¨áááľ á°áá ááťá¸á á¨á°ááá á áá áĽáá° á áľáááááą áĽáá˛ááአáŤáľá˝áá¸ááᢠá á˛áą á ááŤá áĽáá˛á°áŤ sysctl -pá áŤááąáĄ-
# nano /etc/sysctl.conf
# sysctl -p
á¨á áááá á áŤáŁá˘á á áá áá á áá á°áá áŻáᣠááá áá á¨áááááľá á ááľ á ááľ á°á¨á᪠ááľá¨á áŤááĽááľ ááá á áᥠá¨áá¨á°ááľá á°á¨ááá˝ áá ááá áŤáľáááááłá (á ááŁá á áááá áĽáá¸ááá¸ááá)á˘
- á ááá rsa áĽá á á¨áá¨áĄáľá áľááŞááśá˝ á áá áá á¨á áἠááá áá á¨á° áááľ (PKI) ááľá ፠áááá˝á á á áááአáá ááá áŠá˘ á ááááľáŁ á¨OpenVPN á áááá áĽáá° á¨áŤáą á¨ááľáá áá¨ááľ áŁááľááŁá (CA) áá áá°áŤáá˘
- áá°áá áá á°áľáá áááá˝á áŤááá
- á¨á áááá.conf áááá áá áááአáŤáá áŠ
- á¨OpenVPN á°áá ááá áŤáá áŠ
- á¨áĽááľáá VPN áŤá¨áááĄ
á¨ááľá ፠áááá˝á á áááá¨áľ áá
áááŠá ááá áááľá¨áᣠá¨OpenVPN á áááá á áá°áŤá áľ áá˝á áá ááá áá á¨á° áááľáá áááá áá˝ááᢠááá ááᣠá¨á°á áááľ ááἠáááśá˝ ááááľ áá°ááŤáľ á¨á°áᨠá¨CA á áááá áá ááá áá áááᢠá OpenVPN ááľáĽ áĽá á áá á¨ááá á¨á˘áááŞáá˝á ááá ááĽáśá˝á á¨áááá¨áľ áĽá á¨áá°áŤá¨áľ áá°áľ á ááľá áá á°áááżá 10.2.
OpenVPN á á˛áá /etc/openvpn/ áááŤá á áŤáľ-á°á á°ááĽáŻáᣠáá áĽáľáŤáá ááá ááá á¨ááᢠᨠopenvpn áĽá easy-rsa áĽá
áá˝ ááá
á¨áľá áá°á¨áľ áá áááŁá¸á á¨áá˝ááľ á¨á áĽááľ áááá˝ áá á áĽá¨á áááŁáᢠá¨áá¨áá፠áá°áąá ááááá ááá-rsa á áĽááľ áááŤáá á¨/usr/share/ áá° /etc/openvpn áá
áą áĽá áá° ááá-rsa/ áá፠ááááŠáĄ-
# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa
ááá-rsa áá፠á áá á áŁá áĽááľ áľááŞááśá˝á ááááᢠá á áá á¨áĽ ááľáĽ 10.1 áááá˝á áááá á á¨áá áááŁá¸áá ááłáŞáŤáá˝ ááá¨ááŤá.
á¨áá áŤááľ ááááá˝ á¨áľá ááĽáśá˝á áááááᣠáľááá á sudo su á áŠá áľá ááá áŤáľáááááłáá˘
áĽááľá á¨áá°áŠá áľ á¨ááááŞáŤá ááá áŤááľ ááŁáá áĽá áááá˝á á ááŤáááá áľ áá ááá-ááł á¨áá áááľá á¨á áŤáŁá˘ á°ááááŽá˝á ááááᢠá áľááľáá áĽá፠áŤááľ ááŁáŞ áĽá´áśá˝ ááá á¨áĽáŤáľáá áĽá´áśá˝ ááá áá áááá áááľá áŤáľáááááłáᢠá¨áĽá ááá áá á áááľáá (áááá 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"
á¨áŤááľ áááá ááľáŹáľ áĽá´áśášá áá° áźá á áŤáŁá˘ áŤáľá°ááááᣠáĽááŤá á á á˛áą áááá˝á áááśá˝ ááľáĽ ááŤá°áłáᢠááá á¨áąáś áľááá á áŤáą á áá°áŤá? ááááŤáąá á ááááŞáŤ á°á¨á áŤááľ á¨á°á°á¨ááá áľááŞááľ áĽááľá°áŤáááá á¨ááŤá áĽáá°ááĽáŤááᢠáá°áá á áĽá áááľ á¨áŤááľ ááá áĽá´áśášá áá° áźá á áŤáŁá˘ áŤáľá°áááá áááľ ááᣠáĽááŤá á á á˛áą áááá˝á áááśá˝ ááľáĽ ááŤá°áłáá˘
áŤáá°á ááááá áá°áľ ááá ááá á á˛áľ áźá á áá áá áááá áĽáá°áá ááľáŹáľáá áŤá¨áááĄá˘ áá á˛á°á¨á áľááŞááą á /etc/openvpn/easy-rsa/keys/ áá፠ááľáĽ áŤááá áááááá áááľ áááľáááľ áá áľááŞááľ áĽáá˛áŤááą áá áá ááłáá˘
á á°ááĽáŽáŁ á¨áááĽáá áĽááá áášá
-áááá áľááŞááľ ááľáŹáľ ááᣠá ááá á build-caᣠáá
á á¨pkitool áľááŞááľ á¨áľá á°áá°ááŹáľ áááá á ááᢠá áŤááľ á¨áá¨á áá á¨ááááľ á
ááĽáŽá˝ áĽáá˛áŤá¨ááᥠáá á¨áááĄ-
# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key
ááĽá á¨áááŁáł ááá-á áááá áľááŞááľ áááŁáᢠá°ááłáłáŠá á¨pkitool áľááŞááľ á¨á á˛áľ áľáá á°áá°ááŹáľ áá áľááá ááᣠá¨ááá áĽáá ááá áŠá ááá¨ááἠá°ááłáłá áĽáŤááá˝á áłáŤáá ᢠá áá áá˝á áá áĽá áŞáá¤á áĽá¨á°áŠ áŤááá á áá á áĽááá áá á áááá á¨áááá áĽááľá áŁáááľ áááá áá°á¨áľ ááááš áá°á¨áááĄ
# ./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 á Diffie-Hellman áľáá°ááá (Build-dh á áá áá) á¨ááአáá¤áśá˝á áá á˛áľ áááááśá˝ áá¨áááĽá áá áááᢠáĽáá á¨á°áá á¨á ááá ááľáĽáŤá ááá á¨áá áľáᣠááá áá á á áá áá áá ááá á¨RSA áááὠᨠbuild-dh áľááŞááľ á áá áá ááá á á áá áľá˘ ááá°ááą á á˛áľ á¨RSA áááá˝á á¨áá አá¨Diffie-Hellman áááá áááá áŤáľáááááłááĄ-
# ./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
á¨á°áá á ááľá ፠áááá˝á á áááááľ áá
áá°á á˛á áĽááłá¨á¸á á¨á˛á¤áá¤áľ ááľá ፠áĽááľ á°ááá áááá˝á áá áááᥠá áá°áá á á áááአáá á¨á°áŤá áĽá á áááľ á°áá á áá á¨á°áŤáᢠáá áááľ á¨á°áá á áááá˝ áŤáľáááááłá áááľ áá. á¨áľáŽ áá°áá˝á pkitool á áľááá ááá á¨áááááľ ááᢠá áá ááłáᣠááŽááŤáá á /etc/openvpn/easy-rsa/ directory ááľáĽ áľááŤááľ á°áá á.crt áĽá client.key á¨ááŁá áááá˝á áááá á á¨á°áá á áááá áĽááľá°áááááá˘
# ./pkitool client
áááą á¨á°áá á áááá˝áŁ á ááá á ááá/ áá፠ááľáĽ áŤáá ááá á¨ca.crt ááá ááᣠá°á áááą á á°á á á áááł áá° á°áá áá áá°ááá á ááŁá¸áᢠá áŁáá¤áľááľ áĽá á ááłá¨áť ááĽáśá˝ ááááŤáľ áá ááá áááá áá˝ááᢠá áŁá ááá á áŤááľ á¨áááť áááá áááśá˝ á áĽá áá áłáľ áá (áĽá á¨á፠áááľ á áľá°áá) á áŽááá°áá á´áľááśá áá áá°áá°áŤ á°áááá (á˝ááá ááá¨áĄ ᣠá áአáá á áá á á áŤáľáá áĽá á¨áááá ááľáĽ á áł á¨áááá ááá¨áĄ) ᢠá¨á፠áá áá á¨á°áá áá áá á á°ááá ááá°á á°áááá áá á áá áŠáľ á°ááłáłá áľá áá° á á˛áľ ááá áááĽáá˘
áá ááá á°á ááá¨áĽ áĽá ááá á áá˝áá. áááááľ áĽáá° á áľá°áłáłáŞ áŤáľáĄ ááááŤáąá á¨ááá¨áĽ/á¨ááá á áľáŤáá˝ á¨ááťáá áľ GUI áááá ááááľ á áá˝ááᢠáááášá áá° á°á ááá á¨á¤áľ áá፠áá áą (áľááá á¨áááľ scp ááá áĽáá˛á°ááľáŁá¸á) áĽá á ááá á á¨áááá˝á áŁáá¤áľáᾠᨠ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
áá á¨ááľá ፠áááá˝ ááá á˛áá áŞáá¤á áĽáá´áľ ááá á áĽáá°áááá áá áááአáááá á ááĽááľá˘ áá á¨áá°á¨áá á¨á áááá.conf áááá á áá áá ááá˘
á¨ááá áááśá˝ áĽááľ ááááľ
á áŁá áĽá áá°á¨áĽ á á? á á áá ááľáááľ áĽááá á áľáľáľáľ áľáááá˝ áá° áááľ áááááľ áá¨áłáᢠáĽááá á áá áĽááá á áááľ ááłááá˝ á ááĽááľ áá áĽá¨á°áŤáá° áĽááłá áá¨áłáľ áľá˝ááá ᢠá áá ááĽáŁ áĽááá á ááááá˝ á á áľá ááá á ááśáá˝ á¨ááá አá áŤááľá á ááŤáŤáľáą áľáŤáá˝ áá áĽáá´áľ áĽáá°áá°áá አáá¨áłáľ áá˝ááá˘
# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/ # chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}
á¨á áááá.conf áááá á áááááľ áá
á¨á áááá.conf ááá áá ááá°á áĽááłáá áľ áĽáá´áľ ááá áá˝áá? á¨/usr/share/ á¨ááąáľ ááá-rsa áá፠á áĽááľ áŤáľáłááą? OpenVPNá á˛áá áá° /etc/openvpn/ áá áłáľ á¨áá˝ááľ á¨áłáá á¨áá á¨áľ á áĽááľ ááá ááá°ááᢠá áĽááľ á áá á°á á¨á°ááá á¨áááá áĽáááł áĽáááŁáá áĽá á¨á áá ááłáŞáŤ áá á áľá°áááá˝áááᥠzcat.
á¨áľááľ áľáááá á áá áá á¨áááá á˝áá áááľ áá° áľááŞá áľááá°á á áľááľáá áŤáááᣠáá ááá gzip á áá áá á˘á¨áá áľ? áááá áá áá áááłáľ áá˝áá áĽá á¨á፠áľááľ á á°áľáł áááŁá ᣠáá áá á¨ááŤáľáááá á áá á ááľ ááá áááľ áĽááááá˝ ááᢠá ááľáŠáŁ áĽááľá áĽáá°áááąáľáŁ áŤááłá¸ááá á˝áá á á ááľ á°á¨á áá° áá á°á¨ áľááľáł áááŤá ᨠzcat áľááá ááľá áľ áá˝ááᢠá áá¨á°áá ááłáᣠá˝ááá áá° áľááŞá á¨áá°á ááá ᣠáá° á áááá.conf áá° ááŁá á á˛áľ ááá áŤááŤááĄ-
# zcat
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
> /etc/openvpn/server.conf
$ cd /etc/openvpn
á¨ááá áá á¨áááĄáľá á°á áĽá á áἠá°ááśá˝á áá° áá áĽáá°á áĽá á ááľááľ á˛á¨ááą áá áááľá áĽáá°áá˝á áĽááᢠá´ááŽáá (;) ááŁáŠá ááľáá áĽááłáŤáἠááá áĽááłáá°áŤ (áááá 10.2) OpenVPN áĽáá°áááá¨á áἠáá áá˘
á¨áĽááá
á
ááĽáŽá˝ ááľáĽ áĽááśášá áĽááá˘
- á ááŁáŞáŁ OpenVPN á áááľ 1194 áá áá°áŤáá˘áá á ááá¨á áá˝áááŁáááłá áĽáá áľáá´áá˝áá á¨á áá ááá°á á ááá á¨ááá˝ áá ááťáá˝ áá áááśá˝á áááľáááľá˘ 1194 á¨á°áá áá˝ áá á ááľá°á á áá áľ áľáááŤáľáááá, á áá ááááľ á˘áŤá°áááľ áĽáŠ áá.
- OpenVPN áááĽá áááľá°ááá á¨ááľá°ááá፠áááŁá áŞáŤ ááŽáśáŽá (TCP) ááá á¨á°á áá áłáłááŤá ááŽáśáŽá (UDP) áá áááᢠTCP áľáá˝ áááá ááá áá˝ááᣠáá á¨á áá á áľá°ááá áĽá á ááťá á áááąá áŤáá˝ áá á áá°áŠ áá°áá áŞáŤáá˝ á¨áá¨áłáľ ááľá á¨áá°á ááá˘
- á¨ááἠáááľ áĽáá áá ááá ááá á¨ááá áááᣠáááŁá á¨á áá ááť áááá á á˛ááá dev tuná áááá˝ áá˝ááᢠá áá á áŠá áĽá á¨ááľááá á áááážá˝á (áĽá á¨áááááľá ááľáááŽá˝) áááááľ áŤááŚáľ á¨á¤á°áááľ áľááľá ááá á á¨áááá á´á áłáá ááá¨áĽ á ááĽá ᢠáá áá áá áááľ áĽáá°áá áŤáá°á¨áłá á¨áąá áááá á°á ááá˘
- á¨áááĽááľ á áŤáľ ááľááŽá˝ OpenVPN á á áááአáá áŤááľá á¨áśáľáą á¨áá¨áá፠áááá˝ áĽá áá°á áĽáá á¨áá áŠáľá á¨dh2048 á ááŤáŽá˝ ááá áľá áá°áŁáá˘
- á¨á áááአááľáá áá°áá áá˝ á˛áᥠá¨á áá á áľáŤáťáá˝á áááá°áĽ áĽá á áá á¨ááááá ááá áĽá áááľ áá¨áĽ áááĽá áŤááááá˘
- á¨á ááŤá á¨áá áááŞáŤ "ááááľ 10.0.3.0 255.255.255.0" á¨áááľ á°áá áá˝ á¨á áááአá áľá°ááᣠáŤááá á¨áá áłáĽááľ áĽáá˛áŤáá áŤáľá˝áá¸ááᢠáá áá áľáŤ áááľáŤáľ á¨áá áłáĽááľ áľá OpenVPN áłáĽááľ (10.8.0.0) áĽáá˛áŤáá á áŤáą á á áááአáá ááľáááŠá ááááá áá áááá˘
- áá°áĽ-share localhost 80 ááľáá áá°áĽ 1194 á¨áááŁáá á¨á°áá á áľáŤáá áá°áĽ 80 áá°áá°á á¨ááá ááľáĽ á¨áľá á áááá áĽáá˛áŤáአáŤáľá˝áááłáᢠá¨ááŤá tcp ááŽáśáŽá á˛áá¨áĽ.
- á´ááŽááá˝á (;) á ááľáááľ á°á ááá ááá áĽá á¨áĄáľá áááŽá ááľááŽá˝ ááááľ á ááŁá¸áᢠá¨áááľ á°áá ááťá¸áá áĽáá°ááá áĽá á¨áĄáľá áľáĽáľáĽ áĽáá˛áŤá°áá ááľáá°áľ á á áááአáá áŤá ááá-áááá˝ áአááĽáľ á¨ááá¸á áááá¸áá áŤá¨áááŁáá˘
- áá áááľ áŞáá¤á á ááᨠááĽá á áá áŤá á¨áááἠááľáłááťáá˝ á¨áľáŽ áá¤áśá˝á áĽáá°áá°áŠ ááááá ᣠáá á áááľ áá á áá áŁáá á¨áááἠááľáłááť ááá áá á á˛áľ áá¤áśá˝á áá¨ááŤáᢠᨠopenvpn.log ááá áŤáą áá° /etc/openvpn/ áá፠á°á˝ááá˘
á á°á¨ááŞáᣠá¨OpenVPN á áááá á á°á¨á᪠áĽá á°áá áá˝ áĽááľá ááľ áĽáá˛á°áŤáŠ á¨á°áá á-áá°áá á áĽá´áľ áĽáá˛á áá° áá á ááá áĽá áá ááłá¨ááᢠá ááááá á¨á¨áŠ á¨OpenVPN á ááááá áááá áá˝áááĄ-
# systemctl start openvpn
á OpenVPN áĽá systemd ááŤá¨á áŤáá áááááľ á ááá¨áŠ ááááŤáľ á áááááľ ááááá á ááłááľ áá á¨áá¨á°áá á ááŁáĽ ááŤáľááá áá˝ááᥠsystemctl 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 áľáŤáá á á ááľ á áŠá áá° ááťá ááľáĽ áĽá áá° áá áááŤááᢠááá áá á¨á°áá áá áá áááľá á ááťá áááá áŤá áá á ááłááľ áśááľááŽá˝ áŤáľáááááłá.
á áá ááá áĽáá° OpenVPN á°áá á áááá á ááłááľ á¨ááááľ áŽááá°áŽá˝á á áĽá á áááááľ áá á á°áŠáŤááᢠáá áá áĽáľá á¨áááá áľ áĽá¸áá ááááľ áá á áá°áá. OpenVPN áááśááľ ááá áááŽá á ááŤááą á´áľááśáá˝ áĽá áááśáá˝ áĽáá˛áá á ááľáŽááľ áĽá á ááŚá¤áľ áľáááľááá˝ áĽá áłáĽááśá˝ áá ááŤá áĽá áá áááŁá¸á á¨áá˝á á¨á°áá á áá°áá áŞáŤáá˝á áá°áááᢠáááááŽá˝ openvpn.net áááá¨áąá˘
á¨OpenVPN áĽá á á á áááአáá áĽáá°á°áŤáá á á°áá áá áá˝á áá ááŤá á áá áľáŁ ááá áĽááłá áĽáá ááá-rsa á áŤáľáááá ááááŤáąá á¨áá áááŁá¸á áááá˝ ááľááá á áᢠá¨á°áá ááá.conf á áĽááľ ááá á áá áá°áá áŠáľ /etc/openvpn/ áá፠áá áłáľ á ááŚáľá˘ á áá áá ááá áá á áá°á¨ááᣠáľááá á¨á°ááá°á cp áľááá á áľááá áľáŤáá áá°áŤááĄ-
# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf
/etc/openvpn/
á áĽááľá á¨á°áá á.conf ááá ááľáĽ áŤá á áĽááááš á ááĽáŽá˝ ááááá˝ áĽáŤáłá¸áá á¨ááááš ááááᥠá á áááአáá áŤááľ áĽá´áśá˝ áá ááááľ á ááŁá¸áᢠá¨áá¨á°áá á¨ááłá ááá áá¨áľ áĽáá°ááľá˝ááᣠáአáááŞáŤá á¨áááľ 192.168.1.23 1194 ááᣠáá á áá°áá áá á¨á ááááŠá á áá á áľáŤáť áááá¨ááᢠáĽáá°ááᣠáá á¨áĽááľá á áááá á áľáŤáť áááá áŤá¨áááĄá˘ áĽáá˛áá á ááá áá áá°ááľ á¨áá˝ááá á°á áĽááľ ááá¨áá¨á á¨á°áá ááá áŽáááŠá°á á¨á ááááŠá á°áá°ááŹáľ áľááááááľ áĽáá˛áŤá¨ááἠááľáá°áľ á ááŚáľá˘ áá áá áááľá¨á á ááą ááááľ á¨áááľ-á°ááľ-tls á áááá (áááá 10.3) áá¨á ááá˘
á áá áá° /etc/openvpn/ áá፠áá°á á¨áá¨áá፠áááá˝á á¨á áááአáááŁáľ áá˝ááᢠá ááłáá ááľáĽ áŤááá á¨á áááá IP á áľáŤáť ááá á¨á፠áľá á áĽá´áśáťá˝á áá°áŠáĄ
OpenVPN á á á°áá áá áá áĽáľáŞáŤááą áľá¨áľ ááá á áľá°áłá˝ ááá á áá¨á°áľáᢠáááľ ááááŽá˝á ááá áľáááŤáľááá á¨áľááá ááľáአáá áŤá°áááłáᢠᨠ--tls-client áááá áOpenVPN áááá¨áá áĽáá° á°áá á ááá áĽáá°áá°áŠ áĽá á TLS ááľá ፠á áŠá áĽáá°áááá áĽá - config áá° áá
á áááá áá ááááĄ
# openvpn --tls-client --config /etc/openvpn/client.conf
á áľááá áááááľáá ááá¨ááἠá¨áľáĽáá áá¤áąá á áĽááá áŤááĽáĄá˘ áááááŞáŤ áá á¨áá á˝áá á¨á°áá á¨áŁ á á áááአáĽá á á°áá á áá á áááá˝ ááŤá¨á áŁáá á áá áśá˝ á ááááŁá á ááá á ááľááá áááááľ/áá¨ááá á˝áá ááááŤáľ ááá áá˝ááᢠá ááłááľ á¨áá áááá፠áááŽá˝ áĽáá á áá˘
- á á°áá áá áá á¨OpenVPN áŚááŹá˝á áá¤áąá á áĽááá áŤááĽáĄá˘ á áľááá áá ááľá¨á áĽáá°áááťá áĽá ááá áĽáá°áá á áá áááŽá˝á áááá˘
- á á áááአáá áŁáá /etc/openvpn/ áá፠ááľáĽ á openvpn.log áĽá openvpn-status.log áááá˝ ááľáĽ áŤááľá á¨áľá á°áľ áááĽááśá˝ áŤá¨áááĄá˘
- á¨OpenVPN áá áá°áŤáŤá áĽá á áá á¨á°áŤá áááááśá˝á áááááľ á¨áľáááľ áááἠááľáłááťáá˝á á á áááአáĽá á°áá á áá áŤá¨áááĄá˘ (journalctl -ce á áŁá á¨á áἠáá áá¤áśá˝á áŤáłáŤáá˘)
- á á áááአáĽá á á°áá áá ááŤá¨á áá á¨á ááłá¨ áá¨áĽ áááááľ áĽááłáááľ áŤá¨ááᥠ(á áá áá á áááŤá 14 áá á°á¨ááŞ)á˘
áľá á°áŤá˛á
á´áŞáľ áááá°á - á¨áľáááľ á áľá°áłáłáŞ, á áľá°á᪠áĽá á¸áá. ááĽá á áá á´áááŤá áááá˝ áľáá
ááłá ááłááśá˝á á áľá°áłáľáŻáᣠá˝áá áĽá ááĽáŻááŁá¨ááááľ á˛áľá°áá˝áᣠá°áá ááľááľ (á á°áá AWS) áĽá áĽáá° Docker áá á¨ááŤáŁ á´áááááá˝á˘ á á ááľ áá ááłáá˝ ááľáĽ á¨á ááá áľá á áááááśá˝á á°áá (ááááᣠ2017) á¨áááá áá˝áá áťáᢠáĽáááš á¨áŞá˛áŽ áá°áá á áŽááśá˝ á Pluralsight.com ááá áá˝ááᣠáĽá áá° ááá˝ áá˝áááš (á ááááľ á áľá°áłá°á áĽá á á áááá á¨áášáááááá˝á áá) á áááá˝ á áá ááááá˘
Âť áľá áá˝áá á°á¨á᪠áá¨á áĽáŁááá áááĽá
Âť
Âť
á Khabrozhiteli á áŠáá áá 25% á
áá˝ - ááááľ
á¨áá˝ááá á¨áá¨ááľ áľáŞáľ á˛á¨áá, á˘-áá˝áá áá° á˘áá áááŤá.
ááá: hab.com