ตั้งค่าเครือข่ายส่วนตัวของคุณเองด้วย OpenVPN

Vultr เสนอการเชื่อมต่อเครือข่ายส่วนตัวที่ยอดเยี่ยมสำหรับเซิร์ฟเวอร์ที่ทำงานในสถานที่เดียวกัน แต่บางครั้งคุณต้องการให้เซิร์ฟเวอร์สองเครื่องในประเทศ / ศูนย์ข้อมูลต่าง ๆ สามารถสื่อสารได้อย่างเป็นส่วนตัวและปลอดภัย บทช่วยสอนนี้จะแสดงให้คุณเห็นว่าจะบรรลุผลอย่างไรด้วยความช่วยเหลือของ OpenVPN ระบบปฏิบัติการที่ใช้ที่นี่คือ Debian และ CentOS เพียงเพื่อแสดงให้คุณเห็นสองการกำหนดค่าที่แตกต่างกัน สิ่งนี้สามารถปรับเปลี่ยนได้อย่างง่ายดายสำหรับ Debian -> Debian, Ubuntu -> FreeBSD เป็นต้น

  • เครื่อง 1: Debian จะทำหน้าที่เป็นเซิร์ฟเวอร์ (ที่ตั้ง: NL)
  • เครื่อง 2: CentOS จะทำหน้าที่เป็นลูกค้า (ที่ตั้ง: FR)

เครื่องจักร 1

เริ่มบนเครื่อง 1 โดยติดตั้ง OpenVPN:

apt-get install openvpn

จากนั้นคัดลอกการกำหนดค่าตัวอย่างและเครื่องมือสำหรับสร้างคีย์easy-rsaไปที่/etc/openvpn:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn

ค่าเริ่มต้นสำหรับคีย์ของคุณไม่ปลอดภัยอย่างแน่นอนอีกต่อไปเพื่อแก้ไขสิ่งที่เปิดอยู่/etc/openvpn/easy-rsa/2.0/varsด้วยโปรแกรมแก้ไขข้อความที่คุณโปรดปรานและแก้ไขบรรทัดต่อไปนี้:

export KEY_SIZE=4096

ถัดไปตรวจสอบให้แน่ใจว่ามีการโหลดค่าลงในเซสชันปัจจุบันของคุณล้างข้อมูลคีย์ที่มีอยู่ในที่สุดและสร้างหน่วยงานออกใบรับรองของคุณ:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-ca

คุณจะได้รับแจ้งข้อมูล ทำให้ชีวิตของคุณง่ายขึ้นโดยการให้ข้อมูลเกี่ยวกับเซิร์ฟเวอร์ของคุณตัวอย่างเช่นที่ตั้งอยู่และ FQDN คืออะไร / จะเป็นอย่างไร สิ่งนี้มีประโยชน์เมื่อคุณต้องแก้ไขปัญหา:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [changeme]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

ความจำเป็นอีกประการคือพารามิเตอร์สำหรับการแลกเปลี่ยนคีย์ Diffie-Hellman จำเป็นต้องสร้างสิ่งเหล่านั้นด้วย:

./build-dh

สำคัญ : build-dhคำสั่งเป็นกระบวนการที่ค่อนข้างซับซ้อนซึ่งอาจใช้เวลาถึงสิบนาทีขึ้นอยู่กับทรัพยากรของเซิร์ฟเวอร์ของคุณ

เพื่อปรับปรุงความปลอดภัยของการเชื่อมต่อนี้เราจะสร้างความลับคงที่ที่จะต้องมีการกระจายในหมู่ลูกค้าทั้งหมด:

mkdir /etc/openvpn/keys
openvpn --genkey --secret /etc/openvpn/keys/ta.key

ตอนนี้คุณสามารถสร้างคีย์สำหรับเซิร์ฟเวอร์:

./build-key-server server1

คำสั่งนี้จะขอข้อมูลบางอย่าง:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [server1]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

ขั้นตอนสุดท้ายคือการเซ็นชื่อคำขอใบรับรองที่เพิ่งสร้างขึ้นด้วยคีย์ของ CA:

1 out of 1 certificate requests certified, commit? [y/n]y

คัดลอกคีย์และใบรับรองที่จำเป็นไปยังโฟลเดอร์อื่น:

