Trīs privātie LAN var satikties vienā centrā, nevienai vietai nezinot pārējo iekšējo uzbūvi, un viss dizains balstās uz četriem īsiem konfigurācijas lēmumiem. To darbina nevis eksotiska protokola funkcija, bet adrešu plāns, kas nav jāmin, un klientam paredzēti maršruti, kas centram pasaka, kura filiāle pieder kuru prefiksu. Ja kāds no tiem ir nepareizs, tunelis tomēr paceļas, un tieši tas padara kļūmi mulsinošu.

Veiciet soļus pēc kārtas. Katrs ir atkarīgs no iepriekšējā soļa plāna, un neviens no tiem neprasa jaunu sertifikātu iestādi.

Sāciet ar plānu, kas nav jāmin

Pirms pieskaraties konfigurācijas failam, pierakstiet četrus nepārklājošus prefiksus: paša centra LAN, katras filiāles LAN un peldbaseinu, ko piešķir klejojošiem klientiem. Nepārklāšanās ir tas, kas visu pārējo uztur vienkāršu, jo pārklājoši diapazoni maršrutēšanu pārvērš garākās atbilstības mīklā, ko nespēj salabot nekāda klienta līmeņa konfigurācija. Pēc tam pārbaudiet, kura iekārta ir katras LAN noklusējuma vārteja, jo filiāles maršrutētājam, kas nav savas LAN vārteja, attālinātie maršruti jāinstalē pavisam citur. Visbeidzot, nofiksējiet autentificētos nosaukumus, kas identificē katru filiāli, jo šie nosaukumi ir atslēgas, pēc kurām tiek meklēti klienta faili.

Ilustratīvs plāns peldbaseinu tur krietni tālu no trim LAN. Jūsējais būs citāds, un vienīgais stingrais noteikums ir tāds, ka nekādi divi diapazoni nedrīkst pārklāties.

Hub LAN        172.20.0.0/24
Branch A LAN   172.21.0.0/24
Branch B LAN   172.22.0.0/24
VPN pool       10.77.0.0/24

identity branch-a owns 172.21.0.0/24
identity branch-b owns 172.22.0.0/24

Pastāstiet centra kodolam, kur atrodas filiāles

Centram katrā filiālē vajadzīga diva informācija: kodola maršruts, kas sūta prefiksu uz tuneļa ierīci, un iroute ieraksts, kas OpenVPN procesam pasaka, kurš klients to pārvalda. Tikai kodola maršruts nogādā paketes tunelī un tur apstājas, jo dēmons vēl jāizlemj, kuram pīram tās jāsaņem. Tikai iroute ieraksts atstāj šīs paketes kodolā bez maršruta. Abas rindas pieder konfigurācijai, ko dēmons faktiski ielādē, un to ir vērts pārbaudīt pirms jebkā cita atkļūdošanas.

dev tun
topology subnet
server 10.77.0.0 255.255.255.0
disable-dco

route 172.21.0.0 255.255.255.0
push "route 172.20.0.0 255.255.255.0"
client-config-dir /etc/openvpn/ccd
route 172.22.0.0 255.255.255.0

Turiet client-to-client izslēgtu, kad kodolam jābūt noteikumu izpildes vietai. Šī opcija pārsūta starp-pīru trafiku dēmona iekšienē, kas ir ērti un arī nozīmē, ka jūsu pārsūtīšanas noteikumi plūsmu nekad neredz. Viss tālāk minētais pieņem, ka kodols redz katru paketi starp filiālēm.

Dodiet katrai filiālei nepieciešamos maršrutus

Katrai filiālei vajadzīgi maršruti uz citām filiālēm un uz centra LAN, bet nav vajadzīgs maršruts uz savu pieslēgto LAN. Attālinātos prefiksus virziet no centra, nevis ielīmējiet katrā maršrutētājā, tā ceturtā vieta vēlāk nozīmēs vienu jaunu klienta failu četru izmaiņu vietā. Klienta fails satur arī iroute rindu, kas īpašumtiesības un reklamēšanu notur vienā vietā. Padariet mapi un tās failus lasāmus saskaņā ar servera tiesību modeli, citādi meklēšana neizdodas bez ziņojuma.

# /etc/openvpn/ccd/branch-a
iroute 172.21.0.0 255.255.255.0
push "route 172.22.0.0 255.255.255.0"

Ceturtā vieta ievēro to pašu paraugu: atsevišķs autentificēts nosaukums, piederēts prefikss, centra kodola maršruts, iroute ieraksts un reklāmas tikai tām vietām, kurām atļauts to sasniegt.

Pārbaudiet abos virzienos, pirms pasludināt pabeigtu

Ieslēdziet IPv4 pāradresāciju visos trijos maršrutētājos, pēc tam pārbaudiet, vai ugunsmūris atļauj paredzētās plūsmas abos virzienos, jo vienvirziena tests ar salauztu atgriešanās ceļu iztur biežāk, nekā kāds gaida. Starp vietām nav vajadzīga avota adreses tulkošana, un tieši oriģinālā avota saglabāšana ļauj katrai filiālei piemērot savu politiku pieprasījumam.

Pārbaudiet no vienas filiāles LAN resursdatora uz otras filiāles pakalpojumu, pēc tam apgrieziet virzienu, pēc tam pārbaudiet no filiāles uz centra LAN. Šie trīs rezultāti ir atšķirīgi pierādījumi, un neviens no tiem neizriet no pārējiem. Ja filiāles maršrutētājs nav savas LAN noklusējuma vārteja, instalējiet attālinātos prefiksus īstajā vārtejā un iekļaujiet arī peldbaseinu, kad tuneļa klientiem jāsāk savienojumi uz šo LAN.

Pierakstiet plānu, klienta failus un ugunsmūra noteikumus kā vienu dokumentu, jo nākamā vietas pievienošana tiks vērtēta pēc tiem.

Dizains turas kopā, jo katram slānim ir viens uzdevums: plāns uztur prefiksus unikālus, kodola maršruts pārvieto paketes, iroute nosauc īpašnieku, un ugunsmūris izlemj, kas atļauts. Kad kaut kas sabrūk, šis saraksts ir arī pārbaudes secība.

Saistītie raksti