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

Одговорот се рутира, не се памти

VPN клиент што поставува стандардна рута додава запис што ја надминува LAN портата, или по метрика или со делење на просторот на две попрецизни половини. Излезните пакети сега го избираат интерфејсот на тунелот. Јадрото никогаш не прашува од каде првично пристигнал пакетот на кој се одговара. Тоа едно пропуштање ги објаснува сите следни симптоми.

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

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

ip route show default
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.eth0.rp_filter
nft list ruleset | grep -A3 'hook forward'

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

Три начини да се зачува повратниот пат

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

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

ip rule add from 203.0.113.25/32 table 100 priority 100
ip route add default via 192.0.2.1 dev eth0 table 100
ip route get 198.51.100.7 from 203.0.113.25

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

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

Кога кутијата рутира и за LAN

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

Тогаш следењето на врските гледа одговор за тек што никогаш не го запишало и го отфрла. Преведувањето на одредиштето ја доставува влезната врска до уредот, а преведувањето на изворот го прави одговорот да изгледа како да доаѓа од самиот рутер.

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

Три проверки што ги одвојуваат причините

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

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

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

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