Maršrutēt OpenVPN klientus caur Cloudflare? Vispirms pārbaudiet lomu
Ierīces klients nav maršrutētājs. Apstipriniet, ka Cloudflare loma pārsūta citu resursdatoru paketes, un atstājiet servera paša tuneli uz tā vecā ceļa.
Jums ir strādājošs OpenVPN serveris un resursdators, kurā darbojas arī Cloudflare ierīces programmatūra, un nākamais acīmredzamais solis izskatās pēc klientu trafika novirzīšanas uz to. Divi strādājoši savienojumi vienā mašīnā neveido tranzīta vārteju. Trūkst lomas, kas dokumentēta pakešu, kuras pieder kādam citam, pārsūtīšanai, un politikas, kas šīs paketes klasificē, kad tās ierodas.
Pirms jebkura noteikuma ir četri jautājumi: kāds trafiks ienāk, kur tas dodas tālāk, kā atbildes atrod atpakaļceļu un ko dizains dara, kad šis otrais ceļš neizdodas. Pirmie divi ir spēju jautājumi.
Divi pakalpojumi vienā resursdatorā nav tranzīta ceļš
Ierīces klients ir veidots, lai apstrādātu trafiku, kas rodas mašīnā, kurā tas darbojas. Tas pārtver vārdu izšķiršanu vai atlasītu lietotņu trafiku un sūta to pa savu tuneli, un tā politika ir rakstīta šīs ierīces lietotājam un šīs ierīces procesiem. No OpenVPN klienta pārsūtīta pakete nav vietēja izvade, tāpēc tie paši noteikumi to neklasificē. Tas nav konfigurācijas sīkums, ko varētu noklāt ar plašāku noteikumu, jo tas nosaka, vai programmatūra paketi vispār redz.
Tāpēc dizaina jautājums ir spēju jautājums. Vai nu instalētajam produktam ir dokumentēta loma, kas pārsūta trafiku citiem tīkliem, vai arī tranzīta funkcija pieder pavisam citai vietai.
Kura Cloudflare loma drīkst pārsūtīt
Cloudflare ierīces klients piedāvā režīmus, kas atšķiras pēc tvēruma: tikai vārdu izšķiršana, trafiks no ierīces un dažkārt abi. Neviens no šiem režīmiem nepārvērš resursdatoru par maršrutētāju privātam diapazonam, kas ierodas pa citu tuneli. Īpašā maršrutēšanas loma ir atsevišķs produkts ar savu savienotāju, reģistrāciju un tīkla modeli.
| Question | What has to answer it |
|---|---|
| Does the installed product forward packets from other hosts? | A documented routing or connector role, not a device mode |
| Which prefixes does the connector advertise? | Its own configuration and status output |
| Does the server's own transport still take the old path? | ip route get for the endpoint, before and after |
| Do replies return through the same path? | Connection tracking counters on the forward rule |
Pārbaudiet instalēto lomu pirms maršrutu projektēšanas ap to. Izlaisiet, kuru saskarni izveido savienotājs, vai tas reklamē konkrētus prefiksus vai noklusējuma maršrutu, un vai vietējā politika attiecas arī uz pārsūtītajām paketēm, ne tikai vietējām. Ja tiek apstrādāts tikai vietējais trafiks, OpenVPN serveris nevar būt tranzīta punkts, lai kā arī būtu uzrakstīts tulkošanas noteikums.
Šeit arī publiskās izejas prasība ir jāformulē precīzi. Cloudflare nodrošinātā izeja pārsūtītajam klientu trafikam ir konkrēts lietošanas gadījums, un tas ir jāapstiprina pret pakalpojumu, kas jums patiešām ir.
Turiet ārējo tuneli neatkarīgu no jaunā maršruta
Tajā mirklī, kad pievienojat noklusējuma maršrutu uz jauno saskarni, servera paša izejošais trafiks sāk par to konkurēt, un tas ietver atbildes OpenVPN klientiem un jūsu SSH sesiju uz mašīnu. Parastais simptoms ir tunelis, kas izveidojas un pēc tam mirst, vai administrators, kas paliek ārpusē, kamēr izmaiņas šķietami ir nostrādājušas. Salīdziniet ip route get galapunktam pirms un pēc, un izmantojiet uz politiku balstītu maršrutēšanu vai resursdatora maršrutu, lai servera paša transports paliktu tur, kur tas bija. Veiciet šo salīdzinājumu no pašas mašīnas, jo svarīgs ir servera paša skatījums uz savu maršrutu.
Izņēmums servera publiskajai adresei pats par sevi nav pietiekams, jo katra attālinātā administratora atgriešanās ceļš ir cita plūsma. Izlemiet, kurām no šīm plūsmām ir jāiztur izmaiņas, un pēc tam pārbaudiet katru, nevis pieņemiet, ka pirmā aptver pārējās.
Ierobežojiet pārsūtīšanu un tulkošanu ar vienu plūsmu
Saņemtās paketes seko pārsūtīšanas ceļam, nevis vietējās izvades ceļam, tāpēc svarīgais noteikums dzīvo forward āķī. Kur nākamajai saskarnei nepieciešama tulkošana, ierobežojiet avotu ar klientu pūlu, galamērķi ar atļauto un izeju ar šo vienu saskarni. Masquerade noteikums, kas saistīts tikai ar saskarni, pats neizvēlas maršrutu un neļauj pārsūtīt garām nevienam citam filtram.
Izlemiet uzvedību kļūmes gadījumā iepriekš un pēc tam pārbaudiet to. Apturiet nākamo ceļu un apstipriniet, ka klienti zaudē paredzēto izeju, nevis klusi atkrīt uz parasto augšupielādes kanālu, jo tas ir rezultāts, ko neviens nepamana, līdz trafiks sāk iziet pa nepareizajām durvīm. Atkārtojiet pārbaudi vārdu izšķiršanai un IPv6, jo noteikumu kopums tikai v4 atstāj v6 ceļu atvērtu.
Pierakstiet četras atbildes, pie kurām nonācāt, un novērojumu, kas katru no tām pierāda. Tranzīta ceļš, ko varat aprakstīt, ir tas, ko varat aizstāvēt nākamajā incidentu pārskatā.