Зашто Azure VM са VPN уређајем губи повратну путању
VPN уређај у Azure VM-у захтева да се UDR, заставица прослеђивања на мрежној картици и политика госта усагласе. Пратите један захтев огранка кроз све три.
Azure VM који покреће VPN уређај налази се унутар два независна система одлучивања. Azure одлучује одакле пакет напушта подмрежу, користећи табеле рута и поставку прослеђивања мрежне картице. Сопствени оперативни систем уређаја одлучује да ли ће проследити дешифровани пакет даље. Тунел који се беспрекорно подигне ипак може да не успе у другом систему, и тачно ту се зауставља већина оваквих распоређивања.
Три власника једне путање
Узмите мрежу огранка 192.168.50.0/24 и подмрежу радног оптерећења 10.0.10.0/24, а уређај је на 10.0.0.4 у сопственој подмрежи. Један захтев дотиче три одвојене конфигурације.
| 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 |
Сваким редом у већини организација управља други тим, зато овај квар обично стиже као три тикета уместо једног.
Рута која показује на уређај
Повежите табелу рута са подмрежом радног оптерећења и дајте префиксу огранка следећи скок типа Virtual appliance са 10.0.0.4 као адресом. Користите доступну приватну адресу уређаја, никада његову јавну улазну тачку VPN-а. Следећи скок мора бити адреса до које подмрежа радног оптерећења већ може да стигне. Оставите остатак рутирања радног оптерећења на миру, осим ако нисте свесно одлучили да замените подразумевану руту.
Држите уређај у његовој сопственој подмрежи и уверите се да рута која шаље саобраћај огранка ка уређају не хвата и сопствену излазну путању уређаја. Такав циклус изгледа као здрав тунел без иједног одговора, а то је веома непријатно за отклањање грешака у 2 сата ујутру.
Заставица мрежне картице коју сви забораве
Azure има поставку прослеђивања IP-а за сваку мрежну картицу и она је подразумевано искључена. Постоји зато што картица која прослеђује прима пакете адресиране на нешто друго, а њихово тихо одбацивање је безбедна подразумевана поставка за све остале.
az network nic update --resource-group rg-net --name appliance-nic --ip-forwarding true укључује је за један интерфејс. Microsoft-ове смернице за прослеђивање на мрежној картици захтевају поставку на свакој повезаној картици која прослеђује саобраћај, па уређају са једном картицом она и даље треба на тој картици.
Заставица није рута и није правило заштитног зида. Њено укључивање даје дозволу и ништа више.
Шта гост ради са дешифрованим пакетом
Када тунел заврши, сопствени стек уређаја доноси следећу одлуку. На Linux госту прослеђивање IPv4 је поставка у време извршавања, и sysctl -w net.ipv4.ip_forward=1 траје до следећег подизања. Сачувајте је у датотеци под /etc/sysctl.d/ уместо тога. Уређај произвођача има свој еквивалент, а Linux упутства налепљена у платформу произвођача обично не раде баш ништа.
Политика заштитног зида госта поново је одвојена, као и мрежна безбедносна група радног оптерећења. Дозвољавање UDP 500 и 4500 ка јавној адреси VM-а штити тунел; то не говори ништа о томе да ли дешифровани захтев огранка може да стигне до порта радног оптерећења.
Пратите један захтев и његов одговор
Изаберите један дозвољени ток и пратите га од почетка до краја. Огранку је потребна рута за 10.0.10.0/24 преко везе са локацијом, уређају је потребна путања доставе до подмреже радног оптерећења, а подмрежи радног оптерећења потребна је повратна рута ка огранку.
Одлучите рано да ли пројекат чува изворну адресу огранка или је преводи. NAT мења оно што радно оптерећење види, зато његова правила приступа треба да описују модел који сте заиста изабрали, а не претпостављену адресу мрежног пролаза.
Успешно руковање доказује једну карику тог ланца. Путања је комплетна када се одговор врати кроз исти уређај и када то сопствена политика радног оптерећења дозволи.