
Krok 1: Sprawdzenie konfiguracji sieci
Sprawdź adresy IP dostępnych interfejsów sieciowych:
ip a
Krok 2: Instalacja niezbędnych narzędzi
Zainstaluj net-tools
:
apt install net-tools
Zaktualizuj pakiety:
apt update -y
Zainstaluj OpenVPN i Easy-RSA:
apt install openvpn easy-rsa -y
Sprawdź wersję OpenVPN:
openvpn –version
Krok 3: Konfiguracja Easy-RSA
Skopiuj Easy-RSA do katalogu domowego:
cp /usr/share/easy-rsa /home/easy-rsa -r
Przejdź do katalogu Easy-RSA:
cd /home/easy-rsa
Zainicjuj infrastrukturę PKI:
./easyrsa init-pki
Wygeneruj żądanie certyfikatu serwera bez hasła:
./easyrsa gen-req server nopass
Zbuduj CA (Certificate Authority) bez hasła:
./easyrsa build-ca nopass
Skopiuj certyfikat CA do katalogu OpenVPN:
cp /home/easy-rsa/pki/ca.crt /etc/openvpn/
Podpisz żądanie certyfikatu serwera:
./easyrsa sign-req server server
Skopiuj podpisany certyfikat serwera:
cp /home/easy-rsa/pki/issued/server.crt /etc/openvpn
Wygeneruj klucz DH:
./easyrsa gen-dh
Skopiuj klucz DH do katalogu OpenVPN:
cp /home/easy-rsa/pki/dh.pem /etc/openvpn/
Wygeneruj klucz tajny TLS:
openvpn --genkey secret ta.key
Skopiuj klucz CA do OpenVPN:
cp /home/easy-rsa/pki/private/ca.crt /etc/openvpn/
Krok 4: Konfiguracja klienta
Przejdź do katalogu swojego katalogu domwego i utwórz folder tmp
:
cd /home/{twój użytkownik}/
mkdir -p tmp
chmod 777 /home/{twój użytkownik}/tmp/ -R
Skopiuj certyfikaty i klucze do folderu tymczasowego:
cp /etc/openvpn/ca.crt /home/{twój użytkownik}/tmp
cp /etc/openvpn/ta.key /home/{twój użytkownik}/tmp
Zbuduj certyfikat klienta:
./easyrsa build-client-full <CLIENT_NAME>
Skopiuj certyfikat i klucz klienta:
cp /etc/openvpn/easy-rsa/pki/issued/<CLIENT_NAME>.crt /home/{twój użytkownik}/tmp
cp /etc/openvpn/easy-rsa/pki/private/<CLIENT_NAME>.key /home/{twój użytkownik}/tmp
Skopiuj przykładowy plik konfiguracyjny serwera i dostosuj do swoich potrzeb:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn -r
Przykładowy plik konfiguracyjny server.conf
Możesz edytować plik usunąć jego zawartość i użyć z przykładu poniżej, dostosowując jego treść do swoich potrzeb.
port 1234 (do zmiany)
proto udp4
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
# subnet klienta
topology subnet
server 10.0.0.0 255.255.255.0 (możemy zmienić na dowolną będzie to sieć na której działa nasz vpn, maskę zostawiamy)
# Rejestr wirtualnych adresow IP klientow
ifconfig-pool-persist /var/log/openvpn/ipp.txt
# Push routy
push "route 192.168.1.0 255.255.255.0" (route dla twojej sieci)
# wysyła ping co 10s z timeout 120s
keepalive 10 120
# plik z kluczem statycznym
tls-auth ta.key 0
# ustawienie szyfrowania AES z kluczem 256 bit i algorytmem CBC
cipher AES-256-CBC
Krok 5: Konfiguracja usługi OpenVPN
Włącz usługę OpenVPN:
systemctl enable openvpn@service
Uruchom usługę:
systemctl start openvpn@service
Sprawdź status usługi:
systemctl status openvpn@service
Krok 6: Konfiguracja iptables
Zainstaluj iptables i narzędzia do zachowania reguł po restarcie:
apt install -y iptables iptables-persistent netfilter-persistent
systemctl enable netfilter-persistent
netfilter-persistent save
Dodaj reguły iptables:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport <tu lokalny port UDP ovpn> -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -P INPUT DROP
Dostosuj poniższe reguły do swojej sieci, zamieniając 10.0.0.0/24
i 192.168.1.0/24
(dostosuj do swojej adresacji) na odpowiednie adresy:
iptables -A FORWARD -s 10.0.0.0/24 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -s 10.7.69.0/24 -d 192.168.1.0/24 -j MASQUERADE
netfilter-persistent save
Pamiętaj, aby po każdej zmianie w iptables zapisać reguły:
netfilter-persistent save