WireGuard өөрийн интерфейсийг үүсгэж чадахгүй: цөм эсвэл зөвшөөрөл?
Интерфейс үүсгэх нь эхний хатдагтай тал холбогдохоос өмнө бүтэлгүйтдэг. Дутуу модулийг зөвшөөрлийн хилээс эсвэл интерфейсийн одоо байгаа эзнээс ялгахын тулд алдааг уншина уу.
WireGuard өөрийн интерфейсийг үүсгэж чадахгүй байна, тиймээс тохируулах төхөөрөмж ч, солилцох түлхүүр ч, дибаг хийх гар барилт ч байхгүй. Алдаа бүхэлдээ локал машин дээр үлддэг, алдааны текст локал стекийн аль хэсэг татгалзсаныг хэлдэг. Үүнийг зөв унших нь хатдаг талын тохиргоог дахин суулгахаас хурдан. Давхаргуудыг тусгаарлаж болно, мессеж татгалзсан давхаргыг нэрлэдэг.
Алдаа нь ямар ч хатдаг тал ярихаас өмнө гардаг
Интерфейс үүсгэх гэдэг нь цөмд wireguard төрлийн төхөөрөмж асуух нэг netlink хүсэлт юм. Цөмд тухайн төрлийг ойлгодог драйвер байна уу, үгүй юу, хариулт тэр даруй буцдаг. Энэ алхамд ямар ч пакет машиныг орхихгүй, тиймээс төгсгөлийн цэгийн хаяг болон серверийн түлхүүр шалтгаан болж чадахгүй.
Энэ дараалал оношлогоонд чухал. Хэрэв команд хэзээ ч төхөөрөмж үүсгээгүй бол асуудал буруу нийтийн түлхүүр эсвэл хаагдсан UDP порт байж чадахгүй. Эхлээд локал үүсгэх замыг засаж, дараа нь л гадагш хар.
Аль хэрэгжүүлэлт төхөөрөмжийг эзэмших ёстой вэ
Тухайн хүсэлтэд хоёр хэрэгжүүлэлт хариулж болно. Цөм доторх модуль wireguard төхөөрөмжийн төрлийг бүртгэдэг, харин wireguard-go зэрэг хэрэглэгчийн орон зайн хэрэгжүүлэлт мөн адил интерфейсийг өөр механизмаар өгдөг. Хэрэв модуль байхгүй бол цөм хүсэлтийг дэмжигдэхгүй төхөөрөмжийн алдаатай татгалзаж, шийдэл нь модулийг ачаалах эсвэл хэрэгслүүдийг хэрэглэгчийн орон зайн хэрэгжүүлэлт рүү чиглүүлэх юм.
Аль нэгийг сонгохын өмнө үнэхээр юу байгааг шалга. Эхний команд модуль ачаалагдсан эсэхийг харуулж, хоёр дахь нь цөмөөс шууд асууна:
lsmod | grep wireguard
ip link add wgtest0 type wireguard
Хоёр дахь команд нь боломжит хамгийн бага давталт: энэ нь төхөөрөмж асууж, өөр юу ч асуухгүй. Хэрэв дэмжигдэхгүй төрлийн мессежээр бүтэлгүйтвэл дутуу хэсэг нь хэрэгжүүлэлт бөгөөд таны тохиргооны файл биш.
| Error text | What refused | Next step |
|---|---|---|
| Unknown device type or operation not supported | The kernel has no wireguard driver | Load the module or use the userspace implementation |
| Operation not permitted | Missing privilege | Use the service context or grant the capability |
| File exists | The name is already in use | Inspect the owner before touching it |
| No such device in a container | No tunnel device or capability | Add the device and NET_ADMIN to the container |
Зөвшөөрөл ба контейнерын хил
Сүлжээний төхөөрөмж үүсгэх, тохируулах нь зөвшөөрөл шаарддаг, root байх эсвэл сүлжээг удирдах чадвартай байх. Энгийн хэрэглэгчийн сесс үүнийг хийж чадахгүй, энэ хязгаарлалт нь дизайн өөрөө бөгөөд таны шалгаагүй суулгагчийг ажиллуулж тойрох саад биш.
Контейнер дотор хил хоёр дахин нэмэгддэг. Контейнерт туннелийн төхөөрөмжид хандах эрх, түүнийг тохируулах чадвар хэрэгтэй, үүнийг өгдөг флагууд нь Linux дээрх VPN контейнер ашигладагтай ижил. Энгийнээр вэб үзэж чаддаг хязгаарлагдмал зочин интерфейс үүсгэж чадахгүй хэвээр, учир нь вэб үзэхэд ийм чадвар шаардлагагүй. Чадварыг түүнд хэрэгтэй үйлчилгээнд өг, хост дээрх сесс бүрд биш.
Нэрийн зөрчилдөөнийг шийдэж, дараа нь дахин оролдоно уу
Аль хэдийн байгаа интерфейс автоматаар үлдэгдэл биш. Өөр менежер нэрний эзэн байж, яг одоо ашиглаж байж болно, тиймээс ямар нэг юмыг устгахаас өмнө шалгана уу:
ip link show wg0
sudo wg show wg0
Хэрэв эзэн нь идэвхтэй үйлчилгээ бол хоёр дахь төхөөрөмж үүсгэхийн оронд тэр үйлчилгээг тохируул. Хэрэв үнэхээр хуучирсан бол түүнийг үүсгэсэн хэрэгслээр устгаж, дараа нь тохиргоо болон төхөөрөмж зохицож байхын тулд баримтжуулсан клиент эсвэл нэгжээр интерфейсийг өргө.
Үүсгэх амжилттай болсны дараа, дараагийн бүтэлгүйтэл нь хожуу үе шатанд хамаарна, төхөөрөмж байгаа болсны дараа бүтэлгүйтлийг мэдээлэх нэгж нь хэзээ ч үүсээгүй төхөөрөмжөөс өөр асуудал. Зөвшөөрлийг дахин өөрчлөхөөс өмнө хоёрыг нь салга.