Kaksi OpenVPN-tunnelia yhdellä Linux-isännällä: kuka omistaa reitin?
Kaksi asiakasprofiilia voivat olla rinnakkain, kun altaat, työnnetyt reitit ja oletusvaatimukset on jaettu. Päätä omistajuus ensin ja käytä sitten merkintöjä paluureitille.
Kaksi profiilia on yhdistetty, ja toinen niistä kuljettaa hiljaa liikennettä, joka on tarkoitettu toiselle. Linux-isäntä voi ajaa molempia OpenVPN-asiakkaita samanaikaisesti vaikeuksitta. Se, mitä se ei voi tehdä, on päättää puolestasi, mikä prosessi saa vaatia minkäkin etuliitteen. Tämä päätös on tehtävä ennen kuin toinen tunneli nousee, ei sen jälkeen kun resurssi lakkaa vastaamasta.
Aloita työstä, joka toisen yhteyden on tehtävä
Yhden profiilin kautta saavutettava toimisto ja toisen kautta saavutettava laboratorio tarvitsevat molemmat tunnelit pystyyn eikä kumpikaan saa vaatia kaikkea. Yksi itsepäinen sovellus, jonka on poistuttava toisen profiilin kautta, tarvitsee käytäntösäännön eikä toista oletusreittiä. Varayhteys tarvitsee vain yhden tunnelin kerrallaan, joten varan ei pitäisi käynnistyä koneen mukana.
Nämä ovat kolme eri kokoonpanoa, ja ne sekoitetaan, koska kaikki kolme alkavat samalla tavalla: toinen profiili ja onnistunut yhteys. Kirjoita aiottu järjestely ensin muistiin ja kokoonpano sen suuntaan. Yksi lause aikomuksesta säästää tunnin pakettien kaappausta.
systemctl list-units --type=service 'openvpn-client@*' ip -4 route show default
Ensimmäinen komento luettelee käynnissä olevat ilmentymät, mukaan lukien käsin hallinnan ulkopuolelta käynnistetyt. Toinen tulostaa nykyisen oletusvaatimuksen, ja se on tila, joka sinun on myöhemmin selitettävä.
Päällekkäiset altaat hajoavat ennen reititystä
Kaksi palvelinta jakaa mielellään osoitteita samasta 10.8.0.0/24:sta. Asiakkaalla on silloin kaksi liitäntää yhden etuliitteen sisällä eikä mikään kerro, mikä kohde kuuluu millekin, ja tuloksena oleva käyttäytyminen näyttää reititysvialta mutta on todellisuudessa numerointivika. Altaan uudelleennumerointi maksaa yhden kokoonpanomuutoksen; jokainen myöhempi reitityskierto maksaa viikonlopun. Tarkista allas ennen kuin lisäät sille reitin.
Katso myös paikallista lähiverkkoa. Kotiverkko numerolla 192.168.1.0/24, jonka yksi tunneli myös paljastaa, tuottaa saman epäselvyyden, ja oireena on isäntänimi, joka ratkeaa, mutta yhteys ei koskaan valmistu. Se näyttää nimienratkaisuvialta, kunnes tulostat reitit.
ip -4 addr show ip route show table all | grep -E '10\.|192\.168\.'
Vertaa molempia tulosteita kahteen palvelinkokoonpanoon ennen kuin kosket asiakkaaseen. Jos etuliitteet menevät päällekkäin, pysähdy ja numeroi uudelleen, sillä mikään määrä uudelleenkäynnistyksiä ei erota niitä.
Anna jokaiselle profiilille oma yksikkö ja jokaiselle etuliitteelle omistaja
Jokainen profiili saa oman ilmentymänimensä ja oman kokoonpanotiedostonsa, joten office-niminen ilmentymä lataa office.conf-tiedoston ja lab-niminen lataa lab.conf-tiedoston. Vahvista tämä yhdistäminen palvelunhallinnan kautta sen sijaan, että luottaisit hakemistolistaukseen, koska drop-in voi muuttaa sitä, mikä tiedosto ladataan. Väärä yhdistäminen tarkoittaa, että säädät profiilia, joka ei ole käynnissä.
Ratkaise sitten, kuka asentaa reitit. Kun palvelimet työntävät yhteensopimattomia joukkoja, joko hylkää työntö ja luettele etuliitteet itse tai anna yhden profiilin pitää oletus ja ohjaa toista käytäntösäännöillä. Kaksi prosessia, jotka molemmat asentavat oletuksen, päätyvät hiljaiseen voittajaan ja ilman kirjallista merkintää päätöksestä.
systemctl cat [email protected] grep -E 'route-nopull|pull-filter|redirect-gateway' /etc/openvpn/client/lab.conf
Ensimmäinen näyttää yksikön ja kaikki sen argumentteja muuttavat ohitukset. Toinen näyttää, hyväksyykö profiili työnnetyt reitit lainkaan, ja se on kytkin, joka määrää kaiken eteenpäin.
Merkinnät pitävät vastaukset liitännällä, josta ne saapuivat
Kun jokainen tunneli palvelee eri lähteitä, vastaus voi lähteä väärää linkkiä pitkin ja yhteys kuolee ensimmäisen paketin jälkeen. Kestävä malli on merkitä saapuvat paketit tulo-liitännän mukaan, palauttaa merkintä vastauksessa ja antaa jokaiselle merkinnälle taulu, jossa on oma oletusyhdyskäytävä.
Löysä käänteisen reitin suodatus on yleensä höllennettävä kyseisille liitännöille, koska vastaus saapuu laillisesti linkkiä pitkin, jota päätaulu ei koskaan valitsisi. Pidä merkinnät kapeina, jotta ne eivät koskaan nappaa tunnelien omaa salattua liikennettä, mikä lähettäisi tunnelin itsensä läpi.
ip rule show ip route show table 101 sysctl net.ipv4.conf.all.rp_filter
Lue olemassa olevat säännöt ennen kuin lisäät uuden. Päällekkäiset prioriteetit ja unohdetut taulut ovat tavallinen syy siihen, että merkintäkäytäntö näyttää täysin vaikuttamattomalta.
Todista eristys pysäyttämällä yksi linkki
Kun molemmat tunnelit ovat pystyssä, kirjaa jokaisen liitännän osoite, reitti yhteen isäntään kunkin tunnelin takana ja polku, jonka riippumaton kohde ottaa. Pyydä hakua ytimeltä sen sijaan, että lukisit yhtä taulua, koska yksi taulu ei koskaan näytä lopullista päätöstä.
Pysäytä sitten yksi ilmentymä ja katso, kuinka sen liitäntä ja reitit katoavat toisen jatkaessa. Katkos selviytyjässä tarkoittaa, että kaksi jakaa edelleen laitenimen, reitin tai palomuurisäännön, jota kukaan ei erottanut.
Palauta pysäytetty profiili ja toista samat tarkistukset. Kun tunneli säilyy vain uudelleenkäynnistyksen jälkeisellä ensimmäisellä käynnistyksellä, katsot elinkaarivikaa etkä reitityssuunnittelua.