Difference between revisions of "CMU OpenVPN Implementation"

From CMU ITSC Network
Line 51: Line 51:
 
สร้างไฟล์ '''/etc/openvpn/server.conf''' ดังนี้
 
สร้างไฟล์ '''/etc/openvpn/server.conf''' ดังนี้
 
<syntaxhighlight lang=text>
 
<syntaxhighlight lang=text>
fsdf
+
port 443
sdfdsf
+
proto tcp
 +
dev tun
 +
ca ca.crt
 +
cert server.crt
 +
key server.key
 +
dh dh2048.pem
 +
server 10.10.10.0 255.255.255.0 #ระบุ ip network ที่ต้องการ
 +
ifconfig-pool-persist /var/log/openvpn/ipp.txt
 +
push "redirect-gateway def1 bypass-dhcp"
 +
duplicate-cn
 +
keepalive 10 120
 +
tls-auth ta.key 0
 +
cipher AES-256-CBC
 +
user nobody
 +
group nogroup
 +
persist-key
 +
persist-tun
 +
status /var/log/openvpn/openvpn-status.log
 +
log /var/log/openvpn/openvpn.log
 +
verb 3
 +
plugin /etc/openvpn/radius/radiusplugin.so /etc/openvpn/radius/radius.cnf
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 08:55, 13 December 2018

บทนำ

บทความนี้เป็นการ implement OpenVPN Server ที่ให้ user log in ด้วย account ที่อยู่บน directory ขององค์กรโดยใช้ protocol radius โดยตัวอย่างจะใช้ server เป็น Ubuntu 18.04

การติดตั้ง

sudo add-apt-repository universe
sudo apt-get update && sudo apt-get install openvpn easy-rsa

การตั้งค่า Server

สร้าง directory สำหรับเก็บ CA(certificate authority), key pairs,DH, tls-auth-key

make-cadir certificates && cd certificates

ตั้งค่าตัวแปรสำหรับสร้าง CA

แก้ไขไฟล์ vars ในส่วนของตัวแปรต่อไปนี้ตามต้องการ

export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"

จากนั้นทำการประกาศค่าตัวแปร

ln -s openssl-1.0.0.cnf openssl.cnf
source vars

สร้าง CA

./clean-all && ./build-ca

สร้าง Certificate/Key pairs

./build-key-server server

สร้าง DH

./build-dh

สร้าง shared secret

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

Copy CA, Certificate/Key pairs และ share secret

sudo cp keys/{server.crt,server.key,ca.crt,dh2048.pem,ta.key} /etc/openvpn

ตั้งค่า OpenVPN server

สร้างไฟล์ /etc/openvpn/server.conf ดังนี้

port 443
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.10.10.0 255.255.255.0 #ระบุ ip network ที่ต้องการ
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
duplicate-cn
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
plugin /etc/openvpn/radius/radiusplugin.so /etc/openvpn/radius/radius.cnf