OpenVPN - Konfiguracja dla administratora

in #polish7 years ago

Witajcie, przez problemy z psem (dziabnął mnie) nie miałem czasu przygotować materiału na dziś, więc wrzucam mój stary materiał nt. OpenVPN. Przepraszam za utrudnienia :(

OpenVPN, to pakiet oprogramowania służący do tworzenia sieci typu punkt - punkt lub strona – strona. Podstawową zaletą tego pakietu jest bezpieczeństwo sieci (pakiety są kompresowane i szyfrowane) i możliwość pracy wewnątrz sieci firmowej. Usługa została zastosowana, by zewnętrzne oddziały firmy mogły w bezpieczny sposób korzystać z zasobów serwera poprzez sieć internetową. Po instalacji programu z repozytorium należy go odpowiednio skonfigurować. Należy się zastanowić nad trybem pracy VPN – TUN lub TAP. W TUN podłączeni klienci pracują za NAT serwera (klient jest ukryty za serwerem przez co nie można sprawdzić do kogo informacje idą), a TAP oznacza pracę w moście (komputer połączony jest widziany jako oddzielna maszyna podłączona bezpośrednio do sieci), dostaje przydzielony adres z puli OpenVPN i jest widziany przez innych użytkowników sieci. W projekcie został wykorzystany tryb TAP. Następnym celem jest wygenerowanie głównego certyfikatu i klucza CA, na podstawie których tworzony jest certyfikat dla serwerów i klientów. Certyfikatów warto używać gdy więcej osób będzie używało VPN (np. jeśli są dwie siedziby) czy istnieje potrzeba większego bezpieczeństwa (można dany klucz unieważnić, gdy np. pracownik zostanie zwolniony). Do wygenerowania kluczy wykorzystane zostaną skrypty easy-rsa. W pliku vars modyfikujemy wartości potrzebne do wygenerowania klucza na dane naszej firmy (takie jak nazwa firmy, miasto, organizacja, email itd.), skrypt build - ca wygeneruje główny certyfikat i klucz CA, build – key - server wygeneruje klucz serwera, build - key klienta, a build - dh wygeneruje dane dla protokołu Dillfiego – Hellmana.

Następnym krokiem jest przekopiowanie odpowiednich kluczy klienta (ca.crt, klient.crt, klient.key). Tryb TAP polega na stworzeniu mostu między fizycznym interfejsem (np. eth1), który zostanie udostępniony, a wirtualnym tap0 – z połączenia tych interfejsów powstaje br0 (ang. bridge – most). Do Firewalla IPTables należy dodać linijki pozwalające na przesył pakietów po interfejsie tap0 i br0, a samo połączenie interfejsów zainicjuje skrypt bridge-start udostępniany przez twórców. Warto się zastanowić nad dodatkowymi opcjami dla VPN'a, takich jak np. kompresja lzo (comp-lzo), utrzymywanie połączenia (keepalive) czy udostępniania DNS (przydatne jeśli chcemy wymusić używanie wewnętrznego serwera DNS).

dev tap0 #Tryb pracy - TAP
port 1194 #Port nasłuchiwania – 1194 (domyślny)
proto udp #Protokół – UDP
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/opa-main.crt
key /etc/openvpn/easy-rsa/keys/opa-main.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server-bridge 172.16.0.1 255.255.0.0 172.16.10.1 172.16.10.255 #Wewnętrzne IP serwera, maska, pula #adresowa dla klientów łączących się po VPN
push "dhcp-option DNS 172.16.0.1 208.67.222.222" #Udostępnione adresy DNS wewnątrz sieci VPN
comp-lzo #Włączona kompresja LZO
keepalive 10 60 #Utrzymywanie połączenia

Konfiguracja serwera OpenVPN

client #Identyfikuje się jako klient
dev tap #Tryb pracy - TAP
proto udp #Protokół - UDP
remote 192.168.1.33 1194 #Adres IP i Port z którym ma się połączyć
ca ca.crt 
cert klient.crt
key klient.key
comp-lzo #Włączona kompresja LZO 
keepalive 10 60 #Utrzymywanie połączenia

Konfiguracja klienta OpenVPN

Sort:  

W TUN podłączeni klienci pracują za NAT serwera (klient jest ukryty za serwerem przez co nie można sprawdzić do kogo informacje idą

Nie rozumiem tej linijki oraz uzasadnienia. W TUN jest po prostu bezpośrednie połączenie z klienta do serwera, aTAP łączy w tym przypadku dwa interfejsy danego komputera.

W przypadku VPN, NAT'em zawsze będzie serwer VPN do którego podłączeni są klienci (z zewnątrz sieci) ale oni między sobą będą na równi oraz będą mieli do siebie nieograniczony dostęp (jeżeli FW pozwoli oraz w ramach VPN mamy tylko jedną podsieć).

  Tak jak w domowej sieci Wi-Fi, na przykład.

+nawet jeśli dla adminów to trochę zbyt szczątkowe informacje. Bardziej na doczytanie i zainteresowanie się tematem bo jeżeli ktoś szuka informacji jak skonfigurować VPN w TAP to stąd się nie dowie.

Np czytając o kopiowaniu kluczy nie spojrzałbym w konfigurację niżej żeby zobaczyć że można po prostu dodać ścieżkę do nich tylko myślał, że mają jakiś stały folder, a Ty go nie podałeś.

~CN

Bez obrazy, to tylko moje zdanie.

W TUN jest po prostu bezpośrednie połączenie z klienta do serwera, aTAP łączy w tym przypadku dwa interfejsy danego komputera.

No, ale TUN działa jak NAT, czyli dostajemy co prawda adres, który widzi serwer, ale inne komputery go nie widzą (chyba, że coś z dokumentacji pominąłem), a w TAP (po właśnie połączeniu interfejsów w jeden most) każdy komputer łącząc się z serwerem dostaje własny adres IP w sieci wewnętrznej. Może troszkę nieskładnie, będę poprawiał.

Bez obrazy, to tylko moje zdanie.

Spoko, nie zabiję cię ... dziś :>

Poniżej zrzut z mojego VPN. Najpierw status OpenVPN'ovy i dwa hosty/klienty z adresami 10.8.0.10 oraz 10.8.0.14
a niżej ifconfig z servera na którym widać ens3 jako interfejs do świata oraz tun0 jako interfejs VPN'owy.

Na drugim screenie poniżej widać ping z 10.8.0.10 na 10.8.0.14 (co przy teoretycznym nacie nie byłoby możliwe bo musiałbym odpytać router/server natujący i do klienta bym się nie dobił...potocznie mówiąc :D )

A tak wygląda moja mała sieć:

Serwer oraz dwa klienty.

No i jak rozumiem jest git. Natomiast jakbyś z czegoś takiego robił
KOMP1 -> Serwer -> KOMP-VPN
To Komp-VPN nie byłby widoczny dla KOMP1 w TUN, ale w TAP już owszem, bo dostałby własny IP z podsieci

Rozrysuj mi to bo nadal nie kumam :D
W sensie, że IP ze wspólnej podsieci komp1 i komp-vpn ?

Myślałem, że zaczynam Cię rozumieć ale po tym

przestałem :d

Przyjmę sobie analogię routera i Cię (chyba) rozumiem ale jak "wstawiam" w to miejsce server VPN to znowu nie rozumiem.

Wydaje mi się że rozmawiamy o tym samym tyle, że każdy na swój sposób. xD

Chyba mój post się nie wysłał. Nie chce mi się painta robić xD W TUN VPN może pingować Komp 1, a Komp 1 nie może pingować Komp VPN. W TAP oba mogą siebie pingować nawzajem.

Chyba, że nie znalazłem odpowiedniego parametru dla TUNa, ale nie wydaje mi się, by było to możliwe

Polecam yed'a -> https://www.yworks.com/products/yed
Dobra. Załóżmy, że się rozumiemy xD

OpenVPN to świetna sprawa, ale teraz jest jeszcze wireguard. Tutaj więcej info: https://bezpiecznyvpn.pl/co-to-jest-vpn-i-jak-dziala/

O czym w rozmawiacie, to przecież jakaś czarna magia, czytam was i nic nie rozumiem, jakieś TUN, NAT, TAP, zrzut mojego VPN nic nie rozumiem, nawet mi nie tłumaczcie, to tylko i tak pogorszy moje rozumowanie.

Wyobraź sobie, że masz sieć firmową. Pracodawca powiedział, że możesz jechać sobie na urlop z firmy, ale w razie czego musisz pomóc. VPN umożliwia stworzenie takiej kombinacji (że tak powiem) jakbyś był fizycznie w firmie podpiętym do sieci. Także masz dostęp do drukarek i innych rzeczy. To takie jedno z zastosowań dość uproszczonych.

Inni używają VPNów do ukrywania się w sieci.

Aha teraz to trochę rozumiem, to takie trochę nie ma mnie, ale jestem i wszystko widzę. Dzięki za wytłumaczenie laikowi

Wow, a krew ze zwierząt też spuszczacie? Bo to jak jakiś rytuał wygląda :)

Przyzywamy daemony :>

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.027
BTC 60654.57
ETH 2343.25
USDT 1.00
SBD 2.48