Чаму route -interface не дасягае вузла па-за звяном
Сцяг інтэрфейса паведамляе macOS, што пункт прызначэння знаходзіцца на дроце. Усё за межамі лакальнага звяна патрабуе дасяжнага шлюза, і тунель усё яшчэ можа гэта забараніць.
route прымае імя Wi-Fi-інтэрфейса, выходзіць без скаргаў, а вузел застаецца недасяжным. Нічога не пашкоджана; сувязь у маршруце проста няправільная: сцяг інтэрфейса кажа, на якім звяне знаходзіцца пункт прызначэння, а не які маршрутызатар павінен атрымліваць трафік для пункта прызначэння, што знаходзіцца ў іншым месцы. Каманда ўдаецца, бо яна сінтаксічна слушная, а не таму, што апісвае працоўны шлях.
Гэтае адрозненне вырашае, ці будзе выключэнне маршруту побач з VPN працаваць, ці толькі выглядаць праўдападобна.
Інтэрфейс — гэта выхад, наступны крок — перадача
На Mac з адрасам 192.168.50.20 і маршрутызатарам 192.168.50.1 іншая машына ў тым жа звяне дасягальная напрамую. Кадр адрасаваны гэтай машыне і змешчаны на дрог. Маршрутызатар не задзейнічаны, і маршрут, абмежаваны інтэрфейсам, выяўляе менавіта гэта. Змяніце далёкі канец на вузел у іншым будынку — і тая ж каманда перастае мець сэнс. Mac не мае адраса другога ўзроўню, каб змясціць яго на дрог, таму сцягу інтэрфейса няма чаго апісваць.
Пункт прызначэння па-за звяном іншы. Mac не можа змясціць на дрог кадр, адрасаваны вузлу, да якога не дасягае на другім узроўні; ён перадае пакет маршрутызатару, які можа гэта зрабіць. Таму маршруту патрэбен шлюз, і сам шлюз павінен быць дасяжным у далучаным звяне.
Выкарыстанне сцяга інтэрфейса для пункта прызначэння па-за звяном кажа macOS абыходзіцца з ім так, нібы ён на дроце. Тады ядро не можа вырашыць адрас другога ўзроўню для яго, і пакет адкідаецца без нічога карыснага ў памылцы.
Што насамрэч сцвярджае сцяг інтэрфейса
Даведнік па маршрутах Apple вызначае форму інтэрфейса для пунктаў прызначэння, дасяжных напрамую без пасярэдніка. Гэта сцвярджэнне пра мадэль звяна, а не перавага адносна таго, які адаптар выкарыстоўваць. Дасягненне інтэрнэт-вузла праз Wi-Fi усё яшчэ патрабуе маршрутызатара ў гэтым звяне Wi-Fi, і маршрут павінен яго назваць.
Сфера інтэрфейса — асобны атрыбут. Ён звязвае маршрут з пэўным інтэрфейсам для рашэнняў аб сферы, напрыклад які адрас крыніцы ўжываць, але не стварае дасяжнасці для пункта прызначэння, да якога інтэрфейс не дасягае сам. Два атрыбуты адказваюць на розныя пытанні.
Вось чаму каманда можа быць прынята, з'явіцца ў табліцы і ўсё адно не працаваць. Ядро не правярае вашу інтэнцыю; яно фіксуе, што вы сцвердзілі, а сцвярджэнне было, што пункт прызначэння знаходзіцца ў звяне. Ціхі поспех, за якім ідзе ціхае адкіданне, — чаканы вынік, а не дэфект. Перачытайце сцвярджэнне сабе, перш чым вінаваціць сетку.
Маршрут, які патрэбен пункту прызначэння па-за звяном
Для ўхваленага шляху да дакументацыйнага адраса, напрыклад 198.51.100.25, праз LAN-маршрутызатар, задуманая сувязь такая: пункт прызначэння, наступны крок 192.168.50.1 і LAN-інтэрфейс, які дасягае гэтага наступнага кроку. Інтэрфейс вынікае з пошуку наступнага кроку, а не навязваецца камандай маршруту.
У macOS чытанне без змяненняў — гэта route -n get 198.51.100.25. Чытайце радкі шлюза і інтэрфейса разам і праверце, што шлюз — гэта адрас, да якога Mac сапраўды дасягае. Шлюз у іншай падсетцы або той, што знік пасля апошняй змены сеткі, стварае маршрут, які выглядае правільным і нічога не перасылае.
Не ўпісвайце en0 жорстка ў доўгатэрміновую інструкцыю. Імёны інтэрфейсаў змяняюцца з адаптарамі, докамі і VPN-кліентамі, і маршрут, які называе няправільны, збойвае так, што гэта лёгка прыняць за шырэйшую сеткавую няспраўнасць.
Прачытайце бягучы выбар, перш чым яго замяняць
Перш чым нешта дадаваць, даведайцеся, што сістэма ўжо выбрала і чаму. Гэты вывад пакажа, ці ідзе трафік праз тунель, праз LAN-маршрутызатар ці нікуды, і дасць базу для параўнання пасля змены. Без яго вы не зразумееце, ці новы маршрут пачаў дзейнічаць.
Затым праверце сямейства адрасоў. Маршрут, дададзены для IPv4, нічога не робіць для пункта прызначэння IPv6, а паслуга, якая вырашаецца ў абодва сямействы, можа здавацца перарывіста дасяжнай. Табліца маршрутаў і рэзалютар адказваюць на розныя пытанні, і абедзве павінны ўзгадняцца з задуманым шляхам.
Нарэшце, памятайце: маршрут — гэта выбар, а не дазвол. Кіраваны профіль VPN або кліенцкі фільтр могуць забараніць прамы шлях, нават калі табліца паказвае на яго, таму правярайце на рэальнай праграме, а не мяркуйце, што паспяховы запіс у табліцы завяршае расследаванне.
Тунелі і палітыка змяняюць форму
Інтэрфейсы пункт-пункт — асобны выпадак. Тунель можа несці маршрут без шлюзавага адраса ў стылі Ethernet, і гэта не аўтаматычна няправільна. Ужывайце рэальную мадэль звяна інтэрфейса, а не пашырайце прыклад Wi-Fi на кожны запіс табліцы, які бачыце.
Для запытаў на змену запішыце пункт прызначэння, ухвалены сеткавы шлях, бягучы шлюз і інтэрфейс, а таксама каго мяркуецца прызначыць адказным за выключэнне. Уладальнік важны, бо аднаразовы маршрут, набраны ў запыце, не палітыка, і наступнае перападключэнне яго сцяроць.
Калі патрабаванне — дасягнуць гэтага вузла, пакуль VPN уключаны, сумленны адказ звычайна ўяўляе сабой пэўны маршрут да вузла праз лакальны маршрутызатар, усталяваны сеткавым мэнэджарам, які валодае інтэрфейсам. Калі патрабаванне — дасягаць усяго напрамую, само патрабаванне патрабуе перагляду палітыкі раней, чым каманда маршруту.