2.x клиентээр холбогдвол профайл ажилладаг; ижил файлыг 3.x клиентэд өгвөл нууц үгийн промпт дээр зогсдог. --auth-user-pass creds.txt-г openvpn3 session-start-д өгсөн ч үр дүн нь ижил, учир нь шинэ клиентэд тэр файлыг уншдаг үе шат байхгүй. Татгалзал нь санаатай: нэвтрэх мэдээлэл сесст хамаарах бөгөөд сессийг терминал дахь процесс биш, үйлчилгээ үүсгэдэг. Интерактив промпт ба autoload туслахын алийг нь сонгохоо шийдэж, тус бүр юу хадгалдагийг мэдэж аваарай.

Хадгалсан файл яагаад очих газаргүй вэ

Шинэ дизайнд конфигурацийн удирдлага ба сессийн удирдлага нь системийн автобусаар харилцдаг тусдаа үйлчилгээнүүд юм. Энэ ялгарал нь энгийн хэрэглэгчид онцгой эрхтэй демон түүний оронд хамгаалагдсан нууц үгийн файлыг уншихгүйгээр сесс эхлүүлэх боломж олгодог. Файлд суурилсан нэвтрэх мэдээлэлд тэр загварт байр байхгүй, учир нь тэдгээрийг унших демоны талын эхлүүлэлт байхгүй. Татгалзал нь архитектурын үр дагавар, дутуу функц биш.

Хуучин загварыг нэрлэх нь түүнийг орхиход хялбар болгоно: профайл нэвтрэх мэдээллийн файлыг зааж, туннель эхлэхэд демон түүнийг уншдаг. Шинэ загварт нэвтрэх мэдээлэл сесст хамаарах бөгөөд тэр сесс эхлэхэд өгөгддөг. openvpn3 session-start --config work.ovpn тэдгээрийг асууж, --auth-user-pass creds.txt татгалзагдана, учир нь тэр замд файлыг нээх зүйл байхгүй. Олдох 2.x жор бүр оршгүй болсон үе шатыг урьдчилан тооцдог.

Конфигураци болон сайтын локал тохиргоо ч тусдаа, энэ нь хоёр дахь гэнэтийг тайлбарладаг. Профайл бүрэн харагдаж болох ч түүний үүсгэсэн холболтод маршрутлалт ба резолверын конфигурац дутуу байж болно. Тэдгээр хэсэг нь импортолсон файлаас тусдаа, сайтын локал тохиргоо болгон хэрэгжинэ.

Промптын зам ба түүний үлдээх сесс

Сесс эхлэхэд нууц үгийг өгөх нь зорьсон ажлын урсгал юм. Клиент нэг удаа асууж, нэвтрэх мэдээллийг сессийн бэкендэд дамжуулаад үргэлжлүүлнэ:

openvpn3 session-start --config work.ovpn
openvpn3 sessions-list

Тэр замаар диск дээр юу ч бичигдэхгүй. Терминал хаагдсаны дараа ч сесс ажилласаар байдаг нь процесс бүрхүүлтэйгээ хамт үхнэ гэж хүлээсэн хүмүүсийг гайхшруулдаг. Сессийн боловсруулалтыг үйлчилгээ рүү шилжүүлсний утга нь энэ юм. Сесс түүнийг хүссэн терминалаас урт насалж, түүнийг тодорхой зогсоох ёстой.

Өмнө нь хүн суусан ажлын станцад энэ нь хамгийн аюулгүй сонголт ч юм, учир нь хамгаалах, мартахад хадгалсан нууц байхгүй. Хүн бичихгүй газарт л энэ нь тохиромжгүй.

Гарны өмнө хүнгүйгээр автоматжуулалт

Машин хүнгүйгээр холбогдох ёстой газарт төсөл openvpn3-autoload-г нийлүүлдэг. Энэ нь профайлуудын хавтас болон профайл бүрт тохирох дүрслэгчийг уншиж, дүрслэгч нь нэвтрэх мэдээллийг тодорхой текстээр өгдөг. Туслах нь тусдаа хоёртын файл, ихэвчлэн /usr/sbin/openvpn3-autoload дээр байдаг, session-start-ийн флаг биш. Үүнийг тохируулах гэдэг нь хавтас үүсгэх, профайлыг дүрслэгчийн хүлээж буй нэрээр хуулах, дүрслэгчийг бичих гэсэн үг.

Хэрэглэгч тус бүрийн тохиргоо ийм харагдана, сессийг эзэмших бүртгэлээр ажиллуулна. Хавтасны горим бусад локал хэрэглэгчдийг гадуур байлгана:

