Китоби "Linux дар амал"

Китоби "Linux дар амал" Салом, сокинони Хабро! Дар китоб Дэвид Клинтон 12 лоиҳаи воқеиро тавсиф мекунад, аз ҷумла автоматикунонии системаи нусхабардорӣ ва барқарорсозии шумо, насб кардани абри файлҳои шахсии Dropbox ва эҷоди сервери MediaWiki худ. Шумо тавассути омӯзиши мисолҳои ҷолиб виртуализатсия, барқарорсозии офатҳои табиӣ, амният, нусхабардорӣ, DevOps ва ҳалли мушкилоти системаро омӯхта метавонед. Ҳар як боб бо баррасии таҷрибаи пешқадам, луғати истилоҳоти нав ва машқҳо анҷом меёбад.

Иқтибос «10.1. Эҷоди нақби OpenVPN"

Ман дар ин китоб аллакай дар бораи рамзгузорӣ бисёр сӯҳбат кардам. SSH ва SCP метавонанд маълумоти тавассути пайвастҳои дурдаст интиқолшударо муҳофизат кунанд (Боби 3), рамзгузории файл метавонад маълумотро ҳангоми нигоҳ доштани он дар сервер муҳофизат кунад (Боби 8) ва сертификатҳои TLS/SSL метавонанд маълумоти интиқолшударо байни сайтҳо ва браузерҳои муштарӣ муҳофизат кунанд (Боби 9) . Аммо баъзан маълумоти шумо бояд дар доираи васеи пайвастҳо ҳифз карда шаванд. Масалан, шояд баъзе аз аъзоёни дастаи шумо ҳангоми пайвастшавӣ ба Wi-Fi тавассути нуқтаҳои дастрасии ҷамъиятӣ дар роҳ кор кунанд. Шумо бешубҳа набояд фикр кунед, ки ҳамаи чунин нуқтаҳои дастрасӣ бехатаранд, аммо одамони шумо ба роҳи пайвастшавӣ ба захираҳои ширкат ниёз доранд - ва дар ин ҷо VPN метавонад кӯмак кунад.

Тунели дуруст тарҳрезишудаи VPN робитаи мустақими байни муштариёни дурдаст ва серверро таъмин мекунад, ки маълумотро ҳангоми гузаштан тавассути шабакаи ноамн пинҳон мекунад. Хайр чӣ? Шумо аллакай абзорҳои зиёдеро дидаед, ки ин корро бо рамзгузорӣ карда метавонанд. Арзиши воқеии VPN дар он аст, ки тавассути кушодани нақб шумо метавонед шабакаҳои дурдастро пайваст кунед, ки гӯё ҳамаи онҳо маҳаллӣ бошанд. Ба маъное, шумо гузаргоҳро истифода мебаред.

Бо истифода аз ин шабакаи васеъ, маъмурон метавонанд кори худро дар серверҳои худ аз ҳар ҷо иҷро кунанд. Аммо муҳимтар аз ҳама он аст, ки ширкате, ки захираҳоеро, ки дар бисёр маконҳо паҳн шудаанд, метавонад ба ҳама гурӯҳҳое, ки ба онҳо эҳтиёҷ доранд, дар ҳар куҷое, ки набошанд, намоён ва дастрас гардонад (Расми 10.1).

Худи туннель бехатариро кафолат намедихад. Аммо яке аз стандартҳои рамзгузорӣ метавонад ба сохтори шабака дохил карда шавад, ки сатҳи амниятро ба таври назаррас афзоиш медиҳад. Тунелҳое, ки бо истифода аз бастаи кушодаи OpenVPN сохта шудаанд, ҳамон рамзгузории TLS/SSL-ро истифода мебаранд, ки шумо аллакай дар бораи он хондаед. OpenVPN ягона варианти нақбсозӣ нест, аммо он яке аз маъмултарин аст. Он нисбат ба протоколи нақби алтернативии Layer 2, ки рамзгузории IPsec-ро истифода мебарад, каме тезтар ва бехатартар ҳисобида мешавад.

