Sovita Linuxin VPN-asiakasohjelma vanhan laitteen protokollaan
Lue laitteen julkaisemat portit ja asenna sitten sopiva asiakasohjelma: pppd GRE:n yli, strongSwan IKEv1 XAuthia varten tai openconnect portaalia varten.
Neljä protokollaperhettä kattaa lähes jokaisen laitteen, joka vielä seisoo räkissä, ja jokainen niistä epäonnistuu Linuxissa eri tavalla. Vastapuolen julkaisemat portit ja määritetyt ehdotukset ratkaisevat pakettisi, eivät ne jakelut, joita satut ajamaan. Sen asentaminen, mitä foorumiviesti mainitsee, ja sen jälkeen muokkaaminen kunnes jokin yhdistyy, on tapa, jolla iltapäivä katoaa. Lue laite, asenna toisena, varmista kolmantena.
Kirjaa, mitä vastapuoli julkaisee
Kirjoita ylös protokolla, portit ja todennus, joita laite odottaa, ennen kuin avaat paketinhallinnan. Neljä perhettä kattaa suurimman osan vanhasta laitteistosta, ja alla oleva taulukko on koko päätös yhdellä näytöllä.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect with a TUN device |
Käsikirja ja laitteen omat palomuurisäännöt ovat luotettavampia kuin protokollan nimi sen kirjautumissivulla. IPsec:iä mainostava laite saattaa puhua vain IKEv1:tä, ja laiteohjelmistojulkaisu, jota kukaan ei asentanut, saattaa olla se, joka lopulta lisää IKEv2:n. Varmista sekä datapolku että asennusportti, sillä juuri siinä vanha laitteisto ja nykyaikaiset verkot eroavat. Tässä vaiheessa erehtyminen tarkoittaa asiakasohjelman virheenetsintää ominaisuutta vastaan, jota toisella puolella ei koskaan ollut.
PPTP: todista GRE ennen kuin muokkaat pppd:tä
PPTP Linuxissa ei ole käynnistettävä taustapalvelu vaan pppd:n kutsu, ja yhteyden parametrit elävät nimeltä mainitussa peer-tiedostossa, jonka pppd lukee kutsuttaessa. Jakelut paketoivat sitä edelleen, vaikka protokollan tunnetut heikkoudet tekevät siitä sopimattoman mihinkään arkaluontoiseen, joten pidä se tiukasti laitteelle, joka ei tarjoa mitään muuta. Tarkkaile GRE:tä asiakasohjelman neuvotellessa lyhyellä kaappauksella arvauksen sijaan. Eniten aikaa tuhlaava epäonnistuminen ei ole todennus vaan puuttuva datapolku.
pppd call branch-office
tcpdump -ni any proto gre -c 5
Jos asennus valmistuu eikä linkki koskaan kuljeta liikennettä, epäile GRE-polkua ennen kuin kosket tunnistetietoihin. Pilven suojausryhmät tarvitsevat nimenomaisen säännön protokollalle 47, ja jotkin verkot estävät sen kokonaan ilman näkyvää virhettä. Testaa verkosta, jota todella käytät, älä laboratoriosta, joka sallii kaiken.
L2TP/IPsec: yksi sopiva ehdotus voittaa kymmenen yritystä
Lue taustapalvelun loki työpöytävalintaikkunan sijaan, sillä valintaikkuna tiivistää useat erilliset epäonnistumiset yhdeksi viestiksi. Virhe NO_PROPOSAL_CHOSEN kuuluu ensimmäiseen vaiheeseen: asiakasohjelma tarjosi salausta, hashia tai Diffie-Hellman-ryhmää, jota palvelin ei hyväksy. Luettele, mitä laite tukee, ja kirjoita yksi sitä vastaava ehdotus, sillä satunnaiset yhdistelmät tuottavat yleensä saman virheen hitaammin. Työpöydällä käytännöllinen asiakasohjelma on NetworkManagerin L2TP-liitännäinen, jonka alla on strongSwan tai Libreswan.
Ehdotusmerkkijono, joka tarkoittaa työpöytäliitännäiselle yhtä, voi tarkoittaa toista taustapalvelulle, jolle se antaa työn, joten pidä syntaksi muokattavalle kerrokselle sopivana. Jos laite vaatii myös tunnelisalaisuuden, se on erillinen vaihe IPsec-avaimesta. Varmista, kumpaa käyttöliittymä kysyy, ennen kuin kirjoitat siihen mitään.
Aggressiivinen IKEv1 XAuthin kanssa ja portaalin tapaus
FortiGate-tyylinen päätepiste haluaa yleensä aggressiivisen tilan XAuthin kanssa ja osoitteen määritetyssä tilassa, jota graafinen liitännäinen ei välttämättä paljasta lainkaan. Natiivi taustapalvelu hoitaa sen, ja alla oleva lohko on tuon määrityksen muoto eikä täydellinen tiedosto. Tarkista valmistajan ajantasainen dokumentaatio ehdotuksen arvoille.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
Vanhemmat strongSwan-julkaisut käyttivät xauth=client:ää siellä, missä versio 5 käyttää leftauth2=xauth:ttä, joten kopioitu katkelma voi epäonnistua pelkän syntaksin takia. TLS-portaalille openconnect, joka puhuu AnyConnect-protokollaa, hoitaa Ciscon ja useimmat uudelleenbrändätyt laitteet, ja se tarvitsee TUN-laitteen sekä oikeudet sen määrittämiseen. Anna portaaliosoite täsmälleen niin kuin selain sen näyttää, mukaan lukien mahdollinen polku, jota laite odottaa, ja tarkista sitten jaettu osoite ennen kuin testaat mitään sen takana. Käyttöliittymän luominen etukäteen poistaa yhden yllätysten luokan asennuksen aikana.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
Yhdistä ja varmista sitten kiinteässä järjestyksessä
Aja täsmälleen yhtä VPN-hallintaa kerrallaan, sillä NetworkManager-profiili ja käsin käynnistetty taustapalvelu taistelevat reiteistä ja DNS:stä. Laske profiili alas ennen manuaalisen yhteyden testaamista ja varmista, ettei vanhaa tunneliliittymää jää eloon. Varmista sitten tässä järjestyksessä: tunneliosoite, reitti ainoaan sisäiseen isäntään, jota tarvitset, nimien ratkaisu ja lopuksi varsinainen pyyntö. Vihreä kuvake todistaa todennuksen eikä mitään muuta.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
Jos jokin vaihe epäonnistuu, pysähdy siihen sen sijaan, että testaat seuraavaa, sillä rikkinäisen reitin alavirrassa oleva DNS-virhe ei opeta sinulle mitään. Tallenna kopio toimivasta profiilista ennen kokeilua, sillä poistettu yhteystiedosto katoaa helposti ja on työläs rakentaa uudelleen. Pidä ehdotuksen arvot samassa muistiinpanossa kuin laitteen malli ja laiteohjelmistoversio, sillä se muistiinpano on ero migraation ja arkeologiaprojektin välillä, kun laatikko vaihdetaan.