cd /etc/openvpn/easy-rsa/2.0/keys
cp dh4096.pem ca.crt server1.crt server1.key /etc/openvpn/keys/
chmod 700 /etc/openvpn/keys
chmod 600 /etc/openvpn/keys/*

ตอนนี้สำหรับการกำหนดค่าให้เปิดเครื่องรูดมัน ...

cd /etc/openvpn
gunzip server.conf.gz

... และเปิดผลลัพธ์server.confด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ การกำหนดค่าควรมีลักษณะคล้ายกับสิ่งนี้:

port 1194
proto udp
dev tun

ca keys/ca.crt
cert keys/server1.crt
key keys/server1.key 
dh keys/dh4096.pem
server 10.8.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Uncomment this if you have multiple clients
# and want them to be able to see each other
;client-to-client

keepalive 10 120
tls-auth keys/ta.key 0 

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
comp-lzo

user nobody
group nogroup

persist-key
persist-tun
verb 3
mute 20

หลังจากรีสตาร์ทบริการคุณควรดูบันทึกของคุณเล็กน้อย ...

service openvpn restart && tail -f /var/log/syslog

... เพื่อให้แน่ใจว่าทุกอย่างทำงานได้ หากไม่พบข้อผิดพลาดคุณสามารถสร้างคีย์สำหรับเซิร์ฟเวอร์ที่สองของคุณ:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key server2

อีกครั้งคุณจะได้รับแจ้งข้อมูล:

Country Name (2 letter code) [US]:FR
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter FR
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) 
[server2]:yourserver2.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

ตอนนี้คุณต้องถ่ายโอนไฟล์ที่จำเป็นไปยังเซิร์ฟเวอร์ที่สองของคุณเข้ารหัสโดยเฉพาะอย่างยิ่ง:

cd /etc/openvpn/easy-rsa/2.0/keys
cp /etc/openvpn/keys/ta.key .
tar -cf vpn.tar ca.crt server2.crt server2.key ta.key
scp vpn.tar yourusername@server2:~/
rm vpn.tar

เครื่องจักร 2

ใช้เวลาในการสลับไปยัง SSH การเชื่อมต่อของคุณเซิร์ฟเวอร์ที่สอง ขั้นตอนแรกคือการติดตั้ง OpenVPN ...

yum install openvpn

... firewalldและที่จะยกเลิกการใช้งาน การแทนที่จะเป็น iptables ธรรมดา

systemctl stop firewalld
systemctl disable firewalld

คลายไฟล์เก็บถาวรที่คุณเพิ่งย้ายไปยังเซิร์ฟเวอร์และตั้งค่าการอนุญาตบนไฟล์:

cd /etc/openvpn
mkdir keys
chmod 700 keys
cd keys
tar -xf ~/vpn.tar -C .
chmod 600 *

สร้าง/etc/openvpn/client.confด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ ควรมีลักษณะเช่นนี้:

client
dev tun
proto udp

remote yourserver yourport
resolv-retry infinite
nobind
user nobody
group openvpn


persist-key
persist-tun

ca keys/ca.crt
cert keys/server2.crt
key keys/.key

ns-cert-type server
tls-auth keys/ta.key 1

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384

remote-cert-tls server

comp-lzo
verb 3
mute 20

ขั้นตอนสุดท้ายคือการเริ่มและเปิดใช้งานบริการ:

systemctl start openvpn@client.service
systemctl enable openvpn@client.service

หากทุกอย่างทำงานแล้วคุณไม่ควรมีปัญหากับเซิร์ฟเวอร์แรก:

PING 10.8.100.1 (10.8.100.1) 56(84) bytes of data.
64 bytes from 10.8.100.1: icmp_seq=1 ttl=64 time=17.8 ms
64 bytes from 10.8.100.1: icmp_seq=2 ttl=64 time=17.9 ms
64 bytes from 10.8.100.1: icmp_seq=3 ttl=64 time=17.8 ms

ตอนนี้คุณมีการเชื่อมต่อส่วนตัวผ่านอินเทอร์เน็ต!

หากคุณต้องการแก้ไขข้อผิดพลาดใด ๆ ลองตรวจสอบบันทึกด้วยคำสั่งต่อไปนี้:

journalctl -xn

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true