Kaks ülesühendust, üks VPN: miks OpenVPN valib vale ülesühenduse
Tunnel on korras; socket lahkub vale WAN-i kaudu. Lugege aktiivset peer-aadressi, kinnitage hosti marsruut ja kontrollige kõigepealt poliitikareegleid.
Kaks ülesühendust, üks tunnel, ja liiklus väljub selle kaudu, mida te ei valinud. Privaatsed alamvõrgud on kättesaadavad, logi teatab õnnestunud ühendusest ja just mõõdetud link on see, mis seda kannab. OpenVPN-i väljundis ei mainita ühtegi lüüsi, sest klient ei valinud kunagi ühtegi. See avas socketi kaugemale aadressile ja jättis tuumale otsustada, kuidas sellele aadressile jõuda.
Tunneli aadress ei ole lõpp-punkt
Igas sessioonis on kaks erinevat teed. Välimine tee kannab krüpteeritud transporti serveri avaliku aadressini. Sisemine tee kannab kõike, mida server tunnelisse lükkab, ja ühe marsruudireeglid ei mõjuta teist.
Profiili remote-kirje nimetab välimise sihtkoha, seega tuleb kinnitada just see aadress. See on ka väärtus, mis muutub, kui hostinimi lahendatakse teisiti või profiil loetleb mitu remote'i.
Leidke aadress, millele klient tegelikult helistas
Lugege elavat socketit, mitte konfiguratsioonifaili. Socketite tabel näitab peer'i, millega protsess tegelikult ühendus, ja see on väärtus, millega erand peab klappima. Profiili saab muuta pärast sessiooni algust ja socket on ainus tõend selle kohta, millele helistati:
ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"
Logirida nimetab peer'i aadressi ja pordi ühenduse hetkel. Kui see lahkneb profiilist, kirjutab miski kliendi ees sihtkoha ümber enne, kui ühendus algab.
Kontrollige ka aadressiperekonda. Kahe virna profiil võib ühenduda IPv6 kaudu, samal ajal kui teie erand katab ainult IPv4, ja siis järgib liiklus teistsugust reeglit kui see, mille kirjutasite. Sama kehtib puhverserveri kohta, mis vastab lõpp-punkti nimel. Mõlemal juhul tekib tunnel, mis töötab, samal ajal kui teie marsruut ei tee midagi.
Kinnitage lõpp-punkt ja lugege poliitika järjekorda
Hosti marsruut on spetsiifilisem kui ükskõik milline vaikemarsruut. Seetõttu võidab peer'i aadressi /32 tabelis, mis seda sisaldab. Tavaline vorm nimetab lüüsi ja seadme selgesõnaliselt:
ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0
See marsruut aitab ainult siis, kui otsing jõuab sellesse tabelisse. Poliitikareegleid hinnatakse järjekorras ja esimene vaste otsustab, seega reegel, mis saadab kõik teise tabelisse, möödub teie hosti marsruudist main-is. Lugege reegleid enne, kui eeldate, et marsruut on autoriteetne:
ip rule show
ip route get 203.0.113.40
Küsige teist käsku sama lähteaadressi või märgisega, mida klient kasutab, kui poliitika neist sõltub. See teatab marsruudi, mille tuum valiks, mis on tõend otsingu kohta ja mitte tõend, et elav socket seda teed kasutab.
Kui lõpp-punkt liigub
Hostinimi, mis lahendub mitmeks aadressiks, muudab püsiva /32 kehtetuks niipea, kui vastus muutub. Mitme remote-reaga profiilil on sama probleem, sest klient võib maanduda ükskõik millisele neist. Värskendage marsruuti kliendi enda elutsükli konksudest, selle asemel et lisada see käsitsi. up-skript, mis loeb läbiräägitud peer'i ja paigaldab hosti marsruudi, hoiab erandi tegelikkusega kooskõlas, ja sobiv down-skript eemaldab selle.
Salvestage värskendus samasse kohta kui ülejäänud hosti marsruutimise konfiguratsioon. Marsruut, mis eksisteerib ainult kuni järgmise taaskäivituseni, on test, mitte parandus.
Hoidke sisemine poliitika eraldi
Välimise tee liigutamine ei anna juurdepääsu uuele privaatsele alamvõrgule ega muuda seda, milliseid sihtkohti server tunnelisse lükkab. Alumise kihi marsruut valib juhtme; lükatud marsruudid valivad, mis tunnelisse siseneb. Nende kahe otsuse eraldi hoidmine teeb jaotuse prognoositavaks.
Kui eesmärk on ainult hoida krüpteeritud transporti mõõdetud lingilt eemale, jätke vaikemarsruut rahule ja lisage ainult üks hosti erand. Masinaülest vaikemarsruuti asendamine ühe VPN-ühenduse liigutamiseks rikub iga teise rakenduse hostis.
Kinnitage tulemus kahe sõltumatu vaatlusega: socketi kohalik aadress ja seade ning marsruut, millele privaatne sihtkoht lahendub. Kui mõlemad vastavad teie kavatsusele, on jaotus tõeline. OpenVPN 2.6 käsiraamat käsitleb remote- ja kohaliku sidumise valikuid, mis otsustavad, millisele aadressile klient helistab.