Unu gastiga servo devas respondi al la interreto tra la fizika suprena ligilo dum ĉio alia en la maŝino daŭre uzas la tunelon. Tri kondiĉoj decidas ĉu politika enkursigado povas porti tiun ŝarĝon, kaj ĉiu estas malmultekoste kontrolebla antaŭ ol vi skribas regulon. La servo devas finiĝi sur ĉi tiu gastigo, ne malantaŭ DNAT aŭ plusendita pordo, la propraj reguloj de la VPN devas permesi la escepton, kaj vi devas kongruigi la respondon, ne la peton. Se iu el la tri malsukcesas, la subaj komandoj ŝargiĝas sen eraro sed faras nenion utilan.

Kontrolu la tri kondiĉojn antaŭ ol skribi regulon

Ujo, kiu publikigas pordon per DNAT, aŭ servilo malantaŭ porda plusendo, produktas pakojn kiuj ne originiĝas sur ĉi tiu gastigo. Tiuj pakoj estas plusendataj, do regulo ligita al gastiga loka enigo neniam vidas ilin kaj la trafiko daŭre prenas la defaŭltan vojon. Konfirmu kie la servo efektive ruliĝas antaŭ ol daŭrigi, ĉar tio estas la kondiĉo kiun homoj plej ofte maltrafas.

La dua kondiĉo estas politiko, ne meĥaniko. Ĉiu vojo kiu preterpasas la tunelon estas escepto de la celo de la tunelo, kaj sur administrita gastigo tiu decido apartenas al tiu, kiu posedas la politikon, ne al la persono kiu sencimigas tempolimon.

Kongruigu la respondon, ne la celpordon de la kliento

Respondo de servilo aŭskultanta sur TCP 443 forlasas la gastigon kun fonta pordo 443. Retumilo sur la sama gastigo konektanta al fora HTTPS-ejo sendas efemeran fontan pordon kaj celpordon 443. Ambaŭ estas trafiko de pordo 443 kaj nur unu el ili devus preni la WAN-tabelon, jen kial kongruo de celpordo kaptus la malĝustan duonon.

La responda direkto estas tio, kion vi povas distingi. Kongruigu la fontan pordon, limigu la regulon al loke generitaj pakoj, kaj la regulo kovras la proprajn respondojn de la servo sen tuŝi la petojn de la retumilo.

Konstruu kompletan revenan tabelon antaŭ ol la regulo montras al ĝi

Malplena tabelo signifas neniun vojon, kio aspektas kiel rompita servo prefere ol rompita politiko. Plenigu ĝin unue, per tabela numero kaj prioritato kiujn nenio alia sur la gastigo postulas:

ip -4 route add table 100 192.0.2.0/24 dev eth0
ip -4 route add table 100 default via 192.0.2.1 dev eth0
ip -4 rule add priority 1000 iif lo ipproto tcp sport 443 lookup 100

Legu la numerojn de la viva gastigo anstataŭ kopii ilin. ip -4 rule show diras al vi kiuj prioritatoj estas prenitaj, kaj aldoni regulon ĉe jam ekzistanta prioritato silente ŝanĝas la ordon de du reguloj kiuj memstaras aspektas bone.

Du selektiloj faras la veran laboron ĉi tie. iif lo estas kiel la kerno raportas pakojn kiujn la gastigo mem generis, do la regulo ne povas akcidente kapti plusendatan trafikon venantan de ekstere. ipproto tcp sport 443 mallarĝigas ĝin al unu transporto kaj unu pordo, kio estas tiel strikta kiel la postulo permesas. Forigu la protokolan selektilon kaj la regulo ankaŭ kaptas UDP 443, kio estas alia servo kun alia konduto.

Tenu privatajn respondojn ene de la tunelo

Se la sama aŭskultanto ankaŭ respondas al klientoj sur la privata flanko, defaŭlta WAN-vojo kiu kaptas ĉion en tabelo 100 provos resendi tiujn respondojn tra la suprena ligilo. Aldonu la privatajn prefiksojn kiuj ne devas sekvi la WAN-defaŭlton, aŭ lasu ilin fali al la sekva politika regulo:

ip -4 route add table 100 throw 10.90.0.0/24

Vojo throw finas la serĉon en ĉi tiu tabelo kaj redonas la pakon al la regula listo, do la sekva VPN-politiko ricevas sian ŝancon. Ĝi mem enkursigas nenion en la tunelon, kaj se neniu posta regulo havas kongruan vojon, la pako tamen malsukcesas; kontrolu la sekvan politikon anstataŭ supozi ke throw estas riparo.

Filtrado de inversa vojo kaj fajromuraj reguloj de la gastigo ankoraŭ validas por la alvenanta peto. Rigardu iliajn verajn verdiktojn antaŭ ol malstreĉi la validigon, ĉar enkursiga escepto ne igas rp_filter akcepti revenan vojon kiun ĝi konsideras neebla.

Testu TCP, poste QUIC, poste restartigon

Malfermu unu konekton de rajtigita ekstera kliento kaj unu de la privata flanko, poste inspektu la respondan serĉon per la faktaj adresoj kaj pordoj. Se la ekstera respondo prenas tabelon 100 kaj la privata ne, la politiko faras tion, kion vi petis.

HTTP/3 estas servata tra UDP kaj ne estos kongruata de TCP-regulo, do QUIC-aŭskultanto bezonas sian propran selektilon, alie ĝi daŭre uzos la tunelon dum HTTPS funkcias. Konservu la regulojn kiujn vi elektos ĉe la komponento kiu posedas la interfacon, kaj konfirmu ilin post rekonekto aŭ DHCP-renovigo. Kiam konkuranta administranto forigas ruligvojon ĵus post restartigo, tio estas posedeca problemo solvenda ĉe la fonto, ne kialo aldoni pli larĝajn NAT-regulojn supre.

Rilataj artikoloj