Aklat na "Linux in Action"

Aklat na "Linux in Action" Kumusta, mga residente ng Khabro! Sa aklat, inilalarawan ni David Clinton ang 12 totoong buhay na proyekto, kabilang ang pag-automate ng iyong backup at recovery system, pag-set up ng isang Dropbox-style na personal na file cloud, at paglikha ng iyong sariling MediaWiki server. I-explore mo ang virtualization, disaster recovery, security, backup, DevOps, at system troubleshooting sa pamamagitan ng mga kawili-wiling case study. Ang bawat kabanata ay nagtatapos sa isang pagsusuri ng mga pinakamahusay na kagawian, isang glossary ng mga bagong termino, at mga pagsasanay.

Sipi β€œ10.1. Paglikha ng OpenVPN tunnel"

Marami na akong napag-usapan tungkol sa pag-encrypt sa aklat na ito. Mapoprotektahan ng SSH at SCP ang data na inilipat sa mga malalayong koneksyon (Kabanata 3), mapoprotektahan ng pag-encrypt ng file ang data habang nakaimbak ito sa server (Kabanata 8), at mapoprotektahan ng mga TLS/SSL certificate ang data na inilipat sa pagitan ng mga site at browser ng kliyente (Kabanata 9) . Ngunit kung minsan ang iyong data ay kailangang protektahan sa mas malawak na hanay ng mga koneksyon. Halimbawa, marahil ang ilan sa mga miyembro ng iyong koponan ay nagtatrabaho sa kalsada habang kumokonekta sa Wi-Fi sa pamamagitan ng mga pampublikong hotspot. Talagang hindi mo dapat ipagpalagay na ang lahat ng naturang mga access point ay ligtas, ngunit ang iyong mga tao ay nangangailangan ng isang paraan upang kumonekta sa mga mapagkukunan ng kumpanyaβ€”at doon makakatulong ang isang VPN.

Ang isang maayos na idinisenyong VPN tunnel ay nagbibigay ng direktang koneksyon sa pagitan ng mga malalayong kliyente at ng server sa paraang nagtatago ng data habang naglalakbay ito sa isang hindi secure na network. E ano ngayon? Nakakita ka na ng maraming tool na makakagawa nito gamit ang pag-encrypt. Ang tunay na halaga ng isang VPN ay na sa pamamagitan ng pagbubukas ng isang tunel, maaari mong ikonekta ang mga malalayong network na parang lahat sila ay lokal. Sa isang kahulugan, gumagamit ka ng bypass.

Gamit ang pinalawak na network na ito, maaaring gawin ng mga administrator ang kanilang trabaho sa kanilang mga server mula sa kahit saan. Ngunit higit sa lahat, ang isang kumpanyang may mga mapagkukunan na nakakalat sa maraming lokasyon ay maaaring gawin silang lahat na nakikita at naa-access sa lahat ng mga pangkat na nangangailangan ng mga ito, nasaan man sila (Figure 10.1).

Ang tunel mismo ay hindi ginagarantiyahan ang seguridad. Ngunit ang isa sa mga pamantayan ng pag-encrypt ay maaaring isama sa istraktura ng network, na makabuluhang pinatataas ang antas ng seguridad. Ang mga tunnel na ginawa gamit ang open source na OpenVPN package ay gumagamit ng parehong TLS/SSL encryption na nabasa mo na. Ang OpenVPN ay hindi lamang ang opsyon sa tunneling na magagamit, ngunit ito ay isa sa mga pinakakilala. Ito ay itinuturing na bahagyang mas mabilis at mas secure kaysa sa alternatibong Layer 2 tunnel protocol na gumagamit ng IPsec encryption.

Gusto mo bang ligtas na makipag-usap ang lahat sa iyong team sa isa't isa habang nasa kalsada o nagtatrabaho sa iba't ibang gusali? Upang gawin ito, kailangan mong lumikha ng isang OpenVPN server upang payagan ang pagbabahagi ng application at pag-access sa kapaligiran ng lokal na network ng server. Para gumana ito, ang kailangan mo lang gawin ay magpatakbo ng dalawang virtual machine o dalawang container: isa para kumilos bilang server/host at isa para kumilos bilang client. Ang pagbuo ng VPN ay hindi isang simpleng proseso, kaya malamang na sulit na maglaan ng ilang minuto upang maisaisip ang malaking larawan.

Aklat na "Linux in Action"

10.1.1. Configuration ng OpenVPN Server