Оё шумо мехоҳед, ки ҳамаи аъзоёни дастаи шумо ҳангоми дар роҳ ё кор дар биноҳои гуногун бо ҳамдигар бехатар муошират кунанд? Барои ин, шумо бояд сервери OpenVPN эҷод кунед, то ба мубодилаи барномаҳо ва дастрасӣ ба муҳити шабакаи маҳаллии сервер иҷозат диҳад. Барои ин кор, танҳо ба шумо лозим аст, ки ду мошини виртуалӣ ё ду контейнерро иҷро кунед: яке ҳамчун сервер/хост ва дигаре ҳамчун муштарӣ. Сохтани VPN як раванди оддӣ нест, аз ин рӯ эҳтимол барои гирифтани тасвири бузург чанд дақиқа сарф кардан лозим аст.

Китоби "Linux дар амал"

10.1.1. Танзимоти сервери OpenVPN

Пеш аз оғози кор, ман ба шумо маслиҳати муфид медиҳам. Агар шумо инро худатон иҷро карданӣ бошед (ва ман ба шумо тавсия медиҳам), шумо эҳтимол худро бо тирезаҳои сершумори терминалҳои дар Мизи кории худ кушода кор кардан хоҳед ёфт, ки ҳар кадоме ба як мошини дигар пайваст аст. Хавфи он вуҷуд дорад, ки дар ягон лаҳза шумо фармони нодурустро ба тиреза ворид кунед. Барои пешгирӣ кардани ин, шумо метавонед фармони номи мизбонро истифода баред, то номи мошини дар сатри фармон нишон додашударо ба чизе иваз кунед, ки ба шумо дар куҷо будани шуморо равшан нишон медиҳад. Пас аз он ки шумо ин корро мекунед, шумо бояд аз сервер хориҷ шавед ва дубора ворид шавед, то танзимоти нав эътибор пайдо кунанд. Чунин ба назар мерасад:

Китоби "Linux дар амал"
Бо риояи ин равиш ва додани номҳои мувофиқ ба ҳар як мошине, ки бо шумо кор мекунед, шумо метавонед ба осонӣ дар куҷо буданатонро пайгирӣ кунед.

Пас аз истифодаи номи мизбон, шумо метавонед ҳангоми иҷро кардани фармонҳои минбаъда бо паёмҳои ҳост OpenVPN-Сервер ҳал карда нашавад. Навсозии файли /etc/hosts бо номи мизбони нави мувофиқ бояд ин масъаларо ҳал кунад.

Сервери шумо барои OpenVPN омода карда мешавад

Барои насб кардани OpenVPN дар сервери худ, ба шумо ду баста лозим аст: openvpn ва easy-rsa (барои идоракунии раванди тавлиди калиди рамзгузорӣ). Корбарони CentOS бояд аввал анбори epel-release-ро дар ҳолати зарурӣ насб кунанд, тавре ки шумо дар боби 2 кардаед. Барои санҷидани дастрасӣ ба замимаи сервер, шумо инчунин метавонед веб-сервери Apache (apache2 дар Ubuntu ва httpd дар CentOS) насб кунед.

Ҳангоме ки шумо сервери худро насб мекунед, ман тавсия медиҳам, ки девори девориро фаъол созам, ки ҳама бандарҳоро ба истиснои 22 (SSH) ва 1194 (порти пешфарзии OpenVPN) блок мекунад. Ин мисол нишон медиҳад, ки чӣ тавр ufw дар Ubuntu кор мекунад, аммо ман боварӣ дорам, ки шумо то ҳол барномаи девори CentOS-ро аз боби 9 дар ёд доред:

# ufw enable
# ufw allow 22
# ufw allow 1194

