GCP-VM, jossa on useita NIC-verkkoliittymiä: miksi vastaukset lähtevät väärästä rajapinnasta
Pilven reitit ja vieraan reitit ovat kaksi päätöstä. Käy yksi sivukonttorin pyyntö ja yksi internetpyyntö läpi molempien NIC-rajapintojen ennen kuin lisäät käytäntösääntöjä.
Toisen rajapinnan liittäminen Compute Engine -VM:ään antaa sille yhden verkkoliitännän lisää, ei symmetristä paluureittiä. Vieras valitsee edelleen rajapinnan ja lähdeosoitteen omista reiteistään ja säännöistään. Sen jälkeen Google Cloud soveltaa VPC-reititystä ja palomuurikäytäntöä sen rajapinnan ympärille, jonka kautta paketti lähti. Kun nämä kaksi päätöstä ovat eri mieltä, pyynnöt saapuvat yhdelle NIC:lle ja vastaukset lähtevät toiselta, ja sivukonttori näkee puoliavoimen keskustelun.
Käy reitti läpi viidessä vaiheessa, niin ristiriita näkyy ennen kuin kirjoitat käytäntösäännön.
Vaihe 1: yhdistä pilven NIC:t vieraan laitteisiin
Pilvi nimeää rajapinnat nic0, nic1 ja niin edelleen, ja vieras näkee laitenimiä, joiden ei tarvitse täsmätä. Selvitä yhdistäminen instanssin metatiedoista tai rajapinnan omasta osoitteesta ennen kaikkea muuta. DHCP:n tarjoama tavallinen oletusreitti on liitetty nic0:aan, minkä vuoksi internetiin päin oleva reitti voittaa niin usein vahingossa. Käytännön kirjoittaminen arvatun laitenimen mukaan on se tapa, jolla oikea sääntö päätyy väärälle rajapinnalle.
Kirjaa osoitteet, laitenimet ja VPC, johon kukin kuuluu. Se kolmisarakkeinen kartta on jokaisen myöhemmän vaiheen syöte.
Vaihe 2: nimeä kaksi reitityspäätöstä
Ensimmäinen päätös kuuluu vieraalle: mikä rajapinta ja mikä lähdeosoite tälle paketille. Toinen kuuluu pilvelle: mitä VPC:n reitit ja palomuurikäytäntö sallivat tuon rajapinnan ympärillä.
VPN:ään päin olevassa VPC:ssä näkyvä reitti ei muutu vieraan reitiksi, joka valitsisi tuon NIC:n. Pilven reitti kuvaa, mitä verkko voi toimittaa, kun taas vieraan reitti päättää, mitä paketti tekee.
Vaihe 3: valitse paluureitin käytäntö
Pienelle ja vakaalle sivukonttorin etuliitejoukolle vieraan eksplisiittiset kohdereitit ovat yksinkertaisin ilmaisu: vastaukset näihin etuliitteisiin lähtevät VPN:ään päin olevalta rajapinnalta. Kun useat palvelut käyttävät tarkoituksella eri paikallisia lähdeosoitteita, lähdeperusteiset säännöt, jotka valitsevat taulun rajapintaa kohden, pitävät jokaisen vastauksen oikeassa yhteydessä. Useiden rajapintojen dokumentaatio kuvaa NIC-nimeämisen ja oletusreitin toiminnan, joihin nämä suunnitelmat nojaavat.
Jokainen taulu tarvitsee kelvolliset yhdistetyt reitit ja seuraavat hypyt sekä kohteet, joita siltä kysytään. Sääntö, joka osoittaa keskeneräiseen tauluun, ei ole paluureitin suunnitelma. Käytä kyseiselle NIC:lle dokumentoitua yhdyskäytävää sen sijaan, että keksisit Ethernet-yhdyskäytävän aliverkon ulkonäöstä.
Vaihe 4: tarkista vieraan omat suodattimet
Tarkista, missä palvelin kuuntelee ja mitä paikallista lähdettä vastaus kantaa. Kaikkia osoitteita kuunteleva kuuntelija ei ohita reitityskäytäntöä, joten kaikkiin osoitteisiin sitominen ei muuta mitään sen rajapinnan suhteen, jonka kautta vastaus lähtee.
Linuxissa tarkastele käänteisen reitin validointia aiottua suunnitelmaa vasten. Sen poistaminen käytöstä globaalisti ensimmäisenä toimenpiteenä vaihtaa reititysvirheen väärentämiselle altistumiseen ja kätkee epäsymmetrian, jota yritit löytää.
Vaihe 5: testaa yksi virta reittiä kohden
Tarkista erikseen sallittu sivukonttorin pyyntö ja siihen liittymätön internetpyyntö, kumpikin todellisella lähteellään ja kohteellaan. Kaappaa molemmilla rajapinnoilla, kun voit, sillä hyödyllinen todiste on se, mikä rajapinta kuljetti vastauksen. Vahvista sitten, että pilven puolen käytäntö noudatti suunnittelemaasi reittiä. Yksi onnistunut pyyntö todistaa yhden virran, ei symmetristä suunnitelmaa.
Pidä kaksi testiä erillään muistiinpanoissasi, koska ne käyttävät eri reittejä ja eri palomuurisääntöjä.
Mitä toinen NIC ei anna sinulle
Toinen rajapinta lisää verkkoliitännän ja vielä yhden osoitteen. Se ei lisää automaattista symmetristä reititystä eikä ohita palomuurikäytäntöä. Sen pitäminen reitityskorjauksena on syy siihen, miksi monen NIC:n suunnitelmat keräävät sääntöjä, joita kukaan ei myöhemmin osaa selittää.
Jos VM:n on välitettävä muiden koneiden liikennettä, suunnittele se reitittimen rooli nimenomaisesti, mukaan lukien pilviasetus, joka sallii välityksen, ja siihen kuuluvat vieraan suodattimet.