Екі әзірлеу тақтасы бір Ethernet сегментін бөлісуі керек, ал олардың стендтері әртүрлі ғимараттарда. Туннель әлдеқашан бар және Ethernet тасымалдайды, сондықтан қалған жұмыс үш командаға ұқсайды, бірақ олай емес. Хосттың көпірленген жақтаумен не істейтіні, компьютердің өз мекенжайы қайда жататыны және көпір қандай шекара жасамайтыны — үш бөлек факт, ал екіншісінде қателесу зертхананың үзіліспен жұмыс істеуінің және оның басқару қатынауының байқатпай нашарлауының әдеттегі себебі. Бұл үш фактінің ешқайсысы топология диаграммасында көрінбейді.

Төмендегі жол екі Linux компьютері арасындағы аутентификацияланған TAP байланысын, әр стенд үшін бір арнайы сымды портты және тәжірибенің бөлігі болып табылмайтын басқару интерфейсін болжайды. Тәртіп маңызды: алдымен жақтаулар, содан кейін мекенжайлар, соңында шекара.

Көпір шын мәнінде нені жылжытады

Көпір — бағдарламалық жасақтамада іске асырылған коммутатор. Ол қай MAC мекенжайы қай мүше порттың артында пайда болатынын үйренеді және IP маршруттау кестесінсіз жақтауларды мүшелер арасында жібереді. Бұл сипаттамада ішкі желі, шлюз немесе әдепкі маршрут жоқ, сондықтан IP жіберуді қосу бұл қосылымды тудырмайды және ping сәтті болуы мүмкін, ал басқа трафик әлі де сәтсіз болады. Тақта әдепкі маршрутсыз-ақ өз серіктесіне жете алады, бұл екінші қабат үшінші қабат сияқты әрекет етеді деп күтетіндерді таңқалдырады.

Әр компьютер көпірге бір сымды портты және TAP құрылғысын сол көпірге қосады, сондықтан тақтадан жақтау жергілікті портқа кіреді, TAP құрылғысына жіберіледі, туннельден өтеді, серіктестің TAP құрылғысына жетеді және серіктестің тақтасына жіберіледі. Туннель кез келген басқа мүше порт сияқты, және көпір оның артында VPN бар екенін білмейді және қам жемейді. Дәл осы симметрия мысалды түсінуді жеңілдетеді: әр жақта зертханаға қараған бір порт және бір туннель порты бар, ал ешбір жақ ерекше емес.

Board A -- bench0 -- br-test -- tap-bench
                                 |  OpenVPN TAP
Board B -- bench0 -- br-test -- tap-bench

Екі компьютердегі бірдей атаулар жергілікті атаулар, ортақ нысандар емес. Стендтер арасында бір Ethernet жолы бар, екінші кабель және циклды жабатын екінші туннель жоқ; бір MAC екі портқа келгенін көретін көпір шеңбермен жіберуден тайынбайды.

Көпірге мекенжай беріңіз, оның мүше порттарына емес

Зертхана сегментіндегі компьютердің жеке басы көпір құрылғысына тиесілі. Мүше порттар нөмірсіз қалады, өйткені порт — жіберуші мүше, ал оған қойылған мекенжай сол сегменттің екінші, бәсекелес иесін жасайды. Бұл қолмен жазылған рецепттердің көбісі қателесетін түзету: олар TAP құрылғысына да, көпірге де мекенжай береді, содан кейін серіктес қайсысына жететінін ойланады.

ip link add br-test type bridge
ip link set bench0 master br-test
ip link set tap-bench master br-test
ip address add 172.30.90.2/24 dev br-test
ip link set bench0 up
ip link set tap-bench up
ip link set br-test up

Серіктес басқа хост мекенжайымен бірдей пішінді пайдаланады, ал тақталар сол диапазонда мекенжайлар алады, қажет болса компьютердің көпір мекенжайын келесі секіріс ретінде пайдаланады. Жоспар келісілгенге дейін құжаттама диапазондарын пайдаланыңыз және диапазонды резервтеңіз, ол кеңсе маршруттайтын нәрсемен қақтығыспасын. Кез келгенін іске қоспас бұрын мүше порттарда қалдық мекенжай, DHCP клиенті және басқа көпірге мүшелік жоқтығын растаңыз, және TAP құрылғысының мекенжайлауын туннель конфигурациясын иеленетін нәрсе арқылы үйлестіріңіз, кейін мекенжайды қалпына келтірмесін.