Барои фаъол кардани масири дохилӣ байни интерфейсҳои шабакавӣ дар сервер, шумо бояд як сатрро (net.ipv4.ip_forward = 1) дар файли /etc/sysctl.conf бекор кунед. Ин ба мизоҷони дурдаст имкон медиҳад, ки ҳангоми пайвастшавӣ ба муштариёни дурдаст ба таври лозима равона карда шаванд. Барои кор кардани имконоти нав, sysctl -p -ро иҷро кунед:

# nano /etc/sysctl.conf
# sysctl -p

Муҳити сервери шумо ҳоло пурра танзим карда шудааст, аммо то омода шудан боз як кори дигар лозим аст: ба шумо лозим меояд, ки қадамҳои зеринро анҷом диҳед (мо онҳоро дар оянда муфассал баррасӣ хоҳем кард).

  1. Бо истифода аз скриптҳои бо бастаи easy-rsa таъминшуда дар сервер маҷмӯи калидҳои рамзгузории инфрасохтори калидҳои оммавӣ (PKI) эҷод кунед. Аслан, сервери OpenVPN инчунин ҳамчун мақомоти сертификатсияи худ (CA) амал мекунад.
  2. Калидҳои мувофиқро барои муштарӣ омода кунед
  3. Файли server.conf-ро барои сервер танзим кунед
  4. Мизоҷи OpenVPN-и худро насб кунед
  5. VPN-и худро санҷед

Эҷоди калидҳои рамзгузорӣ

Барои содда нигоҳ доштани кор, шумо метавонед инфрасохтори калидии худро дар ҳамон мошине, ки сервери OpenVPN кор мекунад, насб кунед. Аммо, таҷрибаҳои беҳтарини амният одатан истифодаи сервери алоҳидаи CA-ро барои ҷойгиркунии истеҳсолот пешниҳод мекунанд. Раванди тавлид ва паҳн кардани захираҳои калиди рамзгузорӣ барои истифода дар OpenVPN дар расми 10.2 тасвир шудааст. XNUMX.

Китоби "Linux дар амал"
Вақте ки шумо OpenVPN-ро насб кардед, феҳристи /etc/openvpn/ ба таври худкор эҷод карда шуд, аммо дар он ҳанӯз чизе вуҷуд надорад. Бастаҳои openvpn ва easy-rsa бо файлҳои қолибҳои намунавӣ меоянд, ки шумо метавонед онҳоро ҳамчун асос барои конфигуратсияи худ истифода баред. Барои оғози раванди сертификатсия, феҳристи шаблони easy-rsa-ро аз /usr/share/ ба /etc/openvpn нусхабардорӣ кунед ва ба директорияи easy-rsa/ тағир диҳед:

# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa

Феҳристи easy-rsa акнун чанд скриптро дар бар мегирад. Дар ҷадвал 10.1 асбобҳоеро номбар мекунад, ки шумо барои сохтани калидҳо истифода мекунед.

Китоби "Linux дар амал"

Амалиётҳои боло имтиёзҳои решаро талаб мекунанд, бинобар ин шумо бояд тавассути sudo su реша шавед.

Аввалин файле, ки шумо бо он кор хоҳед кард, vars номида мешавад ва дорои тағирёбандаҳои муҳитиест, ки easy-rsa ҳангоми тавлиди калидҳо истифода мебарад. Шумо бояд файлро таҳрир кунед, то арзишҳои шахсии худро ба ҷои арзишҳои пешфарз, ки аллакай вуҷуд доранд, истифода баред. Ин аст, ки файли ман чӣ гуна хоҳад буд (Рӯйхати 10.1).

Рӯйхат 10.1. Қисмҳои асосии файл /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="CA"
export KEY_PROVINCE="ON"
export KEY_CITY="Toronto"
export KEY_ORG="Bootstrap IT"
export KEY_EMAIL="[email protected]"
export KEY_OU="IT"

