Kāpēc Azure VM ar VPN ierīci zaudē atgaitas ceļu
VPN ierīcei Azure VM ir vajadzīga saskaņota UDR, tīkla kartes pārsūtīšanas karodziņa un viesa politika. Izsekojiet vienu filiāles pieprasījumu cauri visiem trim.
Azure VM, kurā darbojas VPN ierīce, atrodas divās neatkarīgās lēmumu sistēmās. Azure izlemj, no kurienes pakete atstāj apakštīklu, izmantojot maršrutu tabulas un tīkla kartes pārsūtīšanas iestatījumu. Pašas ierīces operētājsistēma izlemj, vai pārsūtīt atšifrēto paketi tālāk. Tunelis, kas paceļas nevainojami, tomēr var neizdoties otrajā sistēmā, un tieši tur apstājas lielākā daļa šādu izvietojumu.
Trīs viena ceļa īpašnieki
Ņemiet filiāles tīklu 192.168.50.0/24 un darba slodzes apakštīklu 10.0.10.0/24, un ierīce atrodas 10.0.0.4 tās pašas apakštīklā. Viens pieprasījums skar trīs atsevišķas konfigurācijas.
| Decision | Configured in | How it fails |
|---|---|---|
| Where the workload subnet sends branch traffic | Azure route table entry | Traffic leaves the subnet and never reaches the appliance |
| Whether a NIC may accept traffic not addressed to it | Azure NIC IP forwarding | Packets arrive and disappear at the interface |
| Whether the guest forwards decrypted traffic | Guest OS or vendor appliance policy | Tunnel is up, workload is unreachable |
| Whether the workload accepts the source | NSG and service policy | Requests delivered, replies refused |
Lielākajā daļā organizāciju katru rindu pārvalda cita komanda, tāpēc šī kļūda parasti pienāk kā trīs biļetes, nevis viena.
Maršruts, kas norāda uz ierīci
Saistiet maršrutu tabulu ar darba slodzes apakštīklu un piešķiriet filiāles prefiksam nākamo lēcienu ar tipu Virtual appliance un 10.0.0.4 kā adresi. Izmantojiet ierīces sasniedzamo privāto adresi, nekad tās publisko VPN ieejas punktu. Nākamajam lēcienam jābūt adresei, ko darba slodzes apakštīkls jau spēj sasniegt. Atstājiet pārējo darba slodzes maršrutēšanu mierā, ja vien neesat apzināti nolēmis aizstāt noklusējuma maršrutu.
Turiet ierīci tās pašas apakštīklā un pārliecinieties, ka maršruts, kas sūta filiāles trafiku uz ierīci, neuzķer arī pašas ierīces izejas ceļu. Šāda cilpa izskatās kā veselīgs tunelis bez atbildēm, un to ir ļoti nepatīkami atkļūdot pulksten 2 naktī.
Tīkla kartes karodziņš, ko visi aizmirst
Azure ir IP pārsūtīšanas iestatījums katrai tīkla kartei, un tas pēc noklusējuma ir izslēgts. Tas pastāv tāpēc, ka pārsūtošā karte saņem paketes, kas adresētas kam citam, un to klusa nomešana ir drošā noklusējuma vērtība visiem pārējiem.
az network nic update --resource-group rg-net --name appliance-nic --ip-forwarding true ieslēdz to vienai saskarnei. Microsoft norādījumi par pārsūtīšanu tīkla kartē prasa šo iestatījumu katrā pievienotajā kartē, kas pārsūta trafiku, tāpēc vienas kartes ierīcei tas tomēr jāiestata šajā kartē.
Karodziņš nav maršruts un nav ugunsmūra noteikums. Tā ieslēgšana piešķir atļauju un neko vairāk.
Ko viesis dara ar atšifrēto paketi
Kad tunelis beidzas, pašas ierīces steks pieņem nākamo lēmumu. Linux viesī IPv4 pārsūtīšana ir izpildes laika iestatījums, un sysctl -w net.ipv4.ip_forward=1 tas saglabājas līdz nākamajai ielādei. Saglabājiet to failā /etc/sysctl.d/ tā vietā. Ražotāja ierīcei ir savs ekvivalents, un Linux instrukcijas, kas ielīmētas ražotāja platformā, parasti nedara absolūti neko.
Viesa ugunsmūra politika atkal ir atsevišķa, tāpat kā darba slodzes tīkla drošības grupa. UDP 500 un 4500 atļaušana uz VM publisko adresi aizsargā tuneli; tas nepasaka neko par to, vai atšifrēts filiāles pieprasījums var sasniegt darba slodzes portu.
Izsekojiet vienu pieprasījumu un tā atbildi
Izvēlieties vienu atļautu plūsmu un izsekojiet tai no sākuma līdz beigām. Filiālei ir vajadzīgs maršruts 10.0.10.0/24 caur vietnes savienojumu, ierīcei ir vajadzīgs piegādes ceļš uz darba slodzes apakštīklu, un darba slodzes apakštīklam ir vajadzīgs atgaitas maršruts uz filiāli.
Izlemiet agri, vai projekts saglabā filiāles avota adresi vai to pārveido. NAT maina to, ko redz darba slodze, tāpēc tās piekļuves noteikumiem būtu jāapraksta modelis, kuru jūs patiešām izvēlējāties, nevis minēta vārtejas adrese.
Veiksmīga rokasspiediena apliecina vienu šīs ķēdes posmu. Ceļš ir pilnīgs, kad atbilde atgriežas caur to pašu ierīci un darba slodzes pašas politika to atļauj.