WireGuard-asiakas muodostaa yhteyden ja pingaa osoitetta täysin toisella rajapinnalla, ja vastaus saapuu. Tallenteet näyttävät pyynnön vain tunnelissa. Mikään ei ole rikki, eikä huolellisesti pois päältä kytketyllä edelleenlähetysasetuksella ole mitään tekemistä asian kanssa. Tämä on vertailu kahden polun välillä, jotka näyttävät kaaviossa samanlaisilta ja ovat ytimessä täysin erilaisia.

Toinen polku välittää paketteja jonkun muun puolesta; toinen toimittaa ne isännälle itselleen.

Isännälle osoitettu paketti pysyy isännässä

Etäasiakas lähettää IP-paketin osoitteeseen, jonka isäntä omistaa. Reititys kysyy yhden kysymyksen tuosta paketista: onko tämä kohde paikallinen? Jokainen osoite, jonka isäntä pitää, näkyy paikallisessa reititystaulussa, ja tuota taulua tarkastellaan ennen päätaulua, joten paketti menee isännän omaan pinoon sen sijaan, että se lähtisi ulos toisesta rajapinnasta. Vastaus luodaan paikallisesti, ja se matkaa takaisin tunnelin kautta, koska kysely tuli sieltä.

Siinä on koko mekanismi. Edelleenlähetystä ei tapahdu, rajapinnan tilan muutos ei ole mukana, eikä kyseisen osoitteen tarvitse olla saavutettavissa mistään muualta.

Miksi ip_forward ei päde

Edelleenlähetys ohjaa paketteja, joiden on poistuttava eri rajapinnan kautta kuin se, jolla ne saapuivat. Ping isännälle itselleen ei koskaan kulje tuota polkua: paketti kulutetaan paikallisesti ja vastaus luodaan paikallisesti. Siksi net.ipv4.ip_forward=0-asetus ei muuta täällä mitään, eikä edelleenlähetysketjun sääntö näe liikennettä koskaan. Oikea valvonta on tulopolulla, rajattuna saapuvalla rajapinnalla tai lähteellä.

Siksi edelleenlähetyksen poistaminen käytöstä ja olettamus, että isäntä on eristetty, synnyttää väärän turvallisuuden tunteen.

Lue paikallinen taulu, joka päätti

ip rule show ilmoittaa yleensä säännöstä, jonka prioriteetti on nolla ja joka lähettää kaikki haut ensin paikalliseen tauluun, ja ip route show table local luettelee isännän omat osoitteet paikallisella laajuudella. Tuo taulu sisältää osoitteita rajapinnoilla, jotka on hallinnollisesti suljettu mutta yhä määritetty. Staattisesti määritetyt IPv4-osoitteet yleensä säilyvät linkin katketessa, ja juuri siksi ping alas ajettuun siltaan voi yhä onnistua ja yllättää operaattorin.

IPv6 on eri mieltä juuri tässä kohdassa. Sen osoitteet yleensä vedetään pois, kun linkki katkeaa, ellei keep_addr_on_down ole asetettu. Vertaa perheitä sen sijaan, että olettaisit yhden säännön kattavan molemmat.

Mihin vastapuoli todella yltää

Vastaus reitittimen omasta osoitteesta segmentillä ei kerro mitään segmentin takana olevista koneista. Vastapuoli ei pääse toisen rajapinnan takana olevaan isäntään tätä polkua pitkin; se yltää vain osoitteisiin, jotka reititin itse omistaa. Palvelun testaaminen erillisellä LAN-isännällä reitittimen osoitteen pingaamisen sijaan on se, mikä selvittää, onko edelleenlähetys ylipäätään sallittu.

Vastapuolen rajaaminen tunneliosoitteeseen sidottuihin palveluihin on tulopolitiikan kysymys. Salli haluttu palvelu tunnelirajapinnalla ja rajaa lähteet, jotka saavat käyttää sitä, koska paketti todella saapuu sinne.

Tarkista myös osoitteet, jotka aioit poistaa käytöstä. Osoitteen poistaminen rajapinnalta on luotettavampaa kuin palomuurisääntöjen pinoaminen vanhentuneen osoitteen päälle.

Aiheeseen liittyvät artikkelit