Неге әр стенд үшін бір арнайы порт

Арнайы сымды порт тәжірибенің бүкіл кеңсеге өзгеріс болуына жол бермейді. Басқару интерфейсі SSH, әдепкі маршрут және сыртқы VPN байланысын тасымалдайды, және олардың ешқайсысы мақсаты зертхана жақтауларын жылжыту болып табылатын көпірге жатпайды.

Басқару адаптерін қосу кеңсе LAN-ын әзірлеу тақтасынан бір жіберу шешімі қашықтыққа қояды, ал екінші қабатта дұрыс әрекет етпейтін тақта — сол сегментте қаламайтын құрылғы түрі. Wi-Fi адаптері одан да нашар: инфрақұрылым режиміндегі сымсыз интерфейсті көпірлеу Ethernet-ті көпірлеу сияқты әрекет етпейді, ал сәтсіздік таза емес, шатастырады.

Зертхана диапазонын кез келген өндірістік DHCP аймағынан тыс ұстаңыз. Егер тақталарға кейін динамикалық мекенжайлау қажет болса, бір пулмен бір уәкілетті бөлгіш — болжамды болып қалатын жалғыз ұйымдастыру; бір сегментте жауап беретін екі учаскенің қарапайым маршрутизаторлары ешкім түсіндіре алмайтын мекенжайлар жасайды.

Көпір жасамайтын шекара

Көпірлеу — маршруттау емес, ол оқшаулау да емес. Көпірден өтетін жақтаулар орнатылған bridge-netfilter жолына байланысты хосттың сүзгі ілмектеріне әлі жете алады, сондықтан тиімді саясатты болжаудың орнына тексеру керек. Бір жақтау жоғалғаны үшін firewall-ды өшіру нақты қатені жалпы қатемен алмастырады.

Көпір мен әр басқару немесе uplink интерфейсі арасындағы IP жіберу өшірулі болуы немесе анық тыйым салынуы керек, және бұл көпір мүшелігінен бөлек бақылау. Компьютердің зертхана мекенжайын шлюз ретінде таңдайтын тақта дәл осыны тексереді: егер басқару өтпелі жолы сәтті болса, сіз көздеген шекара ешқашан болмаған.

Тағы екі отбасы анық шешімге лайық. Мекенжай жоспары көпірді тек IPv4 етпейді, сондықтан IPv6 және басқа EtherType-тар өз жоспарын немесе сүзгісін қажет етеді. Ал сәтті ping тақтаның ашу хабарлары, multicast топтары немесе jumbo жақтаулары жолдан өтетіні туралы ештеңе айтпайды, өйткені олар әртүрлі әдепкілері бар әртүрлі трафик сыныптары.

Соңында, тасымалдау мен құпиялылық екі түрлі сатып алу. TAP Ethernet тасымалдайды; OpenVPN қызметі оның айналасындағы қорғанысты қамтамасыз етеді. VXLAN қабаты да Ethernet тасымалдайды және өздігінен құпиялылық бермейді, сондықтан бірін екіншісімен ауыстыру топология диаграммасы бірдей көрінсе де қауіпсіздік қасиеттерін өзгертеді.

Тұрақтылық және оны дәлелдейтін сынақтар

Қосылғаннан кейін бір рет терілген команда конфигурация емес. Көпірді, порт мүшелігін және жалғыз хост мекенжайын компьютердің бар желі менеджері арқылы тұрақты етіңіз және қосылымды TAP құрылғысының пайда болуына байланыстырыңыз, қайта қосылу мүшесі жоғалған көпір қалдырмасын.

bridge link show
ip -d link show br-test
bridge fdb show br br-test | head

Содан кейін тақталарға екі бағытта шын мәнінде не қажет екенін тексеріңіз, туннельді қайта қосыңыз және бекітілген қалпына келтіру жоспары бойынша бір компьютерді қайта қосыңыз. Содан кейін үш нәрсені растаңыз: басқару қатынауы әлі де дербес жұмыс істейді, қайталанған зертхана мекенжайы пайда болмайды және күтпеген өндірістік интерфейс көпірге қосылмаған. Дәл осы үйлесім тәжірибенің өз стендінде қалғанының дәлелі.

Қатысты мақалалар