Иҷрои файли vars арзишҳои онро ба муҳити ниҳонӣ интиқол медиҳад, ки онҳо ба мундариҷаи калидҳои нави шумо дохил карда мешаванд. Чаро фармони sudo худ аз худ кор намекунад? Зеро дар қадами аввал мо скриптро бо номи vars таҳрир мекунем ва сипас онро татбиқ мекунем. Татбиқ ва маънои онро дорад, ки файли vars арзишҳои худро ба муҳити ниҳонӣ интиқол медиҳад, ки дар он ҷо онҳо ба мундариҷаи калидҳои нави шумо дохил карда мешаванд.

Боварӣ ҳосил кунед, ки файлро бо истифода аз қабати нав дубора иҷро кунед, то раванди нотамомро анҷом диҳед. Вақте ки ин кор анҷом мешавад, скрипт аз шумо хоҳиш мекунад, ки скрипти дигарро иҷро кунед, то ҳама мундариҷаро дар директорияи /etc/openvpn/easy-rsa/keys/ тоза кунед:

Китоби "Linux дар амал"
Табиист, ки қадами навбатӣ иҷро кардани скрипти пок ва пас аз он build-ca мебошад, ки скрипти pkitool-ро барои сохтани шаҳодатномаи реша истифода мебарад. Аз шумо хоҳиш карда мешавад, ки танзимоти шахсияти аз ҷониби vars пешниҳодшударо тасдиқ кунед:

# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key

Минбаъд скрипти сохтани калид-сервер меояд. Азбаски он як скрипти pkitool-ро дар якҷоягӣ бо шаҳодатномаи реша истифода мебарад, шумо ҳамон саволҳоро барои тасдиқи эҷоди ҷуфти калид хоҳед дид. Калидҳо дар асоси далелҳое, ки шумо мегузаред, номгузорӣ мешаванд, ки агар шумо дар ин мошин якчанд VPN-ро иҷро накунед, одатан сервер хоҳанд буд, ба монанди мисол:

# ./build-key-server server
[...]
Certificate is to be certified until Aug 15 23:52:34 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

OpenVPN параметрҳоеро, ки аз ҷониби алгоритми Diffie-Hellman тавлид шудааст (бо истифода аз build-dh) барои гуфтушунид оид ба аутентификатсия барои пайвастҳои нав истифода мебарад. Файли дар ин ҷо сохташуда набояд махфӣ бошад, аммо бояд бо истифода аз скрипти build-dh барои калидҳои RSA, ки айни замон фаъоланд, тавлид карда шавад. Агар шумо дар оянда калидҳои нави RSA эҷод кунед, шумо инчунин бояд файли Diffie-Hellmanро навсозӣ кунед:

# ./build-dh

Калидҳои тарафи сервери шумо ҳоло дар феҳристи /etc/openvpn/easy-rsa/keys/ ҷамъ мешаванд, аммо OpenVPN инро намедонад. Бо нобаёнӣ, OpenVPN калидҳоро дар /etc/openvpn/ ҷустуҷӯ мекунад, аз ин рӯ онҳоро нусхабардорӣ кунед:

# cp /etc/openvpn/easy-rsa/keys/server* /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn

Омода кардани калидҳои рамзгузории муштарӣ

Тавре ки шумо аллакай дидед, рамзгузории TLS ҷуфтҳои калидҳои мувофиқро истифода мебарад: яке дар сервер ва дигаре дар муштарии дурдаст насб шудааст. Ин маънои онро дорад, ки шумо ба калидҳои муштарӣ ниёз доред. Дӯсти кӯҳнаи мо pkitool маҳз он чизест, ки ба шумо барои ин лозим аст. Дар ин мисол, вақте ки мо барномаро дар директорияи /etc/openvpn/easy-rsa/ иҷро мекунем, мо ба он далели муштариро барои тавлиди файлҳо бо номи client.crt ва client.key мегузорем:

# ./pkitool client