Bago ka magsimula, bibigyan kita ng ilang kapaki-pakinabang na payo. Kung ikaw mismo ang gagawa (at lubos kong inirerekumenda na gawin mo ito), malamang na makikita mo ang iyong sarili na nagtatrabaho sa maraming mga terminal window na nakabukas sa iyong Desktop, bawat isa ay nakakonekta sa ibang makina. May panganib na sa ilang mga punto ay ipasok mo ang maling command sa window. Upang maiwasan ito, maaari mong gamitin ang command ng hostname upang baguhin ang pangalan ng machine na ipinapakita sa command line sa isang bagay na malinaw na nagsasabi sa iyo kung nasaan ka. Kapag nagawa mo na ito, kakailanganin mong mag-log out sa server at mag-log in muli para magkabisa ang mga bagong setting. Ito ang hitsura nito:

Aklat na "Linux in Action"
Sa pamamagitan ng pagsunod sa diskarteng ito at pagbibigay ng naaangkop na mga pangalan sa bawat isa sa mga makina na ginagamit mo, madali mong masusubaybayan kung nasaan ka.

Pagkatapos gamitin ang hostname, maaari kang makatagpo ng nakakainis na Unable to Resolve Host OpenVPN-Server messages kapag nagsasagawa ng mga kasunod na command. Ang pag-update ng /etc/hosts file na may naaangkop na bagong hostname ay dapat malutas ang isyu.

Inihahanda ang iyong server para sa OpenVPN

Upang mai-install ang OpenVPN sa iyong server, kailangan mo ng dalawang pakete: openvpn at easy-rsa (upang pamahalaan ang proseso ng pagbuo ng susi ng pag-encrypt). Dapat munang i-install ng mga user ng CentOS ang epel-release repository kung kinakailangan, tulad ng ginawa mo sa Kabanata 2. Upang masubukan ang pag-access sa application ng server, maaari mo ring i-install ang Apache web server (apache2 sa Ubuntu at httpd sa CentOS).

Habang sine-set up mo ang iyong server, inirerekomenda ko ang pag-activate ng firewall na humaharang sa lahat ng port maliban sa 22 (SSH) at 1194 (default port ng OpenVPN). Ang halimbawang ito ay naglalarawan kung paano gagana ang ufw sa Ubuntu, ngunit sigurado akong naaalala mo pa rin ang CentOS firewalld program mula sa Kabanata 9:

# ufw enable
# ufw allow 22
# ufw allow 1194

Upang paganahin ang panloob na pagruruta sa pagitan ng mga interface ng network sa server, kailangan mong alisin sa komento ang isang linya (net.ipv4.ip_forward = 1) sa /etc/sysctl.conf file. Papayagan nito ang mga malalayong kliyente na mai-redirect kung kinakailangan kapag nakakonekta na sila. Upang gumana ang bagong opsyon, patakbuhin ang sysctl -p:

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

Ang kapaligiran ng iyong server ay ganap na ngayong na-configure, ngunit may isa pang bagay na dapat gawin bago ka maging handa: kakailanganin mong kumpletuhin ang mga sumusunod na hakbang (sasaklawin namin ang mga ito nang detalyado sa susunod).

  1. Gumawa ng set ng public key infrastructure (PKI) encryption key sa server gamit ang mga script na ibinigay kasama ng easy-rsa package. Sa esensya, ang OpenVPN server ay kumikilos din bilang sarili nitong certificate authority (CA).
  2. Maghanda ng naaangkop na mga susi para sa kliyente
  3. I-configure ang server.conf file para sa server
  4. I-set up ang iyong OpenVPN client
  5. Suriin ang iyong VPN

Pagbuo ng mga susi sa pag-encrypt

Upang mapanatiling simple ang mga bagay, maaari mong i-set up ang iyong pangunahing imprastraktura sa parehong makina kung saan tumatakbo ang OpenVPN server. Gayunpaman, karaniwang iminumungkahi ng mga pinakamahuhusay na kagawian sa seguridad ang paggamit ng hiwalay na CA server para sa mga deployment ng produksyon. Ang proseso ng pagbuo at pamamahagi ng mga pangunahing mapagkukunan ng pag-encrypt para sa paggamit sa OpenVPN ay inilalarawan sa Fig. 10.2.

