Siete, ktoré povoľujú iba TCP 443, koexistujú so sieťami, ktoré UDP bez problémov prepúšťajú, a jeden server musí obsluhovať obe. Profil s proto udp odpovedá druhej skupine a zlyháva na prvej, a úprava tej istej konfigurácie na proto tcp nevytvorí druhý listener. Direktíva vyberá jeden transport pre jeden proces. Všetko ostatné vyplýva z tohto obmedzenia.

Buď spustíte viac ako jeden proces, alebo spustíte verziu, ktorá dokáže zviazať viac socketov naraz.

Jeden proces pred 2.7 zviaže jeden transport

Komunitný OpenVPN zviaže socket, ktorý opisuje proto, a tá direktíva vyberá jeden transport pre inštanciu. TCP a UDP sú oddelené zásobníky, takže rovnaké číslo portu môžu súčasne obsadiť oba, ale nie jeden proces. Preto linka 2.6 dáva jeden transport na démona. OpenVPN 2.7 toto obmedzenie pre servery odstránil, keďže môžu zviazať viac socketov prostredníctvom viacerých príkazov --local v jednom procese.

Pred návrhom okolo ktorejkoľvek odpovede skontrolujte verziu, pretože usporiadanie 2.7 je iný prevádzkový model s vlastnou konfiguračnou syntaxou. Príručka napísaná pre 2.6 opisuje dva procesy, aj keď to nehovorí.

Tri spôsoby, ako spustiť dve inštancie

S rozhraniami TAP spustite jednu inštanciu na transport a premosťte dve zariadenia tap na hostiteľovi. Obe skupiny klientov skončia v rovnakej vysielacej doméne, čo umožňuje jednému fondu adries ich pokryť a udržiava protokoly závislé od vysielania v chode. Pri TUN mostenie nie je dostupné, takže najjednoduchšie rozdelenie dáva každej inštancii vlastnú podsieť a smerovanie drží obe skupiny klientov oddelene. Tretia možnosť zachováva jeden fond tým, že každá inštancia zavolá skript learn-address, ktorý nainštaluje trasu /32 pre klienta cez zariadenie tejto inštancie.

To tretie usporiadanie je to, o ktoré ľudia žiadajú, a to, ktoré vyžaduje najväčšiu starostlivosť, pretože skript sa stáva súčasťou dátovej cesty a musí správne spracúvať udalosti pridania, aktualizácie a odstránenia.

ArrangementInterfacesAddress poolCost
Bridged TAP pairTwo tap devices joined by a bridgeOne shared poolBroadcast traffic and bridge maintenance
Two TUN subnetsTwo tun devices, no bridgeOne pool per instanceRouting rules and two plans
Shared pool with routesTwo tun devices plus a hookOne pool across bothA script on the data path

Držte obe inštancie oddelene

Každá inštancia tiež potrebuje samostatný port alebo adresu, samostatný stavový súbor a samostatný cieľ protokolu. Dvaja démoni, ktorí pridávajú do rovnakého stavového súboru, vytvárajú výstup, ktorý sa počas incidentu nedá prečítať, a práve vtedy ho potrebujete. Ak druhá inštancia zviaže konkrétnu adresu, táto adresa musí na hostiteľovi existovať pri štarte procesu; inak skončí chybou zviazania skôr, než povie čokoľvek o kľúčoch.

Pomenujte jednotky a profily tak, aby bol transport zrejmý z názvu súboru. Nasledujúci operátor by nemal musieť otvárať konfiguráciu, aby zistil, ktorý je TCP.

Priraďte profil k listeneru

Server, ktorý spúšťa proto tcp, očakáva klientsky profil s proto tcp-client, a profil, ktorý stále nesie proto udp, voči tomuto listeneru vyprší bez chyby, na ktorú by používateľ mohol reagovať. Ak nasadenie ponúka oba transporty, ponechajte dva profily a označte ich tak, aby podpora vedela, ktorý sa skúšal. Samotné číslo portu transport neopisuje.

Pravidlá firewallu sledujú rovnaké rozdelenie: pravidlo pre UDP 1194 nehovorí nič o TCP 1194 a pravidlo pre jednu adresu nepokrýva druhý listener.

Najprv si prečítajte pohľad servera

Začnite s ss -lntup na serveri a potvrďte, že sa objaví TCP aj UDP listener. Potom pripojte jedného klienta každého druhu a skontrolujte stavový výstup na dva záznamy s odlišnými adresami. Ak sockety existujú a žiadny klient neprichádza, cesta alebo firewall odmietajú pakety skôr, než ich démon uvidí.

Socket, ktorý sa nikdy neobjaví, je problém konfigurácie alebo zviazania, a socket, ktorý sa objaví, ale nikdy nezaznamená spojenie, je problém filtrovania. Z pohľadu klienta vyzerajú oba rovnako, preto prichádza najprv pohľad samotného servera. Majte na pamäti, že TCP nesie blokovanie na čele frontu, takže jeho ponúkanie je opatrenie dostupnosti, nie vylepšenie pre klientov s čistou cestou UDP.

Súvisiace články