Ду файли муштарӣ, дар якҷоягӣ бо файли аслии ca.crt, ки ҳоло ҳам дар калидҳо/ директория мавҷуд аст, акнун бояд ба муштарии шумо бехатар интиқол дода шаванд. Аз сабаби моликият ва ҳуқуқҳои дастрасии онҳо, ин метавонад чандон осон набошад. Усули соддатарин ин аст, ки ба таври дастӣ мундариҷаи файли манбаъро (ва ҷуз он мундариҷа) ба терминале, ки дар мизи кории компютери шумо кор мекунад, нусхабардорӣ кунед (матнро интихоб кунед, тугмаи рости онро клик кунед ва аз меню Нусхабардорӣ-ро интихоб кунед). Пас онро ба файли нав бо ҳамон номе, ки шумо дар терминали дуюми ба муштарии худ пайвастшуда эҷод мекунед, часбонед.

Аммо ҳар кас метавонад бурида ва часпонед. Ба ҷои ин, мисли администратор фикр кунед, зеро шумо на ҳамеша ба GUI дастрасӣ доред, ки дар он амалиёти бурида/часбондан имконпазир аст. Файлҳоро ба феҳристи хонагии корбари шумо нусхабардорӣ кунед (то он ки амалиёти дурдасти scp ба онҳо дастрасӣ пайдо кунад) ва сипас chown-ро барои тағир додани моликияти файлҳо аз реша ба корбари муқаррарии решавӣ истифода баред, то амали scp дурдаст иҷро шавад. Боварӣ ҳосил кунед, ки ҳамаи файлҳои шумо дар айни замон насб ва дастрасанд. Шумо онҳоро каме дертар ба муштарӣ интиқол медиҳед:

# cp /etc/openvpn/easy-rsa/keys/client.key /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/client.crt /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/client.key
# chown ubuntu:ubuntu /home/ubuntu/client.crt
# chown ubuntu:ubuntu /home/ubuntu/ca.crt

Бо маҷмӯи пурраи калидҳои рамзгузорӣ барои истифода омода, шумо бояд ба сервер бигӯед, ки чӣ тавр шумо мехоҳед VPN-ро эҷод кунед. Ин бо истифода аз файли server.conf анҷом дода мешавад.

Кам кардани шумораи зарбаҳои клавиатура

Оё чопкунии аз ҳад зиёд вуҷуд дорад? Тавсеа бо қавс кӯмак мекунад, ки ин шаш фармонро ба ду кам кунед. Ман боварӣ дорам, ки шумо метавонед ин ду мисолро омӯзед ва дарк кунед, ки чӣ рӯй дода истодааст. Муҳимтар аз ҳама, шумо метавонед фаҳмед, ки чӣ гуна ин принсипҳоро ба амалиётҳое, ки даҳҳо ва ҳатто садҳо унсурҳоро дар бар мегиранд, татбиқ кунед:

# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}

Насб кардани файли server.conf

Чӣ тавр шумо метавонед бидонед, ки файли server.conf чӣ гуна бояд бошад? Шаблон директорияи easy-rsa-ро, ки шумо аз /usr/share/ нусхабардорӣ кардаед, дар хотир доред? Вақте ки шумо OpenVPN-ро насб кардед, шумо бо як файли фишурдашудаи конфигуратсия монданд, ки шумо метавонед онро ба /etc/openvpn/ нусхабардорӣ кунед. Ман ба он далел меорам, ки қолаб бойгонӣ шудааст ва шуморо бо як абзори муфид шинос мекунам: zcat.

Шумо аллакай дар бораи чоп кардани мундариҷаи матнии файл дар экран бо истифода аз фармони cat медонед, аммо агар файл бо истифодаи gzip фишурда шавад-чӣ? Шумо ҳамеша метавонед файлро кушоед ва он гоҳ гурба онро бо хушнудӣ мебарорад, аммо ин як ё ду қадами бештар аз зарурӣ аст. Ба ҷои ин, тавре ки шумо тахмин карда будед, шумо метавонед фармони zcat-ро барои бор кардани матни кушода ба хотира дар як қадам бароред. Дар мисоли зерин, ба ҷои чопи матн дар экран, шумо онро ба файли нав бо номи server.conf равона мекунед:

