OpenVPN TAP на macOS-у: проверите клијента пре него што почнете са отклањањем грешака
TAP преноси Ethernet оквире, а TUN IP пакете, и већина данашњих macOS клијената одустала је од првог. Потврдите режим рада, па мигрирајте заједно са власником сервера.
Стари профил заврши на актуелном Macu, клијент га увезе без приговора, а веза падне или никада не пропусти саобраћај. Пре него што потрошите поподне на сертификате, прочитајте ред уређаја у профилу. Ако пише dev tap, од клијента тражите интерфејс етернетског типа, а на macOS-у управо на том захтеву завршава већина таквих сесија.
Корак 1: потврдите да профил заиста тражи TAP
Профили се преименују, обавијају и поново извозе, па проверите датотеку коју сте стварно увели. Тражите директиву уређаја и сваки укључени садржај који би је могао надјачати. Две линије излаза реше питање у већини случајева. Када се појаве и dev и dev-type, побеђује каснија директива, а копирани профил скрива управо такав детаљ.
grep -nE "^[[:space:]]*(dev|dev-type)[[:space:]]" client.ovpn
ls -l ~/Library/Application\ Support/ 2>/dev/null
Ако датотека садржи dev tap или dev tap0, клијент мора имплементирати TAP интерфејс. Ако садржи dev tun, остатак овог чланка се не примењује и квар је негде другде.
Запишите назив и верзију клијента, верзију macOS-а и одакле профил долази. Те три чињенице одлучују који је од двају путева у наставку уопште могућ.
Корак 2: схватите шта режим уређаја заправо мења
TUN интерфејс преноси IP пакете. Клијент чита и пише пакете упућене IP партнеру, а оперативни систем их усмерава као и сваки други интерфејс.
TAP интерфејс преноси Ethernet оквире, укључујући broadcast и ARP. То омогућава премошћеном серверу да додељује адресе путем DHCP-а, а клијенту да открије уређаје дозивањем, због чега се неки стари дизајни на то ослањају.
Цена је то што TAP тражи управљачки програм који систему представља Ethernet интерфејс. Apple је укинуо модел проширења језгра на којем су се темељили старији TAP управљачки програми за Mac, а његов заменски API не појављује се чаролијом у клијентима који никада нису ажурирани да га користе. Способност платформе и испоручени производ две су различите ствари.
Корак 3: одаберите између компатибилног клијента и миграције
Постоје два поштена пута. Први је клијент чији издавач за ваше издање macOS-а и хардвер наводи да подржава TAP распоред који вам треба. Не објава на форуму од пре четири године и не архивирани инсталатер: актуелна изјава плус тестна веза.
Други је премештање услуге на TUN, што је промена сервера колико и промена клијента. Потребна је усмерена топологија, базен адреса, гурнуте руте за удаљене мреже и повратни пут од тих мрежа до базена.
Оно што не ради јесте уредити tap у tun у локалној копији и надати се. Сервер још мост гради, клијент сада говори IP, и ништа се не слаже.
Корак 4: прикупите чињенице пре него што промените услугу која ради
Оставите изворни профил нетакнутим и направите копију за експерименте. Датотека коју можете вратити за минут вреди више од уредне фасцикле. Када замена проради, намерно избришите копију уместо да оставите два профила која на листи изгледају исто. Та једна навика спречава већину збрке након неуспеле миграције. Забележите тренутно понашање да бисте могли доказати шта се променило: подиже ли се тунел, добија ли адресу, можете ли досегнути један познати хост и ради ли разрешавање имена.
Питајте власника приступника три питања. Ради ли сервер на премошћеној или усмереној топологији? Који удаљени префикси треба да буду доступни? И постоји ли прозор за одржавање за промену конфигурације, или се очекује да то ради без дирања сервера?
Одговори на то одређују решавате ли проблем клијента данас поподне или планирате промену мреже следеће недеље.
Корак 5: проверите миграцију са оба краја
Када сервер има усмерену конфигурацију и када имате одговарајући профил, тестирајте овим редоследом: тунел се успостави, клијент добије адресу из новог базена, хост на удаљеној страни одговори и име се разреши кроз гурнуту DNS поставку.
Затим тестирајте оно што је пре зависило од Ethernet понашања. Ако је апликација откривала уређаје broadcast-ом, неће их наћи кроз усмерени тунел и никаква клијентска конфигурација то не враћа. Тој апликацији треба позната адреса, локални помоћни хост или друга метода откривања.
Завршите једним поновним спајањем и једним поновним покретањем, јер профил који ради само из првог покушаја обично значи да се гурнуте руте или DNS поставка не примењују при поновном спајању.
Када и даље не успе, прочитајте прву грешку
Клијент који не може створити интерфејс то каже у свом запису, обично унутар првих неколико редака. Клијент који га створи, а затим не успе проверу аутентичности, одавно је прошао питање уређаја и даље јурити TAP значи трошити сесију.
Чувајте изворни профил и радну конфигурацију док замена не буде доказана. Враћање клијентске промене је брзо; поновно грађење премошћене мреже коју је неко размонтирао на основу нагађања није.