Aklat na "Linux in Action"
Noong na-install mo ang OpenVPN, awtomatikong nalikha ang /etc/openvpn/ directory, ngunit wala pa rito. Ang mga openvpn at easy-rsa package ay may kasamang mga halimbawang template file na magagamit mo bilang batayan para sa iyong configuration. Upang simulan ang proseso ng sertipikasyon, kopyahin ang easy-rsa template directory mula sa /usr/share/ sa /etc/openvpn at lumipat sa easy-rsa/ directory:

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

Ang easy-rsa na direktoryo ay maglalaman na ngayon ng ilang mga script. Sa mesa Inililista ng 10.1 ang mga tool na gagamitin mo sa paggawa ng mga susi.

Aklat na "Linux in Action"

Ang mga operasyon sa itaas ay nangangailangan ng mga pribilehiyo sa ugat, kaya kailangan mong maging ugat sa pamamagitan ng sudo su.

Ang unang file na gagawin mo ay tinatawag na vars at naglalaman ng mga variable ng kapaligiran na ginagamit ng easy-rsa kapag bumubuo ng mga key. Kailangan mong i-edit ang file upang magamit ang iyong sariling mga halaga sa halip na ang mga default na halaga na naroroon na. Ito ang magiging hitsura ng aking file (Listing 10.1).

Listahan 10.1. Mga pangunahing fragment ng file /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"

Ang pagpapatakbo ng vars file ay ipapasa ang mga halaga nito sa kapaligiran ng shell, kung saan isasama sila sa mga nilalaman ng iyong mga bagong key. Bakit hindi gumagana ang sudo command sa kanyang sarili? Dahil sa unang hakbang ay ini-edit namin ang script na pinangalanang vars at pagkatapos ay ilapat ito. Ang paglalapat at nangangahulugan na ang vars file ay ipinapasa ang mga halaga nito sa kapaligiran ng shell, kung saan isasama ang mga ito sa mga nilalaman ng iyong mga bagong key.

Siguraduhing muling patakbuhin ang file gamit ang isang bagong shell upang makumpleto ang hindi natapos na proseso. Kapag tapos na ito, ipo-prompt ka ng script na magpatakbo ng isa pang script, clean-all, upang alisin ang anumang nilalaman sa /etc/openvpn/easy-rsa/keys/ directory:

Aklat na "Linux in Action"
Naturally, ang susunod na hakbang ay ang patakbuhin ang clean-all na script, na sinusundan ng build-ca, na gumagamit ng pkitool script upang lumikha ng root certificate. Hihilingin sa iyo na kumpirmahin ang mga setting ng pagkakakilanlan na ibinigay ng mga vars:

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

Susunod ay ang build-key-server script. Dahil gumagamit ito ng parehong script ng pkitool kasama ng isang bagong root certificate, makikita mo ang parehong mga tanong upang kumpirmahin ang paglikha ng key pair. Papangalanan ang mga susi batay sa mga argumentong ipinapasa mo, na, maliban kung nagpapatakbo ka ng maraming VPN sa makinang ito, ay karaniwang magiging server, tulad ng sa halimbawa:

# ./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

Gumagamit ang OpenVPN ng mga parameter na nabuo ng algorithm ng Diffie-Hellman (gamit ang build-dh) upang makipag-ayos sa pagpapatunay para sa mga bagong koneksyon. Ang file na ginawa dito ay hindi kailangang maging lihim, ngunit dapat mabuo gamit ang build-dh script para sa mga RSA key na kasalukuyang aktibo. Kung gagawa ka ng mga bagong RSA key sa hinaharap, kakailanganin mo ring i-update ang Diffie-Hellman file:

# ./build-dh

Mapupunta na ngayon ang iyong mga server side key sa /etc/openvpn/easy-rsa/keys/ directory, ngunit hindi ito alam ng OpenVPN. Bilang default, maghahanap ang OpenVPN ng mga susi sa /etc/openvpn/, kaya kopyahin ang mga ito:

# 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

Paghahanda ng mga Client Encryption Key

Gaya ng nakita mo na, ang TLS encryption ay gumagamit ng mga pares ng magkatugmang key: ang isa ay naka-install sa server at ang isa ay naka-install sa remote client. Nangangahulugan ito na kakailanganin mo ng mga susi ng kliyente. Ang aming matandang kaibigan na pkitool ay eksakto kung ano ang kailangan mo para dito. Sa halimbawang ito, kapag pinatakbo namin ang program sa /etc/openvpn/easy-rsa/ na direktoryo, ipinapasa namin ito ng argumento ng kliyente upang makabuo ng mga file na tinatawag na client.crt at client.key:

