Katsokaa Nebula-kättelyä väärästä päästä ja kaksi mekanismia näyttävät vaihdettavilta. Toinen päättää, mitkä osoitteet solmu kertoo majakalle ja mitä etäosoitteita se yrittää; toinen päättää, mitä saa kulkea, kun tunneli on olemassa. Suodatin voi pysäyttää yhteyden ennen kuin yhtäkään palomuurisääntöä arvioidaan, eikä palomuurisääntö voi herättää henkiin päätepistettä, jonka löytäminen poisti. Kaksi kerrosta vastaavat eri kysymyksiin, ja järjestys, jossa ne toimivat, on avain.

Seuratkaa yhtä yhteyttä neljän vaiheen läpi: ilmoitettu paikallinen osoite, harkittava etäpäätepiste, kättely ja overlay-liikenne. Jokaisella vaiheella on oma kokoonpanonsa ja oma vikatunnuksensa.

Aloittakaa paikallisesta osoitteesta, jonka solmu ilmoittaa

local_allow_list suodattaa tämän isäntäkoneen paikalliset osoitteet ennen kuin ne raportoidaan majakoille. Merkinnät voivat olla osoitealueita, ja kokoonpano tukee myös liitännäisten nimikuvioita. Tästä on hyötyä, kun isännällä on konttisiltoja tai ylimääräisiä tunneliliitäntöjä, joista ei pitäisi tulla vertaisten päätepisteitä.

Käykää isännän liitännät läpi ja kysykää, mihin etävertainen voi todella päästä. Docker-sillan osoite on paikallinen sille isännälle ja hyödytön toisen verkon vertaiselle. Sen ilmoittaminen tuhlaa löytämistä ja voi lähettää vertaisen osoitteeseen, joka ei koskaan vastaa. Kaikki, mihin vertainen ei voi reitittää, on kohinaa majakan vastauksessa.

Kapea sallittujen luettelo on täällä turvallisempi kuin laaja kiellettyjen luettelo. Jos vain sallitut merkinnät ovat läsnä, määrittelemätön loppuosa jätetään pois; kielletyn merkinnän lisääminen myöhemmin muuttaa oletuslogiikkaa ja vaatii oman tarkistuksensa. Muutos ansaitsee toisen katseen oletukseen.

Katsokaa sitten etäpäätepisteen valintaa

remote_allow_list suodattaa osoitteet, jotka tämä isäntä ottaa huomioon etävertaiselle kättelyn aikana. Se koskee underlay-osoitetta, ei overlay-osoitetta, jota vertainen käyttää, kun tunneli on pystyssä.

Yksityinen alue voi olla täysin käyttökelpoinen jaetussa toimistoverkossa ja merkityksetön, kun kaksi isäntää ovat toisistaan riippumattomissa verkoissa, jotka molemmat käyttävät osoitetta 10.0.0.0/8. Suodatin antaa teidän suosia reititettävää polkua ja jättää sattuman huomiotta.

Kun vertainen ei saa yhteyttä, verratkaa yritettävää osoitetta sääntöön, joka siihen sopii. Ottakaa kättelyloki käyttöön ja lukekaa valittu etäosoite; lokirivi nimeää päätepisteen, joka selvisi suodatuksesta, ja se on hyödyllisempää kuin luettelo vertaisen omistamista osoitteista.

Liitännän nimen suodatin ilmoittavalla puolella voi poistaa päätepisteen ennen kuin vastaanottava puoli näkee sen lainkaan. Tarkistakaa molemmat solmut, kun vain yksi suunta epäonnistuu.

Kättelyn jälkeen overlayn käyttösäännöt tulevat voimaan

Nebulan palomuurisäännöt toimivat overlayn sisällä, kun tunneli on muodostettu. Ne sovittavat isäntiä, ryhmiä, portteja ja protokollia ja päättävät, saako paketti saapua paikalliseen isäntään tai lähteä siitä. Ne eivät valitse underlay-päätepistettä.

Tämä erottelu selittää yleisen väärän diagnoosin. Ylläpitäjä lisää palomuurisäännön portille eikä silti saa yhteyttä, koska majakan suodatin poisti ainoan tavoitettavan päätepisteen. Toinen ylläpitäjä avaa osoitesuodattimen eikä silti tavoita palvelua, koska overlayn palomuuri hylkää portin.

Lukekaa vika oikealta kerrokselta. Kättely, joka ei koskaan valmistu, viittaa löytämiseen, päätepisteiden suodatukseen tai verkkopolkuun. Valmis kättely, jota seuraa hylätty tai pudotettu palveluyhteys, viittaa overlayn palomuuriin tai sovellukseen.

Lukekaa oletus, kun sallittuja ja kiellettyjä sekoitetaan

Majakan kokoonpano tukee vain-sallittuja, vain-kiellettyjä ja sekaluetteloita, ja oletus määrittelemättömälle loppuosalle vaihtelee näiden muotojen välillä. Sekaluettelo tarvitsee osoiteperheelle eksplisiittisen oletuksen; olettamus, että loppuosa käyttäytyy kuin edellinen kokoonpano, on se tapa, jolla toimiva päätepiste katoaa hiljaa.

lighthouse:
  local_allow_list:
    interfaces:
      docker0: false
  remote_allow_list:
    192.168.0.0/16: true
    default: false

Kohdelkaa oletusta osana sääntöä, älkää mallitekstinä. Jos perheen oletus on kielto, jokainen listaamaton osoite suljetaan pois, mukaan lukien uusi toimistoalue, joka lisättiin kokoonpanon kirjoittamisen jälkeen.

Kirjatkaa, mitkä osoitteet oli tarkoitettu tavoitettaviksi, ja testatkaa molemmilta puolilta. Suodatin, joka toimii yhdelle vertaisparille, voi epäonnistua toiselle parille, jonka ainoa yhteinen polku käyttää osoitetta, jonka luettelo sulkee pois.

Käyttäkää relayta, kun mikään suora päätepiste ei ole tavoitettavissa

Jos jokainen ehdokaspäätepiste on suodatettu pois tai tavoittamattomissa, vastaus ei ole laajempi sallittujen luettelo, joka ottaa uudelleen vastaan osoitteita, joihin ette luota. Nebulan relay-kokoonpano tarjoaa vaihtoehtoisen vertaispolun, kun suora yhteys ei ole toteutettavissa.

Relay ratkaisee siirron ja löytämisen, ei valtuutusta, eikä se laajenna palomuuria. Overlayn palomuuri päättää edelleen, mitä palveluja saa käyttää, eikä relay muuta majakan suodatusta pääsynvalvontamekanismiksi.

Testatkaa relay-polkua suorien päätepisteiden ollessa poissa käytöstä ja vahvistakaa, että aiottu palvelu toimii edelleen, mutta aiottuun kuulumaton ei. Se yksi testi erottaa siirtokorjauksen käytäntömuutoksesta ja pitää kaksi kerrosta rehellisinä.

Aiheeseen liittyvät artikkelit