mkdir -m700 -p ~/.openvpn3/autoload
cp work.ovpn ~/.openvpn3/autoload/client.conf
$EDITOR ~/.openvpn3/autoload/client.autoload

Дүрслэгч нэвтрэх мэдээллийг нэрлэж, автоматаар эхлэхийг хүснэ. Нууц үгийн утгыг хувилбарын хяналтаас гадуур байлгаарай:

{
  "autostart": true,
  "user-auth": {
    "autologin": true,
    "username": "svc-vpn",
    "password": "change-this-value"
  }
}

Дараа нь туслахыг нэг удаа дуудаж, сесс гарч ирснийг баталгаажуулна. Хоёр дахь команд нь шалгалт, өөр нэг тохиргооны алхам биш:

/usr/sbin/openvpn3-autoload --directory ~/.openvpn3/autoload
openvpn3 sessions-list

openvpn3-autoload.service нэртэй багцлагдсан нэгж ачаалах үед хэрэглэгч тус бүрийн биш, системийн хэмжээний /etc/openvpn3/autoload хавтсыг ашигладаг. Тэр байршилд root эзэмшил ба илүү чанга горим хэрэгтэй, дүрслэгч нууц үгийг тодорхой текстээр хадгалсаар байна. Хүлээн зөвшөөрөх зүйл тодорхой: нууц үг одоо диск дээр байгаа тул тэр хавтсыг нууц мэт үзэж, хостоос гадуурх нөөц хуулбараас хасаж, хүн байгаа бүрт интерактив замыг сонгоорой.

Нууц үгийн алдаа мэт харагдах автобусны алдаанууд

Нэвтрэх мэдээлэлд хамааруулдаг зарим алдаа огт тийм биш. Үйлчилгээний идэвхжүүлэх замыг нэрлэсэн зөвшөөрлийн алдаа нь хоёрын нэгийг илэрхийлнэ: бэкенд ажиллахгүй байна, эсвэл дуудагч түүнийг идэвхжүүлэх зөвшөөрөлгүй байна. Профайлын засвар аль алиныг нь өөрчлөхгүй. Конфигурацид хүрэхээс өмнө үйлчилгээний төлөв болон нийлүүлсэн автобусны бодлогыг шалгаарай.

Доорх командууд эдгээрийг ялгана. Эхнийх нь бэкенд ажиллаж байгаа эсэхийг мэдээлнэ; хоёр дахь нь сүүлийн үеийн автобусны алдааг харуулна:

systemctl status openvpn3-service-client
journalctl -b -u openvpn3-service-client --no-pager | tail -20

Өөр нэг түгээмэл буруу уншилт бол гарч ирээд даруй алга болдог сесс юм. Тэр загвар ихэвчлэн сайтын локал тохиргоо хэзээ ч хэрэгжиж байгаагүй, тиймээс туннель түүнийг ашигтай болгодог маршрут ба резолверын өөрчлөлтгүйгээр боссон гэсэн үг. Сүүлийн мөрийг биш, дарааллыг уншаарай: сесс үүссэн эсэх, холбогдсон төлөвт хүрсэн эсэх, амьд үлдсэн эсэх нь гурван тусдаа баримт юм.

Хуучин клиент хэрэглэгдсээр байх үед

2.x клиент нэвтрэх мэдээллийн файлыг хүлээн авсаар байгаа бөгөөд түлхүүрийн бөгж нууц дискінд хүрэхгүйгээр түүний промптод хариулж чадна. Боодол бичлэгийг шийддэг тул файл нууц үгийг биш, хайлтыг нэрлэнэ. Энэ зохицуулалт нээлттэй түлхүүрийн бөгжнөөс хамаардаг бөгөөд нэвтрэх сессгүй контейнер эсвэл хэн нэгэн нэвтрэхээс өмнө эхэлдэг нэгж үүнийг өгч чадахгүй. Тэгвэл хайлтын хэрэгсэл бичиж чадахгүй цуглуулгын тухай мэдээлж, түлхүүрийн бөгжний алдаа нэвтрэх мэдээллийн алдаа мэт харагдана.

Үүнийг бүтээхээс өмнө профайл дахь keepalive тохиргоо дахин эхлүүлэх шаардлагыг бүрмөсөн хасч байгаа эсэхийг шалгаарай. Ажиллаж буй сесс таны автоматжуулах гэж буй промптод хэзээ ч хүрэхгүй.

Холбоотой нийтлэлүүд