# ./pkitool client

Ang dalawang file ng kliyente, kasama ang orihinal na ca.crt file na nasa keys/ directory, ay dapat na ngayong ligtas na mailipat sa iyong kliyente. Dahil sa kanilang pagmamay-ari at mga karapatan sa pag-access, maaaring hindi ito ganoon kadali. Ang pinakasimpleng diskarte ay ang manu-manong kopyahin ang mga nilalaman ng source file (at walang iba kundi ang nilalamang iyon) sa isang terminal na tumatakbo sa desktop ng iyong PC (piliin ang teksto, i-right-click ito at piliin ang Kopyahin mula sa menu). Pagkatapos ay i-paste ito sa isang bagong file na may parehong pangalan na nilikha mo sa pangalawang terminal na konektado sa iyong kliyente.

Ngunit kahit sino ay maaaring mag-cut at magdikit. Sa halip, mag-isip bilang isang administrator dahil hindi ka palaging magkakaroon ng access sa GUI kung saan posible ang mga operasyong cut/paste. Kopyahin ang mga file sa home directory ng iyong user (upang ma-access ng remote scp operation ang mga ito), at pagkatapos ay gamitin ang chown para baguhin ang pagmamay-ari ng mga file mula sa root patungo sa isang regular na non-root user para maisagawa ang remote scp action. Tiyaking kasalukuyang naka-install at naa-access ang lahat ng iyong mga file. Ililipat mo sila sa kliyente mamaya:

# 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

Sa buong hanay ng mga encryption key na handa nang gamitin, kailangan mong sabihin sa server kung paano mo gustong gawin ang VPN. Ginagawa ito gamit ang server.conf file.

Pagbabawas ng bilang ng mga keystroke

Masyado bang ma-type? Ang pagpapalawak na may mga bracket ay makakatulong na bawasan ang anim na command na ito sa dalawa. Sigurado ako na maaari mong pag-aralan ang dalawang halimbawang ito at mauunawaan kung ano ang nangyayari. Higit sa lahat, mauunawaan mo kung paano ilapat ang mga prinsipyong ito sa mga operasyong kinasasangkutan ng sampu o kahit daan-daang elemento:

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

Pagse-set up ng server.conf file

Paano mo malalaman kung ano dapat ang hitsura ng server.conf file? Tandaan ang madaling-rsa na template ng direktoryo na kinopya mo mula sa /usr/share/? Noong na-install mo ang OpenVPN, naiwan sa iyo ang isang naka-compress na file ng template ng pagsasaayos na maaari mong kopyahin sa /etc/openvpn/. Gagawin ko ang katotohanan na ang template ay naka-archive at ipakilala sa iyo ang isang kapaki-pakinabang na tool: zcat.

Alam mo na ang tungkol sa pagpi-print ng text content ng isang file sa screen gamit ang cat command, ngunit paano kung ang file ay na-compress gamit ang gzip? Maaari mong palaging i-unzip ang file at pagkatapos ay masayang ilalabas ito ng pusa, ngunit iyon ay isa o dalawa pang hakbang kaysa kinakailangan. Sa halip, tulad ng nahulaan mo, maaari kang mag-isyu ng zcat command upang i-load ang hindi naka-pack na teksto sa memorya sa isang hakbang. Sa sumusunod na halimbawa, sa halip na mag-print ng text sa screen, ire-redirect mo ito sa isang bagong file na tinatawag na server.conf:

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

Isantabi natin ang malawak at kapaki-pakinabang na dokumentasyong kasama ng file at tingnan kung ano ang maaaring hitsura nito kapag tapos ka nang mag-edit. Tandaan na ang semicolon (;) ay nagsasabi sa OpenVPN na huwag basahin o isagawa ang susunod na linya (Listing 10.2).