# zcat 
  /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz 
  > /etc/openvpn/server.conf
$ cd /etc/openvpn

Биёед ҳуҷҷатҳои васеъ ва муфидро, ки бо файл меояд, як сӯ гузорем ва бубинем, ки ҳангоми таҳриркунӣ он чӣ гуна хоҳад буд. Дар хотир доред, ки нуқтаи вергул (;) ба OpenVPN мегӯяд, ки сатри ояндаро нахонед ё иҷро накунад (Рӯйхати 10.2).

Китоби "Linux дар амал"
Биёед баъзе аз ин танзимотҳоро дида бароем.

  • Бо нобаёнӣ, OpenVPN дар бандари 1194 кор мекунад. Шумо метавонед инро тағир диҳед, масалан, барои минбаъд пинҳон кардани фаъолиятҳои худ ё пешгирӣ кардани низоъҳо бо дигар нақбҳои фаъол. Азбаски 1194 ҳамоҳангсозии ҳадди ақалро бо мизоҷон талаб мекунад, беҳтар аст, ки ин корро бо ин роҳ анҷом диҳед.
  • OpenVPN барои интиқоли маълумот ё Protocol Control Transmission (TCP) ё Protocol Datagram User (UDP) -ро истифода мебарад. TCP метавонад каме сусттар бошад, аммо он боэътимодтар аст ва эҳтимоли он аз ҷониби барномаҳое, ки дар ҳарду канори нақб кор мекунанд, фаҳманд.
  • Шумо метавонед dev tunро муайян кунед, вақте ки шумо мехоҳед нақби соддатар ва муассиртари IP эҷод кунед, ки мундариҷаи маълумотро дар бар мегирад ва ҳеҷ чизи дигар. Агар, аз тарафи дигар, ба шумо лозим аст, ки интерфейсҳои сершумори шабакавиро (ва шабакаҳое, ки онҳо намояндагӣ мекунанд) пайваст кунед, пули Ethernet эҷод кунед, шумо бояд dev tap-ро интихоб кунед. Агар шумо нафаҳмед, ки ин ҳама чӣ маъно дорад, далели tunро истифода баред.
  • Чор сатри навбатӣ ба OpenVPN номҳои се файли аутентификатсия дар сервер ва файли опсияҳои dh2048-ро, ки қаблан офаридаед, медиҳад.
  • Хати сервер диапазон ва ниқоби зершабақаро муқаррар мекунад, ки барои таъин кардани суроғаҳои IP ба мизоҷон ҳангоми ворид шудан истифода мешаванд.
  • Параметри ихтиёрии push "route 10.0.3.0 255.255.255.0" ба муштариёни дурдаст имкон медиҳад, ки ба зершабакаҳои хусусии паси сервер дастрасӣ пайдо кунанд. Иҷрои ин кор инчунин насб кардани шабакаро дар худи сервер талаб мекунад, то зершабакаи хусусӣ дар бораи зершабакаи OpenVPN (10.8.0.0) огоҳ бошад.
  • Хати port-share localhost 80 ба шумо имкон медиҳад, ки трафики мизоҷеро, ки дар бандари 1194 ворид мешавад, ба веб-сервери маҳаллӣ, ки дар бандари 80 гӯш мекунад, равона кунед. (Ин агар шумо хоҳед, ки сервери вебро барои санҷиши VPN-и худ истифода баред, муфид хоҳад буд.) Ин танҳо кор мекунад. пас, вақте ки протоколи tcp интихоб карда мешавад.
  • Корбар ҳеҷ кас ва хатҳои гурӯҳи ғайригурӯҳ бояд бо хориҷ кардани нуқтаҳои вергул (;) фаъол карда шаванд. Маҷбур кардани мизоҷони дурдаст ба кор ҳамчун ҳеҷ кас ва ҳеҷ гурӯҳ кафолат медиҳад, ки сеансҳо дар сервер беимтиёз бошанд.
  • log муайян мекунад, ки сабтҳои ҷории гузориш ҳар дафъа оғоз шудани OpenVPN сабтҳои кӯҳнаро аз нав менависанд, дар ҳоле ки log-append сабтҳои навро ба файли сабти мавҷуда замима мекунад. Худи файли openvpn.log ба директорияи /etc/openvpn/ навишта шудааст.

