Klēpjdators pieslēdzas, tunelis ir uzcelts, un pieprasījumi uz iekšējo servisu iestrēgst savienojuma laikā. Pašā servisā pieprasījums nāk no adreses, piemēram, 10.90.0.25, atbilde aiziet uz noklusējuma vārteju, un nekas neatgriežas, jo šī vārteja ne zinis, kur atrodas 10.90.0.25. No otras puses tā pati kļūda izskatās kā iekšēja saimnieke, kas nevar pingot pieslēgtu klientu. Abas ir viens trūkstošs objekts: atgriešanās maršruts uz VPN klientu baseinu, ko var pievienot tikai privātais tīkls.

Izlasiet avota adresi, ko redz serviss

Šis viens lauks izšķir visu pārējo. Ja iekšējais serviss redz baseina adresi, Access Server maršrutē, nevis slēpj klienta datplūsmu, un katra atbilde ir jāmaršrutē atpakaļ uz baseinu. Ja tā vietā tas redz paša servera privāto adresi, serveris maskē un atgriešanās ceļš jau darbojas, taču uz katra klienta identitātes rēķina servisa žurnālos un piekļuves noteikumos.

Pirms kaut ko mainīt, salīdziniet abus galus. Serverī uzskaitiet tuneļa saskarnes un to adreses; klientā pārliecinieties, kura no šīm adresēm tam tiešām ir; iekšējā saimniekē apskatiet aktīvu savienojumu.

ip -br addr show
ss -tnp state established '( dport = :443 )'
ip route get 10.90.0.25

Pēdējā komanda ir tā, kas sabojātajā gadījumā neizdodas: tā vai nu ziņo tuneļa prefiksu kā nesasniedzamu, vai, vēl ļaunāk, atgriež jūsu noklusējuma vārteju, un tā atbildes nonāk internetā.

Nepieņemiet, ka baseins ir tikai viens. Serverim var būt dinamisks diapazons plus lietotāja statiskie kartējumi, un statiskā adrese var atrasties pilnīgi ārpus dinamiskā prefiksa. Ja maršrutējat tikai to diapazonu, ko atceraties, lietotāji ar fiksētām adresēm paliek salauzti, bet visi pārējie ziņo, ka problēma ir atrisināta.

Pievienojiet maršrutu tur, kur tiek izlemta atbilde

Maršruts pieder vārtejai, ko iekšējais serviss jau izmanto, nevis servisam, ja vien tas pats nemaršrutē savu datplūsmu. Novirziet to uz Access Server sasniedzamo privāto adresi, kas atšķiras no klienta turētās tuneļa adreses.

ip route add 10.90.0.0/24 via 10.0.1.5
ip route get 10.90.0.25

Mākoņtīklā šis pats apgalvojums kļūst par maršrutu tabulas ierakstu, kura mērķis ir instancē vai tīkla saskarne, kurā darbojas serveris, un šajā saskarnē ir izslēgta avota un galamērķa pārbaude. Ievērojiet, ko šis ieraksts nedara: maršruts nav piekļuves piešķiršana, tāpēc drošības grupas, tīkla ACL un saimnieka ugunsmūris datplūsmu joprojām ir jāatļauj.

Padariet to pastāvīgu un uzturiet baseinu izmērus godīgus. Diviem blakus esošiem baseiniem vajag divus maršrutus, un baseins, kas izaug ārpus konfigurētā prefiksa, klusi rada klientus, kuru atbildēm nav kur aiziet. Ja jūs kontrolējat baseinu diapazonus, izvēlieties kopsavilkumu, ko varat maršrutēt vienreiz un atstāt.

Pārsūtīšanai un filtriem jāsaskan ar maršrutu

Maršrutēšana ir tikai puse ceļa. Serverim ir jābūt atļautam pārsūtīt starp tuneli un privāto saskarni, kas Linux nozīmē net.ipv4.ip_forward un pārsūtīšanas ķēdi, kas atļauj saskarņu pāri, un rūdītā saimniekē parasti atsevišķu skaidru noteikumu katram virzienam.

sysctl net.ipv4.ip_forward
nft list ruleset | grep -A5 forward