Aklat na "Linux in Action"
Tingnan natin ang ilan sa mga setting na ito.

  • Bilang default, tumatakbo ang OpenVPN sa port 1194. Maaari mong baguhin ito, halimbawa, upang higit pang itago ang iyong mga aktibidad o maiwasan ang mga salungatan sa iba pang aktibong tunnel. Dahil ang 1194 ay nangangailangan ng kaunting koordinasyon sa mga kliyente, pinakamahusay na gawin ito sa ganitong paraan.
  • Gumagamit ang OpenVPN ng alinman sa Transmission Control Protocol (TCP) o User Datagram Protocol (UDP) upang magpadala ng data. Maaaring medyo mabagal ang TCP, ngunit mas maaasahan ito at mas malamang na mauunawaan ng mga application na tumatakbo sa magkabilang dulo ng tunnel.
  • Maaari mong tukuyin ang dev tun kapag gusto mong lumikha ng isang mas simple, mas mahusay na IP tunnel na nagdadala ng nilalaman ng data at wala nang iba pa. Kung, sa kabilang banda, kailangan mong ikonekta ang maramihang mga interface ng network (at ang mga network na kinakatawan nila), na lumilikha ng isang Ethernet bridge, kailangan mong pumili ng dev tap. Kung hindi mo maintindihan kung ano ang ibig sabihin ng lahat ng ito, gamitin ang tun argument.
  • Ang susunod na apat na linya ay nagbibigay sa OpenVPN ng mga pangalan ng tatlong authentication file sa server at ang dh2048 options file na iyong ginawa kanina.
  • Ang linya ng server ay nagtatakda ng hanay at subnet mask na gagamitin upang magtalaga ng mga IP address sa mga kliyente sa pag-login.
  • Ang opsyonal na push parameter na "ruta 10.0.3.0 255.255.255.0" ay nagbibigay-daan sa mga malalayong kliyente na ma-access ang mga pribadong subnet sa likod ng server. Ang paggawa ng gawaing ito ay nangangailangan din ng pag-set up ng network sa server mismo upang malaman ng pribadong subnet ang tungkol sa OpenVPN subnet (10.8.0.0).
  • Ang linya ng port-share localhost 80 ay nagpapahintulot sa iyo na i-redirect ang trapiko ng kliyente na darating sa port 1194 sa isang lokal na web server na nakikinig sa port 80. (Magiging kapaki-pakinabang ito kung gagamitin mo ang web server upang subukan ang iyong VPN.) Gumagana lamang ito pagkatapos ay kapag ang tcp protocol ay napili.
  • Ang user nobody at group nogroup na mga linya ay dapat paganahin sa pamamagitan ng pag-alis ng mga semicolon (;). Ang pagpilit sa mga malalayong kliyente na tumakbo bilang walang tao at nogroup ay nagsisiguro na ang mga session sa server ay walang pribilehiyo.
  • Tinutukoy ng log na ang kasalukuyang log entries ay mag-o-overwrite ng mga lumang entry sa tuwing magsisimula ang OpenVPN, samantalang ang log-append ay nagdaragdag ng mga bagong entry sa kasalukuyang log file. Ang openvpn.log file mismo ay nakasulat sa /etc/openvpn/ directory.

Bukod pa rito, madalas ding idinaragdag ang value ng client-to-client sa configuration file para makita ng maraming kliyente ang isa't isa bilang karagdagan sa OpenVPN server. Kung nasiyahan ka sa iyong configuration, maaari mong simulan ang OpenVPN server:

# systemctl start openvpn

Dahil sa pagbabago ng katangian ng relasyon sa pagitan ng OpenVPN at systemd, maaaring kailanganin kung minsan ang sumusunod na syntax upang magsimula ng isang serbisyo: systemctl start openvpn@server.

Ang pagpapatakbo ng ip addr upang ilista ang mga interface ng network ng iyong server ay dapat na ngayong mag-output ng isang link sa isang bagong interface na tinatawag na tun0. Gagawin ito ng OpenVPN upang maghatid ng mga papasok na kliyente:

$ 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

Maaaring kailanganin mong i-reboot ang server bago magsimulang gumana nang buo ang lahat. Ang susunod na hinto ay ang computer ng kliyente.

10.1.2. Pag-configure ng OpenVPN client

Ayon sa kaugalian, ang mga tunnel ay itinayo na may hindi bababa sa dalawang labasan (kung hindi, tatawagin natin silang mga kuweba). Ang isang maayos na na-configure na OpenVPN sa server ay nagdidirekta ng trapiko sa loob at labas ng tunnel sa isang gilid. Ngunit kakailanganin mo rin ng ilang software na tumatakbo sa panig ng kliyente, iyon ay, sa kabilang dulo ng tunel.

