VPS сервериндеги OpenVPN: ача турган /dev/net/tun түзмөгү жок
Конфигурация адатта жакшы: конок tun түзмөгүн көрбөйт. Бул VMбы же өзөктү бөлүшкөн контейнерби — ажыратып, өзөккө ээ катмарды оңдоңуз.
Биринчи баштоо /dev/net/tun же ачылбаган TUN/TAP түзмөгү тууралуу билдирүү менен ишке ашпайт. Сертификаттар али окула элек, ошондуктан профилде эч нерсе күнөөлүү эмес. Демон өзөктөн бул конокто жок объектини сурап жатат.
Ошол объект — tun модулу камсыз кылган символдук түзмөк. Аны түзө аласыңбы же жокпу, өзөккө ким ээ экенине байланыштуу.
Демон өзөктөн эмнени сурайт
OpenVPN /dev/net/tun ачат жана драйверден интерфейс сурайт. Драйвер — tun модулу, ал эми түзмөк түйүнү — колдонуучу мейкиндиги ага жетүү үчүн колдонгон тутка. Модул жүктөлбөсө, түйүн жок болушу же ачуу ишке ашпашы мүмкүн. Эки абал тең server.conf редакциялоо менен оңдолбойт.
Бул катаны адегенде платформа тууралуу суроо катары окуңуз. Конфигурация катасы түзмөк ачылгандан кийин пайда болот, анга чейин эмес.
VM же өзөктү бөлүшкөн конок
KVM, Xen же башка толук виртуалдык машинада өзөктү өзүңүз башкарасыз. Модулдарды жүктөп, түйүн түзө аласыз. OpenVZ, Virtuozzo же LXC стилиндеги контейнерде конок хосттун өзөгүн бөлүшөт, ошондуктан анын ичиндеги root хост жүктөбөгөн модулду жүктөй албайт.
Ошондуктан ушул эле катанын эки такыр башка ээси бар. Биринчи учурда аны инстанстын ичинен оңдой аласыз. Экинчисинде хосттон же провайдерден бир нерсени ачып берүүнү сурап жатасыз.
Кайсы учурда экениңизди чечүүдөн мурун ls -l /dev/net/tun, lsmod | grep tun жана ip -brief link show иштетиңиз.
VMде модулду жүктөө учурунда жүктөңүз
Виртуалдык машинада modprobe tun адатта түзмөк түйүнүн түзөт. Анын пайда болгонун текшерип, анан бир жолу тергиленген буйрукка таянбастан, дистрибутивдин модул конфигурациясы аркылуу жүктөөнү туруктуу кылыңыз. Кайра жүктөөдөн кийин жоголгон түйүн кийинки айда ушул эле тикетке айланат.
Ошондой эле жүктөгөн өзөгүңүздө бул модулдун бар-жогун текшериңиз. Кыркылган вендордук өзөктө ал болбошу мүмкүн.
Түйүн бар болуп, ачуу дагы эле ишке ашпаса, кийинки шектүүлөр — уруксаттар жана түзмөктүн major/minor номурлары. Булар жергиликтүү оңдоолор, провайдерге суроо эмес.
Контейнерде түзмөк хостко таандык
Контейнерде түзмөк жана мүмкүнчүлүк — эки өзүнчө талап. Runtime /dev/net/tun өткөрүшү керек, ал эми контейнерге интерфейс түзүү үчүн тармак мүмкүнчүлүгү керек. Экөөнү тең бербеген rootless runtime профиль кантип жазылса да ошол эле ачуу катасын чыгара берет. Көптөгөн OpenVZ хосттору кардар панелинде TUN/TAP которгучун сунушташат, аны күйгүзүп кайра жүктөө көбүнчө бүт чечим болот.
Провайдерге эки так суроо бериңиз: хостто tun модулу жүктөлгөнбү жана ушул инстанстын ичинде түзмөк жеткиликтүүбү? Бүдөмүк тикет бүдөмүк жооп алат.
Модулду кайра куруу эмнеге сейрек жардам берет
Коноктун ичинде модул куруу сейрек жардам берет. Компиляция так иштеп жаткан өзөктүн конфигурациясын талап кылат, ал эми /proc/config.gz милдеттүү эмес жана кичине образдарда көп жолу жок. Иштеген модулду да контейнер ээ эмес өзөккө киргизүү мүмкүн эмес.
Түзмөк пайда болгондон кийин кызматты кайра баштап, трафикти текшерүүдөн мурун интерфейсти ырастаңыз. tun0 көрүү — демон түзмөктү ачканынын белгиси. Ал кайра багыттоо, firewall эрежелери же кардарлар алган маршруттар тууралуу али эч нерсе айтпайт.
Булар ар биринин өз далили бар өзүнчө суроолор. Жок түзмөк — алдын ала шарттын ишке ашпоосу; бар болуп, эч нерсе ташыбаган туннель — саясаттын ишке ашпоосу.