Тунелот се крева, иконата станува зелена и локалната мрежа исчезнува: печатачите, NAS и канцеларискиот рутер престануваат да одговараат. FortiClient го прави тоа што го побара профилот. Портот испрати стандардна рута, клиентот ја инсталираше и секој пакет сега има пат во тунелот. Поправката е измена на табелата со рути со измена на DNS зад неа, а редоследот на тие измени одлучува дали машината ќе заврши подобро или полошо.

Што инсталираше клиентот и зошто исчезна LAN

Започнете со читање на табелата наместо со интерфејсот на клиентот. На macOS netstat -rn ја печати целата табела, а route -n get default ги именува интерфејсот и метриката што моментално победуваат; на Linux парот е ip route show и ip route get 8.8.8.8. Двете одговараат на едно прашање: кој запис ќе го пренесе пакетот што не се совпаѓа со ништо поконкретно.

Името на уредот на тунелот не е фиксно. Профилот IKEv2 на macOS обично покажува utun со број, клиентот SSL VPN покажува ppp0, а OpenVPN покажува tun0. Две стандардни рути исто така можат да бидат присутни истовремено со различни метрики, а записот на клиентот може да преземе само по повторно поврзување, а не во моментот кога се појавува. Затоа две испишувања на табелата земени со пет минути разлика можат да раскажат различни приказни.

Зошто стандардната рута на тунелот мора да си отиде прва

Јадрото го избира најдолгиот соодветен префикс, а кога неколку рути се еднакво конкретни го избира онаа со најниска метрика. Затоа клиентот што инсталира 0.0.0.0/0 со подобра метрика победува на секоја дестинација без да ја избрише оригиналната стандардна рута, и затоа физичката рута е сѐ уште во табелата и сѐ уште го објаснува прекинот. Отстранувањето на стандардната рута на тунелот прво го враќа претходното однесување. Само тогаш префиксната рута низ тунелот го прави тоа што авторот го замислил.

Додавањето префикси пред тој чекор е грешката што дава машина што работи половично. Сообраќајот за новиот префикс го следи тунелот, а сѐ што не е на списокот исто така ја следи стандардната рута на тунелот, така што ништо не изгледа расипано додека некој не отвори услуга што никој не ја додал. Избришете, вратете, потоа додадете и средната состојба останува предвидлива.

Редоследот на macOS и на Linux

На macOS редоследот ја брише стандардната рута на тунелот, ја враќа физичката стандардна рута и враќа еден канцелариски префикс назад во тунелот. Заменете ги илустративните имиња на интерфејси овде со оние од вашата табела.

sudo route delete -net default -interface utun4
sudo route add -net 0.0.0.0 -interface en0
sudo route add -net 10.20.0.0 -netmask 255.255.0.0 -interface utun4

На Linux истиот редослед користи друга алатка: портата на LAN за стандардната рута и уредот на тунелот за канцеларискиот префикс. Старата наредба route сѐ уште ја прифаќа старата синтакса, но ip route е формата што одговара на тековната документација.

sudo ip route del default dev tun0
sudo ip route add default via 192.168.50.1
sudo ip route add 10.20.0.0/16 dev tun0

Кога рутата бара следен скок наместо уред, земете го peer од излезот на клиентот. Погодувањето дава една од две грешки и тие значат различно: погрешна порта веднаш дава network unreachable, додека погрешна цел на тунелот дава истек на време. Прочитајте која ја добивте пред повторно да ја смените наредбата.

Префикси, резолверот и DMZ што останува темна

Еден префикс ретко ја покрива работата. Серверите за апликации, мрежите за управување, DMZ и самите DNS сервери можат секој да биде во различен опсег, затоа наведете го секој опсег што можете да го именувате пред да започнете и тестирајте барање покрај секој ping. Дестинацијата откриена за време на тестот е онаа што се заборава во записот за промени. Рута што одговара по адреса, но не успева по име, обично е проблем на резолверот во костим за рутирање.

Резолверот е одделна одлука. Кога профилот испратил внатрешни DNS сервери, одземањето на стандардната рута може да ги остави тие адреси недостапни за јавни имиња или достапни само низ тунелот, и двете состојби даваат збунувачки делумни резултати. Насочете ги адресите на резолверот низ тунелот или поставете решавање по домен, така што јавните барања ќе го користат локалниот резолвер.

Linux SSL клиентот има отказ специфичен за поле што вреди да се знае: тунелот се поврзува, канцелариската LAN одговара, а еден опсег на DMZ останува темна. Делот што недостасува е рута за тој опсег низ портата на тунелот, а портата се разликува меѓу машините, затоа цврсто кодираната адреса е начинот на кој се крши следниот преносен компјутер. Изведете ја од состојбата на клиентот и задржете ја наредбата самодокументирана:

PEER=$(ip -4 addr show dev ppp0 | awk '/peer/ {print $4}' | cut -d/ -f1)
sudo ip route add 192.168.30.0/24 via "$PEER"

Прочитајте ги двете вредности пред да ја извршите. peer е далечниот крај на тунел од точка до точка и тоа е адресата што му е потребна на DMZ рутата; на рутиран тунел еквивалентот е интерфејсот или портата што ги известува клиентот. Ако не се појави ниту едно, клиентот не е во режимот што го претпоставивте.

По следното поврзување и кога да престанете да го правите ова локално

FortiClient се поврзува повторно по сон или промена на мрежата и повторно инсталира што и да наведува профилот. Затоа рачните рути преживуваат само до следното поврзување, а тоа е токму интервалот во кој еден успешен тест може да изгледа како поправка. Рута што исчезнува преку ноќ е очекувано однесување, а не нова дефект.

Постојат два трајни одговори. Скриптата што ја повторува корекцијата по секое поврзување е заобиколно решение што може да го надживее својот автор, додека профил со поделен тунел од администраторот на портата е вистинската поправка, бидејќи тогаш клиентот инсталира само опсезите што му се потребни на работата. Побарајте го второто и користете го првото само додека чекате. Проверете ја и политиката на која се согласивте пред локално да поделите целосен тунел, бидејќи далечната мрежа може да смета на тоа да го гледа целиот ваш сообраќај.

Контролната листа е кратка: прочитајте ја табелата, избришете ја стандардната рута на тунелот, вратете ја стандардната рута на LAN, додадете го секој префикс, поправете го решавањето одделно и очекувајте рутите да се вратат при повторно поврзување.

Поврзани статии