Адаптары паказваюць 255.255.255.255, і часта робяць выснову, што VPN дасягае роўна аднаго адраса. Такое чытанне блытае ўласны адрас кліента з мноствам пунктаў прызначэння, якія ідуць праз тунель. На інтэрфейсе «пункт—пункт» або маршрутызаваным інтэрфейсе гэта два розныя аб'екты, і дасяжнасць абмяжоўвае толькі адзін з іх. Міф жыве таму, што маска выглядае як маска падсеткі, якую людзі вывучылі на Ethernet.

Міф: маска вузла азначае адзін дасяжны вузел

Прызначэнне /32 паведамляе інтэрфейсу, які адрас належыць гэтаму канцу злучэння, і на злучэнні «пункт—пункт» гэта ўсё, што яно значыць. Адрас партнёра — асобнае поле, а маршруты, якія кажуць, што ляжыць за партнёрам, — зноў асобныя. Нішто ў масцы не апісвае аддаленую сетку, бо маска не тое месца, дзе апісваюцца аддаленыя сеткі. Чытаць яе як мяжу дасяжнасці — гэта як чытаць уласны нумар дома як спіс усіх адрасоў, якія вам дазволена наведаць.

Блытаніна мае рэальную аснову: на Ethernet маска вузла сапраўды азначала б адзін адрас у гэтым сегменце. Тунель — не сегмент Ethernet, і тое, што пойдзе праз яго, вырашае табліца маршрутызацыі кліента, а не маска. Таму адна і тая ж /32 можа стаяць перад цэлым цэнтрам апрацоўкі даных.

Чытайце адрас і маршруты як асобныя аб'екты

Выведзіце інтэрфейс і табліцу разам, а затым чытайце іх як два адказы на два пытанні. Адрас адказвае, хто гэты канец; маршруты адказваюць, куды можа ісці трафік. Трэцяе пытанне — якія пункты прызначэння дазваляе шлюз — на кліенце зусім не бачнае. Даведнік па адрасах iproute2 апісвае палі лакальнага адраса, партнёра і маршруту прэфікса асобна менавіта з гэтай прычыны.

ip addr show tun0
ip route show
ip route get 10.60.5.10

У Windows такое ж раздзяленне існуе паміж спісам адрасоў і табліцай маршрутызацыі, і каманда пошуку — самы хуткі спосаб убачыць, якая з іх перамагае для пэўнага пункта прызначэння. Калі пошук вяртае тунельны інтэрфейс, кліент адправіць пакет туды. Калі ён вяртае фізічны адаптар, кліент ніколі не пытае VPN, і ніякія дазволы на баку сервера гэтага не зменяць. Правярайце пункт прызначэння, які вам сапраўды патрэбны, а не тыповы публічны адрас.

Get-NetIPAddress -InterfaceAlias "VPN"
Find-NetRoute -RemoteIPAddress 10.60.5.10

Спыніцеся, калі пошук паказвае на няправільны інтэрфейс. Гэта праблема маршрутызацыі кліента, і яна выпраўляецца на кліенце.

Чаму пашырэнне маскі звычайна робіць горш

Змяненне прызначэння на /24, каб яно выглядала як офісная LAN, можа стварыць прэфікс на злучэнні: ядро цяпер лічыць, што ўся /24 непасрэдна далучана да тунельнага інтэрфейса. Трафік да адрасоў, якія павінны ісці праз шлюз, тады адпраўляецца так, нібы сусед знаходзіцца на злучэнні. Вынік — чорная дзірка, якая выглядае як адмова сервера.

Гэта таксама хавае сапраўдную праблему: адсутны маршрут або адсутны дазвол на шлюзе. Ні тое, ні другое не ствараецца шырэйшай маскай, і абодва застаюцца пасля змены. Калі праект патрабуе большага прэфікса на інтэрфейсе, гэта рашэнне для мадэлі інтэрфейса, якая выкарыстоўваецца, і прымаецца з дакументацыяй у руках. Капіраванне маскі са здымкаў экрана іншага прадукту — не такое рашэнне.

Калі маршрут аддаленага прэфікса адсутнічае, выпраўце яго забеспячэнне. Калі ён ёсць, а злучэнне ўсё яшчэ адхіляецца, маска ніколі не была дыягназам.

Калі маршрут правільны, а паток усё яшчэ не працуе

Правільны маршрут даказвае толькі, што кліент адправіць пакет. Шлюз усё яшчэ павінен прыняць пункт прызначэння, зваротны шлях павінен існаваць для прызначанага адраса, а служба павінна дазволіць паток. Праверце гэтыя тры рэчы асобна: пошук на кліенце, дазволеныя межы шлюза і запыт да аднаго патрэбнага сервера. Паспяховая аўтэнтыфікацыя да таго, як усе тры гатовыя, — гэта норма, і менавіта таму падключаны кліент можа не дасягаць нічога.

ping -c1 10.60.5.10
traceroute -n 10.60.5.10
curl -sv https://app.internal.example/ -o /dev/null

Трымайце сеткавыя аб'екты і дазволы групы разам з іх уладальнікам на службе, якой кіруе прылада. Тое, да чаго кліенту сказана дасягаць, і тое, што яму дазволена выкарыстоўваць, — розныя налады, часта на розных экранах. Змяніць адно і праверыць другое — гэта як заяўка скача паміж дзвюма камандамі.

Міф, які варта адправіць у архіў: маска — гэта мяжа дасяжнасці. Чытайце адрас, маршруты і палітыку шлюза як тры асобныя факты, і /32 перастане выглядаць абмежаваннем і пачне выглядаць звычайным прызначэннем тунеля.

Падобныя артыкулы