Илова бар ин, аксар вақт ба файли конфигуратсия арзиши мизоҷ ба муштарӣ илова карда мешавад, то муштариёни сершумор ба ғайр аз сервери OpenVPN якдигарро бубинанд. Агар шумо аз конфигуратсияи худ қаноатманд бошед, шумо метавонед сервери OpenVPN-ро оғоз кунед:

# systemctl start openvpn

Бо сабаби тағйир ёфтани муносибатҳои байни OpenVPN ва systemd, баъзан метавонад барои оғоз кардани хидмат синтаксиси зерин талаб карда шавад: systemctl start openvpn@server.

Иҷрои IP Adr барои рӯйхат кардани интерфейсҳои шабакаи сервери шумо акнун бояд истинод ба интерфейси нав бо номи tun0 бароварда шавад. OpenVPN онро барои хидматрасонии муштариёни воридотӣ эҷод мекунад:

$ ip addr
[...]
4: tun0: mtu 1500 qdisc [...]
      link/none
      inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
          valid_lft forever preferred_lft forever

Пеш аз он ки ҳама чиз пурра кор кунад, ба шумо лозим меояд, ки серверро бозоғоз намоед. Истгоҳи навбатӣ компютери муштарӣ аст.

10.1.2. Танзими муштарии OpenVPN

Одатан, нақбҳо бо ҳадди аққал ду баромадгоҳ сохта мешаванд (вагарна мо онҳоро ғор меномем). OpenVPN-и дуруст танзимшуда дар сервер трафикро дар дохили нақб ва берун аз як тараф равона мекунад. Аммо ба шумо инчунин як нармафзоре лозим мешавад, ки дар тарафи муштарӣ, яъне дар канори дигари нақб кор мекунанд.

Дар ин бахш, ман ба таври дастӣ насб кардани баъзе намуди компютерҳои Linux барои ҳамчун муштарии OpenVPN тамаркуз мекунам. Аммо ин ягона роҳе нест, ки ин имконият ба даст меояд. OpenVPN барномаҳои муштариро дастгирӣ мекунад, ки онҳоро дар мизи корӣ ва ноутбукҳои дорои Windows ё macOS, инчунин смартфонҳо ва планшетҳои Android ва iOS насб кардан ва истифода бурдан мумкин аст. Барои тафсилот ба openvpn.net нигаред.

Бастаи OpenVPN бояд дар мошини муштарӣ насб карда шавад, зеро он дар сервер насб карда шудааст, гарчанде ки дар ин ҷо ба Easy-rsa лозим нест, зеро калидҳои истифодакардаи шумо аллакай мавҷуданд. Шумо бояд файли қолаби client.conf-ро ба феҳристи /etc/openvpn/, ки навакак сохтаед, нусхабардорӣ кунед. Ин дафъа файл zip карда намешавад, аз ин рӯ фармони муқаррарии cp корро хуб иҷро мекунад:

# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf 
  /etc/openvpn/

