VPN-yhdyskäytävä tarvitsee IP-edelleenohjauksen: mitä tarkistaa
Yhdyskäytävä voi vastata omassa osoitteessaan välittämättä mitään rajapintojen välillä. Tarkista edelleenohjaus perheittäin ja sitten paluupolku.
Asiakkaasi voi pingata yhdyskäytävän osoitetta, kun kaikki sen takana olevat resurssit pysyvät tavoittamattomina. Tämä havaintopari kuvaa isäntää, joka puhuu sinulle, ja reititintä, joka ei reititä, eli eri rooleja samassa koneessa. Edelleenohjaus on niiden välinen kytkin.
Kaksi roolia ovat riippumattomia, samoin kuin kaksi osoiteperhettä.
Omaan osoitteeseen vastaaminen ei todista mitään
Kun paketti on osoitettu yhdyskäytävälle itselleen, paikallinen pino kuluttaa sen eikä edelleenohjauspäätöstä tehdä. Siksi onnistunut ping tunnelin osoitteeseen tai hallintarajapintaan kertoo, että taustaprosessi on elossa ja tunneli on pystyssä, mutta ei kerro mitään liikenteestä, joka on tarkoitettu laatikon takana olevalle verkolle. Ydin tarkistaa edelleenohjauspolkunsa vain paketeille, joita ei ole osoitettu sille.
Lue vaatimus roolina, ei asetuksena: tämän isännän on siirrettävä paketteja kahden rajapinnan välillä. Kannettava, jonka tarvitsee vain päästä etäverkkoon, ei koskaan ota tätä roolia, ja sivusto-sivusto-päätepiste ottaa sen aina. Vaatimuksen lukeminen näin selittää, miksi toimiva asiakasasetus epäonnistuu, kun se siirretään yhdyskäytävälle.
Sama lause koskee edelleenohjauspäätöksen edessä olevaa palomuuria, jolla on oma käytäntönsä siitä, mitä saa välittää.
Tarkista jokainen osoiteperhe erikseen
IPv4-edelleenohjaus on yksi kytkin ja IPv6-edelleenohjaus on toinen, jolla on oma rajapintakohtainen käyttäytyminen. Ensimmäisen käyttöönotto ei kerro toisesta mitään, ja kaksoispinon asiakas voi tavoittaa puolet verkosta, kun loput jäävät pimeiksi. Kaksi eri perheen asiakasta voivat siksi olla eri mieltä samasta yhdyskäytävästä. Kysy, mitä perhettä epäonnistuva asiakas käytti, ennen kuin muokkaat kumpaakaan asetusta. Vahvista molemmat ennen kuin päättelet, että reitityssuunnittelu on väärä.
sysctl net.ipv4.ip_forward
sysctl -a --pattern 'net.ipv6.conf.(all|default).forwarding'
nft list ruleset | head -n 40
Monissa jakeluissa käyttöaikana lukemasi arvon on asettanut sinne palvelu tai asetustiedosto, joten kertakomennolla tehty muutos voi kadota uudelleenkäynnistyksessä. Etsi tiedosto, joka omistaa asetuksen, ennen kuin muokkaat käyttöaikaista arvoa.
Edelleenohjaus on yksi neljästä vaatimuksesta
Toimiva edelleenohjattu virta tarvitsee neljä asiaa kerralla: asiakkaan on tiedettävä, että kohde on tunnelin takana, yhdyskäytävällä on oltava reitti eteenpäin, vastauksilla on oltava paluupolku ja palomuurin on sallittava liikenne. Lähdeosoitteen käännös kuuluu tähän suunnitteluun vaihtoehtona eikä sääntönä, koska symmetrisillä poluilla varustettu yksityinen reititetty verkko ei tarvitse sitä ja epäsymmetrinen yleensä tarvitsee. Jokainen neljästä epäonnistuu itsenäisesti, minkä vuoksi yhden korjaaminen harvoin siirtää oiretta. Kirjoita kaikki neljä muistiin ennen kuin muutat mitään niistä.
Pilvialustat lisäävät viidennen näkökohdan. Jotkin valvovat instansseilla lähde- ja kohdetarkistuksia, mikä pudottaa edelleenohjatut paketit riippumatta siitä, miten vieraan ydin on asetettu. Alustan oma verkkodokumentaatio on siinä ratkaiseva, ei VM:n sisäinen sysctl-tuloste.
Testaa asiakkaalta, älä yhdyskäytävältä
Yhdyskäytävän omassa kuoressa ajettu testi ei kulje lainkaan sen edelleenohjauspolun läpi, jonka juuri otit käyttöön. Luo liikenne asiakkaalta, jolla on ongelma, ja vahvista, että se saavuttaa jotain yhdyskäytävän takana eikä yhdyskäytävää itseään. Se on ainoa testi, joka harjoittaa muuttamaasi roolia.
Pidä kuuntelusäännöt ja edelleenohjaussäännöt erillään päässäsi ja muutoslokissa. VPN-portin avaaminen päästää asiakkaat palveluun; se ei anna heille mitään sen takana olevassa verkossa, ja ne näyttävät samoilta palomuuriluettelossa, joka on kasvanut vuosien ajan.
Jos paketit saapuvat ja palvelu sitten hylkää käyttäjän, olet siirtynyt verkon ulkopuolelle. Jatka sovelluksen valtuuttamisella sen sijaan, että laajennat edelleenohjauskäytäntöä uudelleen.