TAP без мост: виртуален сегмент с маршрутизиран възходящ канал
TAP устройството е Ethernet сегмент, а не мост. Дайте му адрес, маршрутизирайте между него и офисния префикс и поддържайте обхвата на излъчването съзнателен.
TAP предава Ethernet кадри на операционната система, което е повече възможност, отколкото повечето проекти за отдалечен достъп имат нужда, и по-малко от мост. Ядрото може да го адресира, да маршрутизира през него и да го защитава със защитна стена, без да го присъединява към който и да е физически сегмент. Тази подредба си струва да се разбере първо: изолиран виртуален Ethernet сегмент, чийто сървър действа като маршрутизатор към истинска локална мрежа. Той дава поведение на второ ниво вътре в тунела и обикновено IP препращане извън него, а това са две различни обещания. Останалото тук е изграждането, маршрутът, обратният път и откатът.
Изградете изолирания сегмент
В Linux интерфейсът приема три команди: създайте го, вдигнете го, дайте му адрес вътре в сегмента, който възнамерявате. Изберете префикс, който не се сблъсква с офисната локална мрежа, и го запишете, защото сблъсъкът е невидим, докато не отговори хост, който не би трябвало да съществува.
ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip addr add 10.77.0.1/24 dev tap0
Нищо тук не изисква мост и нищо не пречи да добавите такъв по-късно. Документацията на ядрото за TUN/TAP описва самия интерфейс; членството в мост и политиката за препращане са отделни решения, които вземате след това.
Маршрутизирайте през границата
Включете препращането, разрешете двата префикса във веригата за препращане и добавете маршрут към офисния префикс с маршрутизатора на локалната мрежа като следващ преход. VPN страната след това изпраща трафика към офиса към сървъра като свой шлюз, а сървърът препраща тези пакети като себе си, а не като мост. TAP интерфейс с изключено препращане е сегмент, който отговаря локално и не достига нищо отвъд него, което е обичайното полуготово състояние. Проверете броячите на интерфейса от двете страни след това, защото растящ брояч на приемане при постоянен брояч на изпращане от страната на локалната мрежа означава отпадане във веригата за препращане, а не лош маршрут.
Запишете маршрута и правилото на защитната стена като една промяна, защото всяко от тях само по себе си създава състояние, което от страната на клиента изглежда като отказ на маршрутизацията.
Решете обратния път
Или маршрутизаторът на локалната мрежа научава маршрут обратно към VPN префикса, или сървърът преобразува адресите на източника на изхода. Преобразуването прави обратния път тривиален и унищожава идентичността на източника, така че журналите на дестинацията ще показват адреса на сървъра за всеки клиент зад него. Маршрутизираният префикс запазва идентичността и изисква промяна в оборудване, което може да не управлявате.
Избирайте съзнателно, а не по това кое е по-бързо за писане. Един маршрутизиран префикс обикновено е по-чист от преобразуването, а преобразуването обикновено е по-добро от обучаването на неуправляван маршрутизатор на нов префикс за една лаборатория.
Поддържайте обхвата на излъчването съзнателен
Във виртуалния сегмент DHCP, откриването и обявяването на съседи се държат както на комутатор, защото това е една връзка. Отвъд маршрутизираната граница те не го правят, така че офис DHCP и откриването на услуги се нуждаят от явен дизайн, а не от предположение, че TAP ги предполага. Типът на интерфейса не е ретранслатор за услуги, които живеят другаде.
Това е честната причина да изберете TAP изобщо: нещо във виртуалния сегмент се нуждае от локално за връзката поведение. Ако нищо не се нуждае, TUN устройство с маршрутизиран префикс е по-малко и има по-малко за обясняване, когато се счупи.
Проверете, после запишете отката
От VPN клиент направете ping към маршрутизатора на локалната мрежа, ping към хост и отворете една услуга, която има значение, през TCP. След това проверете броячите и веригата за препращане, защото отпадане по политика от разстояние изглежда точно като липсващ маршрут. Откатът е обратното на изграждането и принадлежи в записа за промени преди да започнете: премахнете маршрута, премахнете адреса, изтрийте интерфейса.
Ако изискването наистина е един Ethernet сегмент, обхващащ два обекта, мостът е честният отговор и различен дизайн с различен радиус на въздействие. Ако изискването е достъпност, изолираният сегмент с маршрутизиран възходящ канал върши работата с по-малко обяснения по-късно.