Аксарияти танзимот дар файли client.conf-и шумо хеле фаҳмо хоҳанд буд: онҳо бояд ба арзишҳои сервер мувофиқат кунанд. Тавре ки шумо аз файли мисоли зерин мебинед, параметри беназири дурдаст 192.168.1.23 1194 мебошад, ки ба муштарӣ суроғаи IP-и серверро мегӯяд. Боз боварӣ ҳосил кунед, ки ин суроғаи сервери шумост. Шумо инчунин бояд компютери муштариро маҷбур кунед, ки ҳаққонияти сертификати серверро тафтиш кунад, то ҳамлаи эҳтимолии одам дар миёнаро пешгирӣ кунад. Яке аз роҳҳои ин илова кардани сервери remote-cert-tls аст (Рӯйхати 10.3).

Китоби "Linux дар амал"
Шумо ҳоло метавонед ба директорияи /etc/openvpn/ равед ва калидҳои сертификатсияро аз сервер истихроҷ кунед. Суроғаи IP-и сервер ё номи доменро дар мисол бо арзишҳои худ иваз кунед:

Китоби "Linux дар амал"
То он даме, ки шумо OpenVPN-ро дар муштарӣ иҷро кунед, ҳеҷ чизи ҳаяҷоновар рӯй нахоҳад дод. Азбаски шумо бояд якчанд далелҳоро гузаронед, шумо онро аз сатри фармон иҷро мекунед. Далели --tls-client ба OpenVPN мегӯяд, ки шумо ҳамчун муштарӣ амал карда, тавассути рамзгузории TLS пайваст мешавед ва --config ба файли конфигуратсияи шумо ишора мекунад:

# openvpn --tls-client --config /etc/openvpn/client.conf

Натиҷаи фармонро бодиққат хонед, то боварӣ ҳосил кунед, ки шумо дуруст пайваст кардаед. Агар бори аввал чизе хато кунад, он метавонад аз сабаби номувофиқатии танзимот байни файлҳои конфигуратсияи сервер ва муштарӣ ё мушкилоти пайвастшавӣ/сипари девор бошад. Инҳоянд чанд маслиҳат оид ба ҳалли мушкилот.

  • Натиҷаи амалиёти OpenVPN-ро дар муштарӣ бодиққат хонед. Он аксар вақт маслиҳатҳои арзишмандро дар бораи он ки чӣ кор кардан мумкин нест ва чаро.
  • Паёмҳои хатогиро дар файлҳои openvpn.log ва openvpn-status.log дар феҳристи /etc/openvpn/ дар сервер санҷед.
  • Сабтҳои системаро дар сервер ва муштарӣ барои паёмҳои марбут ба OpenVPN ва вақтдор санҷед. (journalctl -ce сабтҳои охиринро нишон медиҳад.)
  • Боварӣ ҳосил кунед, ки шумо дар байни сервер ва муштарӣ пайвасти фаъоли шабакавӣ доред (бештар дар ин бора дар боби 14).

Дар бораи муаллиф

Дэвид Клинтон - мудири система, муаллим ва нависанда. Вай барои бисёр фанҳои муҳими техникӣ, аз ҷумла системаҳои Linux, роёниши абрӣ (махсусан AWS) ва технологияҳои контейнерӣ, аз қабили Docker, идора, дар бораи он навишта ва эҷод кардааст. Вай китобро навишт, ки Amazon Web Services-ро дар як моҳи хӯроки нисфирӯзӣ омӯзед (Маннинг, 2017). Бисёре аз курсҳои омӯзишии видеоии ӯро дар Pluralsight.com пайдо кардан мумкин аст ва истинод ба китобҳои дигари ӯ (дар бораи маъмурияти Linux ва виртуализатсияи сервер) дар инҷо дастрас аст. bootstrap-it.com.

» Тафсилоти бештар дар бораи китобро метавонед дар ин ҷо пайдо кунед вебсайти ношир
» Мундариҷа
» Иқтибос

Барои Khabrozhiteley 25% тахфиф бо истифода аз купон - Linux
Ҳангоми пардохти версияи коғазии китоб, китоби электронӣ тавассути почтаи электронӣ фиристода мешавад.

Манбаъ: will.com

Илова Эзоҳ