Dostawca internetu zbiera informacje o tym co robisz w internecie ? (Operatorzy GSM)
Chcesz mieć dostęp do sieci domowej w sposób bezpieczny ?
Virtual Private Network, czyli VPN to rozwiązanie dla Ciebie !
1.Instalacja
apt-get install openvpn easy-rsa
2.Konfiguracja serwera openvpn
touch /etc/openvpn/server.conf #edytuj /etc/openvpn/server.conf port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" keepalive 10 120 cipher AES-256-CBC comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
3.Zmiany w systemie
echo 1 > /proc/sys/net/ipv4/ip_foward #edytuj /etc/sysctl.conf net.ipv4.ip_forward=1
4.Instalacja i konfiguracja nakładki ułatwiającej zarządzanie iptables (firewall)
apt-get install ufw ufw allow 1194/udp #edytuj /etc/default/ufw DEFAULT_FORWARD_POLICY="ACCEPT" #edytuj /etc/ufw/before.rules # # rules.before # # Rules that should be run before the ufw command line added rules. Custom # rules should be added to one of these chains: # ufw-before-input # ufw-before-output # ufw-before-forward # # START OPENVPN RULES # NAT table rules *nat :POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN RULES # Don't delete these required lines, otherwise there will be errors *filter ufw enable ufw status | grep '1194/udp'
5.Generowanie CA, certyfikatu i klucza serwera
cp -r /usr/share/easy-rsa/ /etc/openvpn mkdir /etc/openvpn/easy-rsa/keys #edytuj /etc/openvpn/easy-rsa/vars export KEY_COUNTRY="KRAJ" export KEY_PROVINCE="WOJEWODZTWO" export KEY_CITY="Miasto" export KEY_ORG="Nazwa organizacji/firmy" export KEY_EMAIL="email@" export KEY_OU="Nazwa jednostki" # X509 Subject Field (nazwa klucza) export KEY_NAME="server" openssl dhparam -out /etc/openvpn/dh2048.pem 2048 cd /etc/openvpn/easy-rsa . ./vars ./clean-all ./build-ca
Mamy już przygotowane środowisko do generowania i podpisywania certyfikatów dzięki certyfikatowi CA (Certificate Authority).
Teraz czas na pozostałe certyfikaty
cd /etc/openvpn/easy-rsa ./build-key-server server # hasło i 'company name' pozostawmy puste Sign the certificate? Y
Wygenerowaliśmy certyfikat i klucz dla serwera, przenieśmy je:
cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn
I sprawdźmy czy serwer się uruchamia:
service openvpn start service openvpn status
6.Generowanie certyfikatu i klucza dla klienta:
cd /etc/openvpn/easy-rsa ./build-key klient1 # hasło i 'company name' pozostawiamy puste Sign the certificate? Y cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/klient.ovpn #edytujemy /etc/openvpn/easy-rsa/keys/klient.ovpn client dev tun proto udp remote ip_serwera 1194 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun remote-cert-tls server cipher AES-256-CBC comp-lzo verb 3
Uwaga: ustawienie user/group jest niekompatybilne z Window
Bardziej spostrzegawczy zauważą, że w pliku konfiguracyjnym brakuje konfiguracji certyfikatów/klucza 🙂
7a. Generowanie zunifikowanego pliku profilu openvpn
'Zunifikowany’ plik zawiera wszelkie informacje wymagane do uruchomienia usługi w sobie samym, bez dodatkowych plików certyfikatów, kluczy.
echo '<ca>' >> /etc/openvpn/easy-rsa/keys/klient.ovpn cat /etc/openvpn/ca.crt >> /etc/openvpn/easy-rsa/keys/klient.ovpn echo '</ca>' >> /etc/openvpn/easy-rsa/keys/klient.ovpn echo '<cert>' >> /etc/openvpn/easy-rsa/keys/klient.ovpn cat /etc/openvpn/easy-rsa/keys/klient.crt >> /etc/openvpn/easy-rsa/keys/klient.ovpn echo '</cert>' >> /etc/openvpn/easy-rsa/keys/klient.ovpn echo '<key>' >> /etc/openvpn/easy-rsa/keys/klient.ovpn cat /etc/openvpn/easy-rsa/keys/klient.key >> /etc/openvpn/easy-rsa/keys/klient.ovpn echo '</key>' >> /etc/openvpn/easy-rsa/keys/klient.ovpn
7b. Być może nie odpowiada wam plik profilu z kluczem i certyfikatem wbudowanym w niego:
Wtedy dodajemy:
ca ca.crt cert klient.crt key klient.key
I pamiętamy by dostarczyć powyższe pliki wraz z profilem .ovpn