macOS дээр терминалаас VPN төлөв: scutil, маршрут эсвэл ping
Үйлчилгээний төлөв, цөмийн маршрут болон бодит хүсэлт гурван өөр асуултад хариулна. Скриптийг үйлчилгээний танигчаар бичиж, маршрутыг ч шалгаарай.
Байршуулалтын скриптийн хаа нэгтээ хуулбар эхлэхийн өмнө туннель асаалттай эсэхийг шалгадаг. Гурван хариулт боломжтой бөгөөд тэдгээр нь нэг утгагүй: scutil мэдээлдэг үйлчилгээний төлөв, цөмийн сонгосон маршрут, холын тал үнэхээр хариу өгч байгаа эсэх. Тэдгээрийг харьцуулах нь хуулбарыг урьдчилан таамагладаг шалгалт ба зөвхөн лог чимэглэдэг шалгалтын ялгаа юм.
VPN асаалттай эсэх асуултын гурван хариулт
Үйлчилгээний төлөв нь удирдлагын хавтгайн баримт. macOS нь тохиргоо холбогдсон гэдгийг мэддэг, учир нь түүний клиент процесс тэгж хэлсэн. Маршрут нь өгөгдлийн хавтгайн баримт: цөм энэ очих газрыг тэр интерфейсээр явуулна. Хүртээмж нь төгсгөлөөс төгсгөл хүртэлх баримт бөгөөд нөгөө хоёрын аль нь ч хардаггүй шалтгаанаар бүтэлгүйтэж болно.
| Signal | Answers | Blind spot |
|---|---|---|
scutil --nc status | Is the service connected? | Third-party clients, wrong routes |
route -n get | Where would this go? | The peer may be down |
| A request to the far side | Does it work now? | Slow, and it changes state |
Ашигтай шалгалт эхний хоёрыг нэгтгэж, гурав дахь нь нөгөө хоёр худлаа хэлээгүйн баталгаа болгон ашигладаг. Аль нэг нь ганцаараа цагийн тэмдэглэгээтэй таамаг юм.
Танигчийг уншина уу, харуулах нэрийг биш
scutil --nc list
scutil --nc status "Office"
Жагсаалт үйлчилгээ бүрд нэг мөр хэвлэдэг бөгөөд мөр бүрд хаалтанд төлөв, дараа нь үйлчилгээний танигч, төрөл, харуулах нэр байна. Скриптийг танигчаар бичээрэй, учир нь харуулах нэр нь хэн нэгний Системийн тохиргоонд бичсэн зүйл бөгөөд мэдэгдэлгүй өөрчлөгдөж болно. Төлөвийн команд нэг үг хэвлэх ба зарим төрлийн үйлчилгээнд дараа нь статистик хэвлэдэг; нэрийг бүх гаралтаас хайхын оронд тэр эхний үгийг тааруулаарай, учир нь нэр өөр газруудад ч гардаг.
Үйлчилгээг эхлүүлэх нь зөвшөөрлийн хүсэлт гаргаж болох эсвэл профайл удирдлагатай үед шууд татгалзаж болно. Тэр татгалзал нь туннелийн гэмтэл биш; энэ нь хэн үүнийг өргөж болох тухай бодлогын мэдэгдэл юм.
Гуравдагч талын клиент жагсаалтаас нуугддаг
Хоосон жагсаалт нь VPN байхгүй гэсэн үг биш. Системийн өөрийн сүлжээний тохиргоонд үүсгэсэн тохиргоонууд энд харагдана; нийлүүлэгчийн клиент, удирдлагын профайл эсвэл гуравдагч талын апп нь энэ команд хэзээ ч хардаггүй идэвхтэй туннель барьж болно. Өөрийн үйлчилгээний хувьд өөрийн хэрэгсэл нь эрх мэдэл юм. Түүнд хэзээ ч бүртгүүлээгүй клиентийн талаар scutil-аас асуухад юу ч буцаж ирэхгүй, юу ч ирэхгүй нь салгагдсантай ижил хариулт биш.
Жагсаалт хоосон боловч урсгал тодорхой шифрлэгдсэн бол интерфейсийг хай: хүлээгдэж буй мужид хаягтай utun эсвэл ppp төхөөрөмж нь ямар нэгэн зүйл туннель байгуулсны нотолгоо. Энэ нь үйлчилгээний төлвөөс сул дохио тул интерфейсийг таних нотолгоо гэж үзэхийн оронд маршрутын шалгалттай хослуулаарай. Хэд хэдэн клиент хэд хэдэн ийм интерфейс үүсгэж болох ба тэдгээрийн зөвхөн нэг нь таны хэлсэн туннельд хамаарна.
Төлөв нь маршрутчлал биш
Холбогдсон үйлчилгээ туннель байгаа гэж хэлдэг. Таны очих газар үүнийг ашигладаг гэж хэлдэггүй. Хаягуудыг уншаад, дараа нь цөмөөс шууд асуу:
ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20
Бүрэн туннелийн клиент туннелээр дамжуулсан өгөгдмөл маршрут суулгадаг; хуваагдсан туннелийн клиент тодорхой хувийн префиксүүдийг суулгадаг. Хоёулаа Connected гэж мэдээлдэг бөгөөд зөвхөн төлөвийг шалгадаг скрипт тайван буруу замаар явна. Туннелийг зогсоох нь өөр клиентийн суулгасан маршрутуудыг заавал устгадаггүй бөгөөд энэ нь машин нэгэн зэрэг холбогдсон үйлчилгээ болон хуучирсан маршруттай болох нэг арга юм. Танд чухал очих газрыг хараарай, бүх маршрутын хүснэгтийг биш.
Нэрлэх нь тусдаа асуудал
Бусад машин Mac-д нэрээр нь хүрч чадахгүй байхад хаяг нь ажилладаг бөгөөд үүнийг VPN-ийн гэмтэл гэж мэдээлдэг. Локал хост нэр, хост нэр, DNS бичлэг нь гурван өөр зүйл. scutil --get LocalHostName Bonjour нэрийг харуулна; sudo scutil --set HostName mac-office системийн мэдээлдэг нэрийг тогтооно.
Эдгээр тохиргооны аль нь ч оффисын бүсэд бичлэг үүсгэдэггүй. Бусад хост нэрийг DNS-ээр шийдэх шаардлагатай бол бүсийн эзэн нэмэх ёстой, эсвэл скрипт оронд нь хаягийг ашиглах ёстой. Тогтвортой нэр тогтоох нь зарлалуудыг нийцтэй болгоно; энэ нь шийдэгчийг хариу өгөхөд хүргэхгүй.
Скриптэд үйлчилгээний танигч болон маршрутын хүлээгдэж буй хэлбэрийг хамт бичээд, хуулбарын өмнө хоёуланг нь шалгаарай. Асаалттай боловч буруу чиглэлд чиглүүлсэн туннель яг туннель байхгүй адил бүтэлгүйтдэг бөгөөд Connected гэсэн логийн мөр дараагийн хүнийг буруу газар хайлт хийхээр явуулна.