Mac L2TP skaidyti maršrutai: kodėl pagrindinio kompiuterio adresas neveikia
setadditionalroutes nori tinklo ir kaukės porų, pakeičia visą sąrašą ir reikalauja tikslaus paslaugos pavadinimo. Patikrinkite lentelę prieš kaltinant tinklų sietuvą.
VPN prisijungia, meniu juosta tai rodo, o vidinis pagrindinis kompiuteris vis tiek praleidžia laiką. Tokioje situacijoje yra trys galimos priežastys, ir kuri galioja, priklauso nuo to, kaip buvo sukonfigūruotas tunelis. Arba maršruto komanda naudojo pagrindinio kompiuterio adresą ten, kur reikėjo tinklo adreso, arba pats profilis įdiegia numatytąjį maršrutą, kuris praryja sprendimą, arba klientas yra PPP tunelis, kuriam reikia kabliuko, o ne profilio rakto. Patikrinkite juos šia tvarka, nes pirmąjį lengviausia atmesti.
Paskirties vieta yra tinklo adresas, kaukė apibūdina priešdėlį
networksetup -setadditionalroutes priima paskirties vietos, potinklio kaukės ir tinklų sietuvo trejetus. Iškvietimas, siunčiantis vieną vidinį potinklį per tunelį, atrodo taip:
sudo networksetup -setadditionalroutes "VPN (L2TP)" 192.168.1.0 255.255.255.0 10.2.0.0
Atkreipkite dėmesį, kas yra paskirties vieta: tinklo adresas, o ne serverio, kurį bandote pasiekti, adresas. Atveju, kuris sukūrė šį straipsnį, identiška komanda su 192.168.1.20 toje vietoje nieko naudingo nepadarė, o pakeitus ją į 192.168.1.0 iškart veikė. Ta pati kaukė, tas pats sietuvas, vienas kitas skaičius. Tai yra visas gedimas sumažintu mastu.
Priežastis yra aritmetika, o ne politika. Pagrindinio kompiuterio adresas su /24 kauke neapibūdina 192.168.1.0/24; jis apibūdina kažką, ko maršrutų lentelė negali naudingai išlaikyti, todėl įrašas atmetamas arba ignoruojamas, ir tunelis galiausiai perneša mažiau, nei ketinote.
Kai norite tiksliai vieno pagrindinio kompiuterio, naudokite jo adresą su kauke 255.255.255.255. Būtent mišrios poros čia ir sugenda, o ne pats pagrindinio kompiuterio adreso naudojimas. /32, sudarytas iš vieno adreso, yra teisėtas maršrutas; /24, sudarytas iš vieno adreso, yra klaida.
Iškvietimas pakeičia sąrašą, o pavadinimas yra pažodinis
Du elgesiai nustebina pirmą kartą. Komanda nustato visą papildomų maršrutų sąrašą, o ne prideda, todėl iškvietimas, pridedantis vieną priešdėlį, tyliai pašalina kitus, buvusius anksčiau. Sukurkite visą rinkinį vienu iškvietimu.
Paslaugos pavadinimas taip pat nėra jūsų sugalvota etiketė. Perskaitykite jį iš įrankio ir nukopijuokite tiksliai, įskaitant tipo priesagą:
networksetup -listallnetworkservices
Pavadinimas, besiskiriantis vienu simboliu, nesukuria nei vertos skaityti klaidos, nei maršruto. Čia tinkama technika yra kopijuoti ir įklijuoti, o ne perrašyti iš atminties.
Kai profilis pasisavina numatytąjį maršrutą
Skaidyti maršrutai pralaimi numatytajam maršrutui kiekvienai paskirties vietai, kurios jie aiškiai neapima, o L2TP profilis, sukonfigūruotas pilnam tuneliui, įdiegia būtent tai. Jei profilis sako, kad viskas eina per tunelį, papildomų maršrutų sąrašas keičiasi labai nedaug. Jūsų įrašas nėra klaidingas; jis tiesiog neaktualus paskirties vietoms, kurių niekada neįvardija. To valdymas paprastai yra profilio viso srauto siuntimo nustatyme, o ne kokioje nors maršruto komandoje.
Nuspręskite, kokio modelio tikrai norite, prieš redaguodami daugiau įrašų. Pilnas tunelis su išimtimis yra kitokia konfigūracija nei skaidytas tunelis su konkrečiais priešdėliais, o sumaišius abu gaunama lentelė, kurios niekas negali numatyti.
Jei organizacija reikalauja pilno tunelio, nustokite bandyti jį skaidyti vietoje ir nuneškite reikalavimą tam, kam priklauso politika. Vietoje pridėtas maršrutas, prieštaraujantis jai, vis tiek bus pašalintas kitą kartą atnaujinant profilį.
PPP tuneliams reikia kabliuko, o ne rakto
PPP pagrindu veikiantiems tuneliams defaultroute yra profilio raktas, sukuriantis numatytąjį maršrutą; pašalinkite jį ir klientas nustos reikalauti kiekvienos paskirties vietos. Tada maršrutai pridedami po to, kai atsiranda sąsaja, paprastai iš /etc/ppp/ip-up:
#!/bin/sh
/sbin/route add -net 192.168.1.0 -interface ppp0
Laikykite scenarijų root nuosavybėje ir vykdomąjį, ir pridėkite apsaugą sąsajos pavadinimui, kai įrenginyje yra daugiau nei vienas tunelio profilis. Kabliukas, veikiantis kiekvienam PPP ryšiui ir darantis prielaidą apie vieną įrenginio pavadinimą, yra maža klaida, turinti ilgą gyvenimą.
Patikrinkite skaidymą trimis užklausomis
Užfiksuokite lentelę prisijungę ir pažymėkite, kuri sąsaja aptarnauja tunelį. Tada patikrinkite konkrečią paskirties vietą, o ne pasitikėkite komandos, kuri ją sukūrė, išėjimo būsena. Išėjimo kodas praneša, ar įrankis priėmė argumentus, o ne ar srautas eina numatytu keliu.
Užbaikite trimis užklausomis, įrodančiomis skaidymą: vienas vidinis pagrindinis kompiuteris pagal adresą, vienas vidinis pavadinimas per vidinį sprendėją ir viena vieša svetainė, kuri vis dar turėtų naudoti vietinį ryšį. Jei vieša svetainė dabar taip pat eina per tunelį, skaidymas niekada neįvyko, ką bebūtų galima spręsti iš maršrutų sąrašo.
Prisijunkite dar kartą ir pakartokite vidinę užklausą, nes rankiniu būdu pridėti maršrutai gali pergyventi sąsają, kuri juos padarė galiojančius ir tyliai paversti srautą juodąja skyle, kai tunelis nukrenta.