Sa seksyong ito, magtutuon ako sa manu-manong pag-set up ng ilang uri ng Linux computer para kumilos bilang isang OpenVPN client. Ngunit hindi ito ang tanging paraan kung saan magagamit ang pagkakataong ito. Sinusuportahan ng OpenVPN ang mga application ng kliyente na maaaring mai-install at magamit sa mga desktop at laptop na tumatakbo sa Windows o macOS, pati na rin sa mga Android at iOS na smartphone at tablet. Tingnan ang openvpn.net para sa mga detalye.

Ang OpenVPN package ay kailangang mai-install sa client machine dahil ito ay naka-install sa server, bagama't hindi na kailangan ang easy-rsa dito dahil ang mga key na iyong ginagamit ay mayroon na. Kailangan mong kopyahin ang client.conf template file sa /etc/openvpn/ directory na kakagawa mo lang. Sa pagkakataong ito ang file ay hindi mai-zip, kaya ang regular na utos ng cp ay gagawin ng maayos:

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

Karamihan sa mga setting sa iyong client.conf file ay magiging maliwanag sa sarili: dapat silang tumugma sa mga halaga sa server. Tulad ng nakikita mo mula sa sumusunod na halimbawang file, ang natatanging parameter ay remote 192.168.1.23 1194, na nagsasabi sa kliyente ng IP address ng server. Muli, tiyaking ito ang iyong server address. Dapat mo ring pilitin ang computer ng kliyente na i-verify ang pagiging tunay ng sertipiko ng server upang maiwasan ang posibleng pag-atake ng man-in-the-middle. Ang isang paraan upang gawin ito ay ang pagdaragdag ng line remote-cert-tls server (Listing 10.3).

Aklat na "Linux in Action"
Maaari ka na ngayong pumunta sa /etc/openvpn/ directory at kunin ang mga certification key mula sa server. Palitan ang IP address ng server o domain name sa halimbawa ng iyong mga halaga:

Aklat na "Linux in Action"
Walang kapana-panabik na malamang na mangyayari hanggang sa patakbuhin mo ang OpenVPN sa kliyente. Dahil kailangan mong magpasa ng ilang argumento, gagawin mo ito mula sa command line. Ang --tls-client argument ay nagsasabi sa OpenVPN na ikaw ay kikilos bilang isang kliyente at kumonekta sa pamamagitan ng TLS encryption, at --config ay tumuturo sa iyong configuration file:

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

Basahin nang mabuti ang output ng command upang matiyak na nakakonekta ka nang tama. Kung may nangyaring mali sa unang pagkakataon, maaaring dahil ito sa hindi pagkakatugma sa mga setting sa pagitan ng mga file ng configuration ng server at client o isang isyu sa koneksyon/firewall sa network. Narito ang ilang tip sa pag-troubleshoot.

  • Maingat na basahin ang output ng OpenVPN operation sa client. Madalas itong naglalaman ng mahalagang payo sa kung ano ang eksaktong hindi maaaring gawin at bakit.
  • Suriin ang mga mensahe ng error sa openvpn.log at openvpn-status.log file sa /etc/openvpn/ directory sa server.
  • Suriin ang mga log ng system sa server at kliyente para sa mga mensaheng nauugnay sa OpenVPN at naka-time. (Ipapakita ng journalctl -ce ang pinakabagong mga entry.)
  • Tiyaking mayroon kang aktibong koneksyon sa network sa pagitan ng server at ng kliyente (higit pa tungkol dito sa Kabanata 14).

Tungkol sa May-akda

David Clinton - system administrator, guro at manunulat. Siya ay nangasiwa, nagsulat tungkol, at lumikha ng mga materyal na pang-edukasyon para sa maraming mahahalagang teknikal na disiplina, kabilang ang mga Linux system, cloud computing (lalo na ang AWS), at mga teknolohiya ng container gaya ng Docker. Isinulat niya ang aklat na Learn Amazon Web Services in a Month of Lunches (Manning, 2017). Marami sa kanyang mga kurso sa pagsasanay sa video ay matatagpuan sa Pluralsight.com, at ang mga link sa kanyang iba pang mga libro (sa Linux administration at server virtualization) ay makukuha sa bootstrap-it.com.

Β» Higit pang mga detalye tungkol sa aklat ay matatagpuan sa website ng publisher
Β» Talaan ng nilalaman
Β» Sipi

Para sa Khabrozhiteley 25% na diskwento gamit ang kupon - Linux
Sa pagbabayad ng papel na bersyon ng aklat, isang elektronikong libro ang ipapadala sa pamamagitan ng e-mail.

Pinagmulan: www.habr.com

Magdagdag ng komento