OpenVPN аркылуу эки тактанын ортосундагы обочолонгон TAP көпүрөсү
Көпүрө мүчө порттордун ортосунда алкактарды өткөрөт, ал эми хост дареги көпүрөнүн өзүнө таандык. Башкарууну ачпастан стенд портторун туташтырыңыз.
Эки иштеп чыгуу тактасы бир 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Анан такталарга эки багытта чындыгында эмне керек экенин текшериңиз, туннелди кайра туташтырыңыз жана бекитилген калыбына келтирүү планы боюнча бир компьютерди кайра күйгүзүңүз. Андан кийин үч нерсени тастыктаңыз: башкаруу жеткиликтүүлүгү дагы эле өз алдынча иштейт, кайталанган лаборатория дареги пайда болбойт жана күтүлбөгөн өндүрүштүк интерфейс көпүрөгө кошулган эмес. Ушул айкалыш эксперимент өз стендинде калганынын далили.