Die router bereik die internet deur sy tonnel, terwyl 'n skootrekenaar agter hom steeds die ISP-adres rapporteer. Om toelaatreëls by te voeg help nie, en daardie mislukking is insiggewend: filtering antwoord of 'n pakket mag deurgaan, nie waarheen dit gaan nie. Die koppelvlakkeuse is reeds gemaak deur 'n routeringsoektog wat niks van jou kliëntelys weet nie. Maak die soektog reg, dan is die vuurmuur nie meer die verdagte nie.

’n Filterreël kan nie ’n koppelvlak kies nie

Pakketvloei op 'n Linux-router voer eers die routeringsbesluit uit en daarna die forward-haak. Teen die tyd dat 'n reël op die uitgaande tonneltoestel pas, het die kern reeds besluit dat die tonnel die uitweg is. As die hooftabel steeds die WAN-verstekroete verkies, is die pakket op pad na die ISP en sien die toelaatreël wat jy pas geskryf het dit nooit. Daardie enkele ordeningsfeit verduidelik waarom 'n bladsy vol nuwe vuurmuurreëls niks verander nie.

Die voorbeeld hieronder gebruik 'n LAN van 192.168.8.0/24 op br-lan, 'n tonneltoestel tun0, en een set-top box by 192.168.8.23 wat die tonnel moet gebruik.

Lees die soektog voordat jy reëls redigeer

Vra die kern om 'n roete namens daardie kliënt op te los. Die antwoord sluit die uitgaande toestel en die bronadres in wat gekies sou word, en dit is alles wat jy nodig het om die diagnose te bevestig. As die antwoord die WAN-toestel noem, het die pakket nooit 'n kans gehad om jou reël te bereik nie.

ip -4 route get 198.51.100.7 from 192.168.8.23

Herhaal die navraag vir 'n kliënt wat op die gewone pad moet bly. Wanneer albei antwoorde dieselfde toestel noem, is daar nog geen per-bron-beleid in werking nie, en hoort die oplossing by routering eerder as by filtering.

Koppel 'n tabel aan die kliënte wat jy wil dek

Beleidroutering voeg 'n reëlsoektog voor die hooftabel in. Bou 'n tabel met die tonnel as verstekroete en koppel daardie tabel dan aan 'n keurder: 'n invoerkoppelvlak, 'n bronadres of 'n vuurmuurmerk. Prioriteite bepaal die volgorde, en die hooftabel sit ver onder in die lys op 32766, so 'n reël met 'n lae nommer word eerste geraadpleeg. Koppelvlakkeurders dek elke kliënt op die brug; adreskeurders dek een masjien.

ip -4 route add default dev tun0 table 200
ip -4 rule add iif br-lan lookup 200 priority 200

Firmware-koppelvlakke bied gewoonlik dieselfde objekte as 'n beleidroutering- of VPN-beleidbladsy. 'n Toestellys daar is makliker om in stand te hou as handgeskrewe reëls en oorleef gewoonlik opgraderings wat die reëlsinntaks verander.

Kies die keurder doelbewus. 'n Koppelvlakreël is kort en toekomsbestendig, maar vang ook die router se eie bestuursverkeer wat op daardie brug aankom. 'n Bronreël is presies en moet geredigeer word wanneer die toestellys verander. Skryf die keuse neer, want die volgende persoon wat wil weet waarom een toestel anders optree, sal dit nodig hê.

Hou plaaslike bestemmings uit die tonnel

'n Nuwe tabel ken net die roetes wat jy daarin sit. Die LAN-voorvoegsel ontbreek, so drukker- en NAS-verkeer sou die tonnel se verstek volg en verdwyn. 'n Gooi-roete beëindig die soektog in hierdie tabel en gee die besluit terug aan die hooftabel.

ip -4 route add throw 192.168.8.0/24 table 200

Slaan daardie roete oor en plaaslike deellêers breek, en die router se eie bestuursessie kan verdwyn as die keurder breër is as bedoel. Maak dan die bronvraag reg: tonnelpakkette wat steeds LAN-adresse dra, het die ander kant nodig om 'n terugpad te ken, terwyl masquerading op die tonnel daardie vereiste verwyder en ook die kliëntidentiteit verwyder wat die ander kant sou sien.

Reëls en roetes wat tydens looptyd bygevoeg word, is weg ná 'n herstart of 'n firmware-opgradering. Voeg hulle by die router se opstartmeganisme, herbegin een keer en toets weer vanaf die kliënt: sy publieke adres, 'n tweede kliënt wat op die WAN moet bly, en die tonneltellers tydens 'n nuwe verbinding.

Verwante artikels