Stāvokļa filtrēšana izskaidro simptomu, kas cilvēkus aizved nepareizajā ceļā. Atbildei jau nodibinātā plūsmā nav vajadzīgs jauns ienākošais noteikums, tāpēc savienojums, kas karājas pēc SYN-ACK, netiek bloķēts trūkstoša pieņemšanas noteikuma dēļ; tas tiek izmests vai nepareizi maršrutēts. Saglabājiet šo atšķirību, jo tā atdala maršrutēšanas izmaiņas no ugunsmūra izmaiņām.

Asimetriski atgriešanās ceļi ir klusākā tās pašas problēmas versija. Ja baseinu sasniedz divi maršruti un atbilde izvēlas to, kas iziet caur citu saskarni nekā tā, pa kuru ienāca pieprasījums, stingrā apgrieztā ceļa filtrēšana to izmet, un plūsma neizdodas tikai dažiem klientiem.

Maršrutēts vai maskēts: izvēlieties apzināti

Maršrutētais režīms saglabā klienta baseina adresi servisā, kas ļauj veikt katra klienta žurnālēšanu un politiku, un pretī katram iekšējam tīklam, kam jāatbild klientam, vajag baseina maršrutu. Maskētais režīms šo prasību novērš, jo atbildes atgriežas serverī, taču serviss vairs nevar atšķirt vienu klientu no otra un nevar neko iniciēt pret konkrētu klientu.

Šīs uzvedības maiņa darbojošā serverī pārtrauc esošās sesijas, tāpēc vispirms pārbaudiet ar vienu klientu un vienu plūsmu. Ja pārslēgšanās ir pareizā atbilde, tas ir konfigurācijas lēmums serverī, nevis kaut kas, ko apiet, pievienojot maršrutus, kas vēlāk kļūs nevajadzīgi.

Apakštīkls aiz klienta ir atsevišķs uzdevums

Piekļuve ierīcei paša klēpjdatora LAN nav tas pats, kas sasniegt klēpjdatora tuneļa adresi. Tas prasa, lai klients darbojas kā apakštīkla vārteja: deklarēts klienta puses tīkls, ieslēgta pārsūtīšana klienta operētājsistēmā un maršruts šajā LAN atpakaļ uz klientu. Privātā tīkla maršruta pievienošana klēpjdatora mājas diapazonam to neizdara un rada konfliktus, ja diviem lietotājiem ir vienāds mājas diapazons.

Virziens arī ir politikas jautājums. Atļauja klientam atvērt savienojumu uz iekšējo servisu automātiski neļauj iekšējai saimniekei atvērt savienojumu uz šo klientu. Pirms secināt, ka ceļš ir salauzts, pārbaudiet servera piekļuves politiku un klienta saimniekes ugunsmūri.

Pārbaudiet ar vienu plūsmu un vienu ierakstu

Pierādiet ceļu ar vienu savienojumu, nevis vispārīgu sasniedzamības testu. Vērojiet to pašu plūsmu abos galos: pieprasījumu, kas nonāk servisā, un atbildi, kas to atstāj.

tcpdump -ni any host 10.90.0.25 and port 443

Pirms labojuma ieraksts rāda atbildi, kas aiziet uz vārteju, kura to nemaršrutēs. Pēc labojuma atbilde aiziet uz serveri, un plūsma pabeidzas. Pēc tam apstipriniet maršrutu, ko vārteja izmantotu otrai klienta adresei, lai neaptvertais baseins parādītos tagad, nevis pēc nedēļas.

Pabeidziet ar četrām pārbaudēm, kas to noslēdz: avota adrese servisā atbilst iecerētajam režīmam, vārtejai ir maršruts uz katru izmantoto baseinu, pārsūtīšana un filtri atļauj abus virzienus, un viena reāla plūsma iziet no sākuma līdz beigām. Biežāk uzdotie jautājumi par Access Server maršrutēšanu izklāsta to pašu principu instalētajai versijai, kuras atbalstītā konfigurācijas saskarne var atšķirties no vecākām rokasgrāmatām.

Saistītie raksti