Стартувај OpenVPN клиент на машината на која работиш преку SSH, и на средината од командата сесијата замрзнува. Тунелот известува дека е поврзан, домаќинот преку него стигнува до интернет, и твоите притисоци на тастатурата сѐ уште пристигнуваат додека ништо не се враќа. Променето не е тунелот: тоа е повратниот пат за пакетите упатени до тебе, кој сега одговара на новата стандардна рута и влегува во тунел што оддалечената порта нема да го користи за да стигне до твоето биро.

Што всушност инсталира redirect-gateway

Во својата def1 форма redirect-gateway додава 0.0.0.0/1 и 128.0.0.0/1 наместо да ја препише стандардната рута. Овие две половини го покриваат целиот адресен простор и двете остануваат подолги префикси од 0.0.0.0/0, па секое одредиште без поконкретно совпаѓање сега влегува во тунелот. Тоа е механизмот што треба да се запамети, бидејќи секоја поправка подолу работи со инсталирање на поконкретно совпаѓање.

Твојата административна адреса е едно од тие одредишта.

VPN серверот го проследува сообраќајот на своите клиенти кон интернет. Тој нема рута за јавната адреса од која се поврзуваш, и нема причина тие пакети да ги третира поинаку од сообраќај што доаѓа од клиент, затоа ги отфрла. Во меѓувреме, барањето што го испрати сепак стигна до домаќинот, и затоа сесијата изгледа жива само од една страна.

ip route show table main | head -n 20
ip route get 198.51.100.23

Најди ја твојата изворна адреса и патеката пред тунелот

На серверот наведи ја воспоставената SSH врска и запиши ја адресата на партнерот од која дојде. Токму таа адреса мора да ја покрие твојата повратна рута, и таа не е секогаш онаа што мислиш: скокачки домаќин, NAT порта или преведувач на операторот можат да подметнат друг извор.

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

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

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

Една /32 рута е подолга од двете полустандардни, па одговорите до твојата адреса ја избираат неа наместо тунелот. Следниот скок е портата пред тунелот, а уредот е физичкиот интерфејс, што го држи пакетот на патеката што ја користел пред тунелот да постои.

ip route add 198.51.100.23/32 via 203.0.113.1 dev eth0

Провери со пребарување, а не со гледање во табелата: одговорот мора да ги именува eth0 и портата, никогаш tun0.

OpenVPN веќе додава хост рута до сопствената адреса на VPN серверот од истата причина, па шемата е позната и административната адреса е едноставно уште еден исклучок. Не посегнувај по route-nopull за да го поправиш ова, бидејќи ги отфрла турканите рути што му се потребни на тунелот, вклучително оддалечената мрежа и DNS опциите.

Направи да го преживее повторното поврзување

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

И route-up скрипта и pre-up куката на мрежниот менаџер работат, а сигурната проверка е повторно поврзување проследено со истото пребарување.

На Windows еквивалентот е постојана рута додадена со -p, која преживува рестартирања, но по промена на мрежата сѐ уште мора да покажува на точната порта. Без оглед на платформата, запиши ја причината до рутата: следниот администратор треба да знае дека постои за да заштити сесија за управување, а не затоа што тоа го барал дизајнот на мрежата.

Кога закована рута сѐ уште не е доволна

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

Домаќините со рутирање по политика имаат потреба од правило покрај рута, бидејќи базата со правила ја избира табелата пред да се разгледа рутата во неа. Рута во табелата main е невидлива за тек што одговара на правило што покажува на друга табела. Прочитај ги правилата пред да додадеш нешто во main. Ако правило веќе го покрива сообраќајот за управување, исклучокот припаѓа во табелата на тоа правило.

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

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