Некаторыя карыстальнікі зацікаўлены ў стварэнні прыватнай віртуальнай сеткі паміж двума кампутарамі. Забяспечваецца пастаўленая задача з дапамогай тэхналогіі VPN (Virtual Private Network). Рэалізоўваецца злучэнне праз адкрытыя ці закрытыя утыліты і праграмы. Пасля паспяховай ўстаноўкі і налады ўсіх кампанентаў працэдуру можна лічыць завершанай, а падключэнне - абароненым. Далей мы б хацелі дэталёва абмеркаваць ажыццяўлення разгледжанай тэхналогіі праз кліент OpenVPN ў аперацыйнай сістэме на базе ядра Linux.
Усталёўваем OpenVPN ў Linux
Паколькі большасць юзераў выкарыстоўваюць дыстрыбутывы, заснаваныя Ubuntu, сёння інструкцыі будуць грунтавацца менавіта на гэтых версіях. У іншых жа выпадках кардынальнай розніцы ў інсталяцыі і канфігурацыі OpenVPN вы не заўважыце, хіба што прыйдзецца выконваць сінтаксіс дыстрыбутыва, пра што вы можаце прачытаць у афіцыйнай дакументацыі сваёй сістэмы. Прапануем азнаёміцца з усім працэсам пакрокава, каб дэталёва разабрацца ў кожным дзеянні.
Абавязкова варта ўлічваць, што функцыянаванне OpenVPN адбываецца праз два вузла (кампутар або сервер), а значыць гэта тое, што ўстаноўка і настройка датычыцца ўсіх удзельнікаў падключэння. Наша наступнае кіраўніцтва будзе арыентавана якраз на працу з двума крыніцамі.
Крок 1: Усталёўка OpenVPN
Вядома, пачаць варта з дадання ўсіх неабходных бібліятэк на кампутары. Прыгатуйцеся да таго, што для выканання пастаўленай задачы выкарыстоўвацца будзе выключна убудаваны ў АС «Тэрмінал».
- Адкрыйце меню і запусціце кансоль. Зрабіць гэта можна таксама шляхам націску камбінацыі клавіш Ctrl + Alt + T.
- прапішіце каманду
sudo apt install openvpn easy-rsa
для ўстаноўкі ўсіх патрэбных рэпазітароў. Пасля ўводу націсніце на Enter. - Пакажыце пароль ад ўліковага запісу суперпользователя. Сімвалы пры наборы не адлюстроўваюцца ў поле.
- Пацвердзіце даданне новых файлаў, выбраўшы адпаведны варыянт.
Пераходзіце да наступнага кроку толькі тады, калі інсталяцыя будзе выраблена на абедзвюх прыладах.
Крок 2: Стварэнне і настройка засведчвае цэнтра
Цэнтр спецыфікацыі адказвае за праверку адкрытых ключоў і забяспечвае надзейнае шыфраванне. Ствараецца ён на тым прыладзе, да якога потым будуць падключацца іншыя карыстальнікі, таму адкрыйце кансоль на патрэбным ПК і выканайце наступныя дзеянні:
- Першачаргова ствараецца папка для захоўвання ўсіх ключоў. Вы можаце размясціць яе дзе заўгодна, але лепш падабраць надзейнае месца. Выкарыстоўвайце для гэтага каманду
sudo mkdir / etc / openvpn / easy-rsa
, дзе / Etc / openvpn / easy-rsa - месца для стварэння дырэкторыі. - Далей у гэтую тэчку патрабуецца змясціць скрыпты дапаўненні easy-rsa, а робіцца гэта праз
sudo cp -R / usr / share / easy-rsa / etc / openvpn /
. - У гатовай дырэкторыі ствараецца які сведчыць цэнтр. Спачатку перайдзіце ў гэтую тэчку
cd / etc / openvpn / easy-rsa /
. - Затым устаўце ў поле наступную каманду:
sudo -i
# Source ./vars
# ./clean-all
# ./build-ca
Пакуль серверны кампутар можна пакінуць у спакоі і перамясціцца да кліенцкіх прылад.
Крок 3: Канфігурацыя кліенцкіх сертыфікатаў
Інструкцыю, з якой вы будзеце азнаёмленыя ніжэй, спатрэбіцца правесці на кожным кліенцкім кампутары, каб арганізаваць карэктна якое функцыянуе абароненае злучэнне.
- Адкрыйце кансоль і напішыце там каманду
sudo cp -R / usr / share / easy-rsa / etc / openvpn /
, Каб скапіяваць усе патрабаваныя скрыпты інструмента. - Раней на серверным ПК быў створаны асобны файл з сертыфікатам. Цяпер яго трэба скапіяваць і змясціць у тэчку з астатнімі кампанентамі. Прасцей за ўсё гэта зрабіць праз каманду
sudo scp username @ host: /etc/openvpn/easy-rsa/keys/ca.crt / etc / openvpn / easy-rsa / keys
, дзе username @ host - адрас абсталявання, з якога вырабляецца запампоўка. - Засталося толькі стварыць асабісты сакрэтны ключ, каб у далейшым праз яго ажыццяўлялася злучэнне. Зрабіце гэта, перайшоўшы ў тэчку захоўвання скрыптоў
cd / etc / openvpn / easy-rsa /
. - Для стварэння файла выкарыстоўвайце каманду:
sudo -i
# Source ./vars
# Build-req LumpicsLumpics у гэтым выпадку - зададзенае назву файла. Створаны ключ у абавязковым парадку павінен знаходзіцца ў адной і той жа дырэкторыі з астатнімі ключамі.
- Засталося толькі адправіць гатовы ключ доступу на сервернае прылада, каб пацвердзіць сапраўднасць свайго злучэння. Робіцца гэта з дапамогай той жа каманды, праз якую выраблялася запампоўка. Вам трэба ўвесці
scp /etc/openvpn/easy-rsa/keys/Lumpics.csr username @ host: ~ /
, дзе username @ host - імя кампутара для адпраўкі, а Lumpics.csr - назва файла з ключом. - На серверным ПК пацвердзіце ключ праз
./sign-req ~ / Lumpics
, дзе Lumpics - назва файла. Пасля гэтага вярніце дакумент назад празsudo scp username @ host: /home/Lumpics.crt / etc / openvpn / easy-rsa / keys
.
На гэтым усё папярэднія работы завершаны, засталося толькі прывесці сам OpenVPN ў нармальны стан і можна пачынаць выкарыстоўваць прыватнае шыфраванае злучэнне з адным ці некалькімі кліентамі.
Крок 4: Налада OpenVPN
Наступнае кіраўніцтва будзе тычыцца і кліенцкай часткі, і сервернай. Мы ўсе падзелім па дзеяннях і папярэдзім пра змены машын, таму вам застаецца толькі выканаць прыведзеную інструкцыю.
- Спачатку стварыце файл канфігурацыі на серверным ПК з дапамогай каманды
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
. Пры канфігурацыі кліенцкіх прылад гэты файл таксама прыйдзецца ствараць асобна. - Азнаёмцеся са стандартнымі значэннямі. Як бачыце, порт і пратакол супадае са стандартнымі, аднак адсутнічаюць дадатковыя параметры.
- Запусціце створаны канфігурацыйны файл праз рэдактар
sudo nano /etc/openvpn/server.conf
. - Мы не будзем удавацца ў падрабязнасці змены ўсіх значэнняў, паколькі ў некаторых выпадках яны індывідуальныя, але стандартныя радкі ў файле павінны прысутнічаць, а выглядае падобная карціна так:
port 1194
proto udp
comp-lzo
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txtПасля завяршэння ўсіх змяненняў захавайце налады і зачыніце файл.
- Праца з сервернай часткай завершана. Запусціце OpenVPN праз створаны канфігурацыйны файл
openvpn /etc/openvpn/server.conf
. - Цяпер прыступім да кліенцкіх прылад. Як ужо было сказана, тут таксама ствараецца файл налад, але на гэты раз ён не распакоўваецца, таму каманда мае наступны выгляд:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf
. - Запусціце файл такім жа чынам, як гэта было паказана вышэй і занясіце туды наступныя радкі:
client
.
dev tun
proto udp
remote 194.67.215.125 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
key /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
comp-lzo
verb 3Па завяршэнні рэдагавання запусціце OpenVPN:
openvpn /etc/openvpn/client.conf
. - прапішіце каманду
ifconfig
, Каб пераканацца ў рабоце сістэмы. Сярод усіх паказаных значэнняў абавязкова павінен прысутнічаць інтэрфейс tun0.
Для перанакіравання трафіку і адкрыцця доступу да інтэрнэту для ўсіх кліентаў на серверным ПК вам спатрэбіцца па чарзе актываваць адзначаныя ніжэй каманды.
sysctl -w net.ipv4.ip_forward = 1
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
У рамках сённяшняга артыкула вы былі азнаёмленыя з працэдурай інсталяцыі і налады OpenVPN на сервернай і кліенцкай часткі. Раім звяртаць увагу на апавяшчэння, паказаныя ў «Тэрмінале» і вывучаць коды памылак, калі такія з'яўляюцца. Падобныя дзеянні дапамогуць пазбегнуць далейшых праблем з падключэннем, бо аператыўнае вырашэнне праблемы прадухіляе з'яўленне іншых вынікаюць непаладак.