VPN yhdistyy, valikkopalkki näyttää sen, ja sisäinen isäntä aikakatkaistaan silti. Tässä tilanteessa on kolme mahdollista syytä, ja se, mikä niistä pätee, riippuu siitä, miten tunneli määritettiin. Joko reittikomento käytti isäntäosoitetta siellä, missä tarvittiin verkko-osoitetta, tai profiili itse asentaa oletusreitin, joka nielee päätöksen, tai asiakas on PPP-tunneli, joka tarvitsee koukun profiiliavaimen sijaan. Tarkista ne tässä järjestyksessä, koska ensimmäinen on halvin sulkea pois.

Kohde on verkko-osoite, maski kuvaa etuliitteen

networksetup -setadditionalroutes ottaa kolmikoita kohteesta, aliverkon maskista ja yhdyskäytävästä. Kutsu, joka lähettää yhden sisäisen aliverkon tunnelin läpi, näyttää tältä:

sudo networksetup -setadditionalroutes "VPN (L2TP)" 192.168.1.0 255.255.255.0 10.2.0.0

Huomaa, mikä kohde on: verkko-osoite, ei sen palvelimen osoite, johon yrität päästä. Tapauksessa, joka synnytti tämän artikkelin, sama komento 192.168.1.20:lla siinä kohdassa ei tehnyt mitään hyödyllistä, ja sen korvaaminen 192.168.1.0:lla toimi heti. Sama maski, sama yhdyskäytävä, yksi erilainen luku. Siinä koko vika pienoiskoossa.

Syy on aritmetiikka, ei käytäntö. Isäntäosoite /24-maskin kanssa ei kuvaa 192.168.1.0/24:ää; se kuvaa jotain, jota reititystaulukko ei voi pitää hyödyllisesti, joten merkintä hylätään tai jätetään huomiotta ja tunneli kantaa lopulta vähemmän kuin tarkoitit.

Kun haluat täsmälleen yhden isännän, käytä isäntäosoitetta maskilla 255.255.255.255. Sekaparithan tässä menevät pieleen, ei isäntäosoitteen käyttö sinänsä. Yhdestä osoitteesta rakennettu /32 on laillinen reitti; yhdestä osoitteesta rakennettu /24 on virhe.

Kutsu korvaa luettelon, ja nimi on kirjaimellinen

Kaksi käyttäytymistä yllättää ihmiset ensimmäisellä yrityksellä. Komento asettaa koko lisäreittien luettelon sen sijaan, että lisäisi, joten kutsu, joka lisää yhden etuliitteen, poistaa hiljaisesti muut, jotka olivat siellä aiemmin. Rakenna koko joukko yhdellä kutsulla.

Palvelunimikään ei ole keksimäsi nimike. Lue se työkalusta ja kopioi se tarkasti, mukaan lukien tyyppipääte:

networksetup -listallnetworkservices

Nimi, joka eroaa yhdellä merkillä, ei tuota lukemisen arvoista virhettä eikä reittiä. Kopiointi ja liittäminen on tässä oikea tekniikka, ei muistista uudelleen kirjoittaminen.

Kun profiili vaatii oletusreitin

Jaetut reitit häviävät oletusreitille jokaiselle kohteelle, jota ne eivät nimenomaisesti kata, ja täyteen tunneliin määritetty L2TP-profiili asentaa juuri sen. Jos profiili sanoo kaiken kulkevan tunnelin läpi, lisäreittien luettelo muuttuu hyvin vähän. Merkintäsi ei ole väärä; se on yksinkertaisesti merkityksetön kohteille, joita se ei koskaan nimeä. Tämän hallinta on yleensä profiilin kaiken liikenteen lähettämisen asetuksessa, ei missään reittikomennossa.

Päätä, mitä mallia todella haluat, ennen kuin muokkaat lisää merkintöjä. Täysi tunneli poikkeuksin on eri kokoonpano kuin jaettu tunneli tietyillä etuliitteillä, ja näiden kahden sekoittaminen tuottaa taulukon, jota kukaan ei voi ennustaa.

Jos organisaatio vaatii täyden tunnelin, lopeta sen paikallinen jakaminen ja vie vaatimus sille, joka omistaa käytännön. Paikallisesti lisätty reitti, joka on ristiriidassa sen kanssa, poistetaan kuitenkin seuraavassa profiilipäivityksessä.

PPP-tunnelit tarvitsevat koukun avaimen sijaan

PPP-pohjaisissa tunneleissa defaultroute on profiiliavain, joka luo oletusreitin; poista se, niin asiakas lakkaa vaatimasta jokaista kohdetta. Reitit lisätään sitten sen jälkeen, kun liitäntä ilmestyy, yleensä tiedostosta /etc/ppp/ip-up:

#!/bin/sh
/sbin/route add -net 192.168.1.0 -interface ppp0

Pidä skripti rootin omistuksessa ja suoritettavana, ja lisää vartija liitännän nimeen, kun koneessa on useampi kuin yksi tunneliprofiili. Koukku, joka ajetaan jokaiselle PPP-linkille ja olettaa yhden laitenimen, on pieni vika, jolla on pitkä elämä.

Varmista jako kolmella pyynnöllä

Tallenna taulukko yhteyden aikana ja merkitse, mikä liitäntä palvelee tunnelia. Tarkista sitten tietty kohde sen sijaan, että luottaisit sen luoneen komennon poistumistilaan. Poistumiskoodi kertoo, hyväksyikö työkalu argumentit, ei sitä, kulkeeko liikenne tarkoittamaasi polkua.

Lopeta kolmeen pyyntöön, jotka todistavat jaon: yksi sisäinen isäntä osoitteella, yksi sisäinen nimi sisäisen resolverin kautta ja yksi julkinen sivusto, jonka pitäisi edelleen käyttää paikallista yhteyttä. Jos julkinen sivusto kulkee nyt myös tunnelin läpi, jakoa ei koskaan tapahtunut, mitä reittiluettelo näyttää sanovan.

Yhdistä vielä kerran ja toista sisäinen pyyntö, koska käsin lisätyt reitit voivat elää pidempään kuin liitäntä, joka teki niistä kelvollisia ja muuttavat liikenteen hiljaisesti mustaksi aukoksi tunnelin pudottua.

Aiheeseen liittyvät artikkelit