VPN-tunnel ei ühendu kunagi: kus paketid tegelikult peatuvad
Tunnel, mis kunagi ei moodustu, jätab mõlemasse otsa tühja logi. Jälgige, kas GRE, ESP või UDP 4500 jäetakse kõrvale, ja tuvastage operaatori NAT enne serveri muutmist.
Klient proovib üha uuesti, logi lõpeb enne käepigistuse lõppu ja server ei registreeri üldse midagi. See muster suunab tähelepanu mandaatidelt teele: miski kahe otsa vahel keeldub kandmast protokolli, mida tunnel vajab. Otsustage, kus paketid peatuvad, enne kui puudutate kumbagi konfiguratsiooni, sest filtreeritud protokoll ja vale parool tekitavad enamikus klientides sama sõbraliku vea. Testid on järjestatud kulutuse järgi, odavaim kõigepealt.
Tõestage, kus liiklus peatub
Salvestage samal hetkel kliendi väljamineval liidesel ja serveris. Võrrelge seda, mis lahkus, sellega, mis saabus, ja märkige, mis suunas erinevus ilmub.
Mitte miski serveris tähendab, et tee või esimene NAT jätab liikluse kõrvale, samas kui saabumised ilma vastusteta viitavad serveri tulemüürile või olematule tagasiteele. Ruuter, mis lõpetab tunneleid sageli, ei pea kasulikku logi, seega saab salvestusest kirje. Kirjutage üles sihtport ja protokolli number, sest mõlemad tõrked näevad kliendi dialoogis ühesugused välja.
PPTP sureb ilma protokollita 47
PPTP kannab juhtimist TCP 1723 kaudu ja oma andmeid GRE sees, mis on IP-protokoll 47, mitte pordi number. Ainult 1723 edasisaatmine annab klassikalise tulemuse: ühendus autendib end ja jääb siis vaikseks, sest protokollile, mis kannab kasulikku koormust, pole ühtegi reeglit. Klient ei suuda seda eristada tagasilükatud paroolist, seetõttu peab salvestus tulema enne konfiguratsiooni muudatusi.
Läbilaskevõime töötab sissetuleva edasisaatmise vastassuunas ja püsivara kasutab üsna sageli mõlema jaoks ühte silti, et kõiki segadusse ajada. Linuxi kliendis võib kohalik tulemüür GRE kõrvale jätta ammu enne, kui ruuter üldse sekkub, seega vajab protokoll 47 oma reeglit ja conntrack-abiline tuleb laadida. Ubuntu ufw hoiab neid reegleid before-failis, sest tavalised allow-reeglid ei suuda protokolli numbrit väljendada. Seejärel laadige tulemüür uuesti, selle asemel et masin taaskäivitada.
# /etc/ufw/before.rules, inside *filter
-A ufw-before-input -p gre -j ACCEPT
sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo conntrack -L | grep greL2TP ja IPsec kahe NAT-i taga
L2TP IPsec-i sees vajab võtmevahetuseks UDP 500, NAT-i tuvastamisel UDP 4500 ja ESP-d protokollina 50. Igaüht neist filtreeritakse eraldi, seega ühe lubamine ei tõesta teiste kahe kohta midagi. Kaks ruuterit järjest tõlgivad iga paketti kaks korda ja otsad ei ole enam ühel meelel selles, mida läbi räägiti.
Sillutage väline modem või lülitage sisevõrgu ruuteril NAT välja, et avalik aadress jõuaks seadmeni, mis tunnelit lõpetab. Kus kumbki pole võimalik, tuleb tunnel algatada kahekordse NAT-i piiri seest, mitte seal lõpetada.
Operaatorite võrgud ja aadresside jagamine
WAN-aadress vahemikus 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 või 100.64.0.0/10 tähendab, et ruuteril pole avalikku aadressi ja ükski internetist tulev sissetulev edasisaatmine ei jõua selleni. Operaatoritasandi NAT filtreerib lisaks protokolle, mida ta ei oota, ja GRE on mobiililinkidel sage ohver. Võrrelge WAN-aadressi ruuteril endal, mitte aadressi, mille otsinguleht teatab selle taga oleva kliendi kohta.
Sama ruuteri käitamine kaabelliinil eraldab operaatorileidmise konfiguratsiooniveast ühe testiga. Kus operaator protokollist keeldub, on järelejäänud valikud teine transport 443 peal või seest algatatud tunnel.
Lugege kuulajate nimekirja enne portide sulgemist
Murettekitav pordiskaneerimine on sageli vaid see funktsioonikomplekt, mis tarnitakse sisselülitatuna. Inventeerige kuulajad, siduge iga socket funktsiooniga ja lülitage seejärel funktsioon välja, selle asemel et port blokeerida, et kaks vaadet ei eralduks.
ss -lntup
systemctl list-units --type=service --state=running | grep -i vpn
nc -vz 203.0.113.10 1723
nc -vzu 203.0.113.10 4500SoftEtheri vaikeväärtused on hea näide: TCP 443, 992 ja 5555, kusjuures funktsioonid L2TP/IPsec ja DNS-tunnel lisavad oma socketid. Nende funktsioonide väljalülitamine eemaldab kuulajad, mitte ei peida neid, ja välishostist tehtud proov ütleb, kas operaator üldse laseb pordi läbi. Kohapeal vastav kuulaja võib siiski ülalvoolu suletud olla, seega võrrelge ruuteri enda WAN-aadressi sellega, mida teatab väline teenus.