Avem un server OpenVPN cu următorul server.conf:
local x.x.x.x
portul 1194
proto tcp
dev tap
ca ca.crt
cert server.crt
cheie server.cheie
dh dh.pem
auth SHA512
tls-crypt tc.key
subrețea topologică
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
client-config-dir /etc/openvpn/ccd
de la client la client
menține în viață 10 120
cifrul AES-256-CBC
utilizator nimeni
grup fără grup
cheie-persiste
persist-tun
stare openvpn-status.log
verbul 3
crl-verify crl.pem
De asemenea, am avut o instanță Linux în AWS care rulează un client OpenVPN și i-am atribuit cu succes o adresă IP statică de 10.8.0.2, adăugând un fișier cu numele comun al clientului la serverul OpenVPN. /etc/openvpn/ccd
director cu următorul conținut:
ifconfig-push 10.8.0.2 255.255.0.0
Acum vrem să înlocuim acea instanță Linux cu o instanță Windows Server 2019 și să îi dăm aceeași adresă IP statică 10.8.0.2. Deci am făcut următoarele:
- a șters instanța Linux din AWS
- a folosit Nyr OpenVPN Scriptul openvpn-install.sh pe serverul OpenVPN pentru a revoca clientul Linux
- a șters clientul Linux de pe serverul OpenVPN
/etc/openvpn/server/easy-rsa/pki/index.txt
fişier
- a șters certificatul clientului Linux de pe serverul OpenVPN
/etc/openvpn/server/easy-rsa/pki/revoked/certs_by_serial
director
- a șters fișierul client Linux din serverul OpenVPN
/etc/openvpn/ccd
director
- a șters serverul OpenVPN
/etc/openvpn/server/ipp.txt
fișier (deoarece avea o asociere de 10.8.0.2 cu clientul Linux)
- a adăugat un fișier nou în serverul OpenVPN
/etc/openvpn/ccd
directorul pentru instanța Windows Server 2019 cu ifconfig-push 10.8.0.2 255.255.0.0
- a creat o instanță Windows Server 2019 în AWS
- instalat OpenVPN 2.4.9 pe instanța Windows Server 2019
Instanța Windows Server 2019 are următorul fișier de configurare a clientului OpenVPN:
client
dev tap
proto tcp
telecomandă x.x.x.x 1194
rezoluție-reîncercare infinit
nobind
cheie-persiste
persist-tun
server remote-cert-tls
auth SHA512
cifrul AES-256-CBC
ignore-unknown-option block-outside-dns
block-outside-dns
verbul 3
Când pornim clientul OpenVPN pe instanța Windows Server 2019, în fișierul jurnal al clientului OpenVPN apare următoarele:
Miercuri, 14 iulie 01:15:02 2021 [server] Conexiune peer inițiată cu [AF_INET]x.x.x.x:1194
Miercuri, 14 iulie 01:15:03 2021 SENT CONTROL [server]: „PUSH_REQUEST” (stare=1)
Miercuri, 14 iulie 01:15:03 2021 PUSH: S-a primit mesajul de control: „PUSH_REPLY,route-gateway 10.8.0.1,ping 10,ping-restart 120,ifconfig 10.8.0.2 255.255.0.0,peer-id-ES-02 -GCM'
Miercuri, 14 iulie 01:15:03 2021 IMPORT OPȚIUNI: cronometre și/sau timeout-uri modificate
Miercuri, 14 iulie 01:15:03 2021 IMPORT OPȚIUNI: --ifconfig/up opțiuni modificate
Miercuri, 14 iulie 01:15:03 2021 IMPORT OPȚIUNI: opțiunile legate de rută au fost modificate
Miercuri, 14 iulie 01:15:03 2021 OPȚIUNI IMPORT: set peer-id
Miercuri, 14 iulie 01:15:03 2021 OPȚIUNI IMPORT: ajustarea link_mtu la 1658
Miercuri, 14 iulie 01:15:03 2021 IMPORT DE OPȚIUNI: opțiunile cripto canal de date modificate
Miercuri, 14 iulie 01:15:03 Canal de date 2021: folosind cifrul negociat „AES-256-GCM”
Miercuri, 14 iulie 01:15:03 2021 Canal de date de ieșire: Cifrul „AES-256-GCM” inițializat cu cheie de 256 de biți
Miercuri, 14 iulie 01:15:03 2021 Canal de date de intrare: Cifrul „AES-256-GCM” inițializat cu cheie de 256 de biți
Miercuri, 14 iulie 01:15:03 2021 serviciu interactiv msg_channel=0
Miercuri, 14 iulie 01:15:03 2021 open_tun
Miercuri, 14 iulie 01:15:03 2021 Dispozitivul TAP-WIN32 [Conexiune locală] deschis: \.\Global\{526EF9D3-DC84-41B0-B139-F1D4BAEFBF4F}.tap
Miercuri, 14 iulie 01:15:03 2021 TAP-Windows Driver Versiunea 9.24
Miercuri, 14 iulie 01:15:03 2021 Driver TAP-Windows notificat pentru a seta un IP DHCP/mască de rețea de 10.8.0.2/255.255.0.0 pe interfața {526EF9D3-DC84-41B0-B139-F1D4BAEFBF4F4F.0.000. , termen de închiriere: 31536000]
Miercuri, 14 iulie 01:15:03 2021 Flush ARP cu succes pe interfață [11] {526EF9D3-DC84-41B0-B139-F1D4BAEFBF4F}
Miercuri, 14 iulie 01:15:03 2021 Block_DNS: motorul WFP deschis
Miercuri, 14 iulie 01:15:03 2021 Block_DNS: se utilizează substratul existent
Miercuri, 14 iulie 01:15:03 2021 Block_DNS: S-au adăugat filtre de permis pentru exe_path
Miercuri, 14 iulie 01:15:03 2021 Block_DNS: S-au adăugat filtre de bloc pentru toate interfețele
Miercuri, 14 iulie 01:15:03 2021 Block_DNS: S-au adăugat filtre de permis pentru interfața TAP
Miercuri, 14 iulie 01:15:08 2021 RUTE DE TEST: 0/0 reușit len=-1 ret=0 a=0 u/d=down
Miercuri, 14 iulie 01:15:08 2021 Traseu: Se așteaptă să apară interfața TUN/TAP...
Miercuri, 14 iulie 01:15:13 2021 RUTE DE TEST: 0/0 reușit len=-1 ret=0 a=0 u/d=down
Miercuri, 14 iulie 01:15:13 2021 Traseu: Se așteaptă să apară interfața TUN/TAP...
Miercuri, 14 iulie 01:15:14 2021 RUTE DE TEST: 0/0 reușit len=-1 ret=0 a=0 u/d=down
Miercuri, 14 iulie 01:15:14 2021 Traseu: Se așteaptă să apară interfața TUN/TAP...
Miercuri, 14 iulie 01:15:15 2021 RUTE DE TEST: 0/0 reușit len=-1 ret=0 a=0 u/d=down
Miercuri, 14 iulie 01:15:15 2021 Traseu: Se așteaptă să apară interfața TUN/TAP...
Miercuri, 14 iulie 01:15:16 2021 RUTE DE TEST: 0/0 reușit len=-1 ret=0 a=0 u/d=down
Miercuri, 14 iulie 01:15:16 2021 Traseu: Se așteaptă să apară interfața TUN/TAP...
Miercuri, 14 iulie 01:15:17 2021 RUTE DE TEST: 0/0 reușit len=-1 ret=0 a=0 u/d=down
Miercuri, 14 iulie 01:15:17 2021 Traseu: Se așteaptă să apară interfața TUN/TAP...
Miercuri, 14 iulie 01:15:18 2021 RUTE DE TEST: 0/0 reușit len=0 ret=1 a=0 u/d=up
Miercuri, 14 iulie 01:15:18 2021 AVERTISMENT: această configurație poate stoca în cache parolele în memorie -- utilizați opțiunea auth-nocache pentru a preveni acest lucru
Miercuri, 14 iulie 01:15:18 2021 Secvența de inițializare finalizată
După cum puteți vedea, clientul OpenVPN de pe instanța Windows Server 2019 primește adresa IP 10.8.0.2 de la serverul OpenVPN. Cu toate acestea, alerg în mod repetat ipconfig
într-o fereastră de linie de comandă și văd următoarele se întâmplă la fiecare 15 secunde:
- Adaptorul de rețea OpenVPN (numit „TAP-Windows Adapter V9”) primește o adresă IP de 169.254.211.103 pentru câteva secunde.
- Apoi adaptorul de rețea OpenVPN primește o adresă IP de 10.8.0.2 pentru aproximativ o secundă. În această secundă, un ping de 10.8.0.1 (serverul OpenVPN) va avea succes. În afara acelei secunde, un ping de 10.8.0.1 va eșua.
- Apoi adaptorul de rețea OpenVPN pierde adresa IP 10.8.0.2 și nu are nicio adresă IP în următoarele ~12 secunde.
- Acest proces de obținere a adresei 169.254.x.x, apoi obținere și pierdere a adresei 10.8.0.2 se repetă la fiecare 15 secunde.
Apoi m-am hotărât să văd ce s-ar întâmpla dacă aș încerca să dau Windows Server 2019 o adresă IP statică diferită, care nu a mai fost folosită niciodată. Am modificat fișierul pentru Windows Server 2019 în serverul OpenVPN /etc/openvpn/ccd
director pentru a-i da o adresă IP statică de 10.8.0.11:
ifconfig-push 10.8.0.11 255.255.0.0
Apoi am repornit clientul OpenVPN pe instanța Windows Server 2019 și funcționează! Clientul folosește cu succes adresa IP 10.8.0.11 și nu o pierde deloc.
Deci, de ce instanța Windows Server 2019 continuă să piardă adresa 10.8.0.2, care a fost folosită anterior de clientul Linux? După cum puteți vedea din pașii enumerați mai sus, am revocat clientul Linux de pe serverul OpenVPN și am șters toate urmele numelui comun al clientului Linux pe care le-am putut găsi pe serverul OpenVPN.
Am prefera ca instanța Windows Server 2019 să folosească adresa 10.8.0.2, deoarece am scris deja scripturi presupunând că 10.8.0.2 va fi IP-ul static și am trimis acele scripturi către o terță parte. Va fi mai ușor să rămâneți cu 10.8.0.2, dacă este posibil.
ACTUALIZAȚI:
Nu m-am uitat la instanța Windows Server 2019 timp de câteva zile, iar acum m-am uitat la ea din nou. În mod surprinzător, avea adresa IP 10.8.0.2 și nu a dispărut niciodată. Totul a funcționat conform așteptărilor. Nu știu sigur de ce, deoarece nu am schimbat nimic.
Așa că am repornit clientul OpenVPN pe instanța Windows Server 2019 pentru a vedea ce s-ar întâmpla, iar acum am revenit la comportamentul de a obține o adresă 169.254.x.x, apoi de a obține și a pierde adresa 10.8.0.2 la fiecare 15 secunde.