Hôm nay mình sẽ hướng dẫn các bạn cách cài đặt OpenVPN trên ubuntu đơn giản và chi tiết nhất bằng hình ảnh
Mình sẽ sử dụng vps chưa cài để hướng dẫn các bạn
Cách 1:
Cấu hình openvpn
Trước khi cấu hình cho openvpn thì bạn cần phải cập nhật ubuntu 14.04 trước
Bạn chạy lệnh sau
Cài đặt OpenVPN và Easy-RSA bạn chạy lệnh sau
Khi được hỏi Do you want to continue? [Y/n] thì bạn nhập vào là y
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8803%2F17226191694_887251751f_o.png&hash=bba1bd91951230e585a55820942c19e4)
Bạn chạy lệnh sau để giải nén tập tin cấu hình OpenVPN
Bạn chạy lệnh sau vào sửa như hình
Mặc định là dh dh1024.pem bạn sửa thành dh dh2048.pem
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8874%2F17228323383_5f4662b4fc_o.png&hash=0f3646136d3e47727e42b43d14389171)
Tìm tiếp
Và chỉ để lại
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5469%2F17661175150_01129ee042_o.png&hash=81547c1ef6dc6733a28e1c27ad8cd665)
Tìm tiếp
Và chỉ để lại
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5338%2F17848709535_67a1cfe4a3_o.png&hash=07281fe361c0aab358b38163bd1e31ca)
Tìm tiếp
Và chỉ để lại
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8785%2F17228331173_403b48231c_o.png&hash=a3199a0ad41d13977487daea40d0ac0f)
Chuyển tiếp gói
Bạn chạy lệnh sau
Để chuyển tiếp vẫn hoạt động khi bạn khởi động lại vps bạn chạy lệnh sau
Bạn tìm
Và sửa thành
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5327%2F17849203191_a0ef5cf02d_o.png&hash=8df7dee89c84b2855958642e67c7fe46)
Bật ufw
Bạn chạy lần lượt các lệnh sau
Khi bạn chạy lệnh trên cũng đồng nghĩa bạn đã sử dụng OpenVPN trên UDP vì thế ufw cũng phải cho phép UDP truy cập trên cổng 1194
Bạn có thể thay cổng 1194 thành 8484 hay 9201... mà bạn thích
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8798%2F17849205651_ef2a58c4f9_o.png&hash=15ddd34be88ab297d7b3d3fe808c7443)
Cấu hình chuyển tiếp ufw
Bạn chạy lệnh sau
Tìm DEFAULT_FORWARD_POLICY="DROP" sửa thành DEFAULT_FORWARD_POLICY="ACCEPT"
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8864%2F17226211144_1dc956d677_o.png&hash=2e722996bf1578a4081056d8321b8955)
Thêm quy tắc cho ufw
Bạn chạy lệnh sau
Và dán vào
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5445%2F17226214024_2abe6b1f42_o.png&hash=0dfd0dcfdcb21ca0f4163a442da6aa92)
Cho phép ufw
Bạn chạy lệnh sau
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5329%2F17226217364_82c83d03b4_o.png&hash=3bd6cfa226743852f485899a911c1122)
Khi được hỏi
Command may disrupt existing ssh connections. Proceed with operation (y|n)? thì bạn chọn y
Để kiểm tra trạng thái bạn chạy tiếp lệnh
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7678%2F17661198560_e8d7e4ca0d_o.png&hash=192cb4430195d6d3a5427ca8cd2e508e)
Tạo chứng chỉ ủy quyền, chứng chỉ phía server và key
Bạn chạy lần lượt các lệnh sau
Và điền nội dung mà bạn thích vào trong ngoặc kép như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7708%2F17822848636_121a9a39f4_o.png&hash=b2ed92382de4401bde043c0bc4c38e06)
Chạy lần lượt các lệnh sau
Bạn nhấn Enter để bỏ qua phần nhập, chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8854%2F17822851546_c8eddbc760_o.png&hash=14e0ebcee5cbf52be3a46a101fc1bedf)
Tạo một chứng chỉ và key cho vps
Bạn chạy lệnh sau
Nhấn Enter để bỏ qua phần nhập
Khi được hỏi Sign the certificate? [y/n]: bạn chọn y
Tiếp theo bạn lại được hỏi 1 out of 1 certificate requests certified, commit? thì bạn cũng nhập tiếp là y
Sau đó bạn sẽ được như hình
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7706%2F17849187295_5cd9b95c82_o.png&hash=29d13f955e0bd9f535c8e624be993007)
Di chuyển chứng chỉ vps và key, khởi động OpenVPN
Bạn chạy lần lượt các lệnh sau
Chạy xong sẽ như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7731%2F17822859096_08fcdb43d5_o.png&hash=5714fb20a9dbccc483f59d3b6f6ef99b)
Tạo chứng chỉ và key cho máy khách
Bạn chạy lệnh sau
Các phần còn lại bạn làm tương tự mình hướng dẫn trong phần Tạo một chứng chỉ và key cho vps
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5468%2F17228806743_7020f50fa0_o.png&hash=9b667713c3ef13bdafb2a500e7bbdaa7)
Bạn chạy tiếp lệnh
Chuyển chứng chỉ vps và key đến máy khách
Bạn chạy lệnh sau
Thay địa chỉ ip bằng địa chỉ ip vps của bạn
Khi được hỏi Are you sure you want to continue connecting (yes/no)? thì bạn nhập vào là yes
Sau đó nhập mật khẩu vps của bạn vào
Cấu hình tập tin .ovpn để kết nối
Bạn mở winscp và truy cập vào /etc/openvpn/easy-rsa/keys/
Bạn chú ý vào 4 tập tin mình khoanh đỏ chia làm 2 phần
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8759%2F17846334802_37fd21bb50_o.png&hash=5f965ce536666c470acf43dc61f0839b)
Các bạn mở tập tin client.ovpn là làm theo hướng dẫn
Tìm remote my-server-1 1194 và thay my-server-1 bằng địa chỉ ip vps của bạn
Thêm vào cuối tập tin client.ovpn các dòng sau
Hoặc ai mà không hiểu thì bạn có thể làm như sau
Dán đoạn code này
Lưu lại và kết nối là xong
Đây là thành quả của mình
Trên máy tính
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8863%2F17228812903_4a09fb2639_o.png&hash=c37c09359ad2ce3fc328d07bd0b8a955)
Trên android
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8783%2F17823274796_fc6ebdd8fa_o.png&hash=e352abe39619ab269fc441d3a083ba90)
Cách 2
Cách này đơn giản hơn cách 1 vì bạn có thể đăng nhập quản lý và cách tạo cũng đơn giản hơn
Bạn chạy lệnh sau
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8846%2F18028200751_3202fe56f4_o.png&hash=d3b479a656f8a7cd5e0a846e596141fb)
Với bản 32 bit bạn chạy lần lượt các lệnh sau
Với bản 64 bit bạn chạy lần lượt các lệnh sau
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7682%2F17839461108_a18fdb3c90_o.png&hash=5b1035915f6cfa60630386543bda3d8e)
Các bước còn lại bạn làm giống ở đây, bắt đầu từ bước lấy mật khẩu đăng nhập OpenVPN
Hướng dẫn cài đặt OpenVPN trên CentOS 7.0 chi tiết
Vậy là mình đã hướng dẫn xong cho các bạn 2 cách để tạo OpenVPN
Mọi thắc mắc vui lòng hỏi đáp ở đây
Chúc các bạn thành công!
Mình sẽ sử dụng vps chưa cài để hướng dẫn các bạn
Cách 1:
Cấu hình openvpn
Trước khi cấu hình cho openvpn thì bạn cần phải cập nhật ubuntu 14.04 trước
Bạn chạy lệnh sau
Code:
apt-get update
Cài đặt OpenVPN và Easy-RSA bạn chạy lệnh sau
Code:
apt-get install openvpn easy-rsa
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8803%2F17226191694_887251751f_o.png&hash=bba1bd91951230e585a55820942c19e4)
Bạn chạy lệnh sau để giải nén tập tin cấu hình OpenVPN
Code:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Code:
vim /etc/openvpn/server.conf
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8874%2F17228323383_5f4662b4fc_o.png&hash=0f3646136d3e47727e42b43d14389171)
Tìm tiếp
Code:
# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"
Code:
push "redirect-gateway def1 bypass-dhcp"
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5469%2F17661175150_01129ee042_o.png&hash=81547c1ef6dc6733a28e1c27ad8cd665)
Tìm tiếp
Code:
# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses. CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
Code:
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5338%2F17848709535_67a1cfe4a3_o.png&hash=07281fe361c0aab358b38163bd1e31ca)
Tìm tiếp
Code:
# It's a good idea to reduce the OpenVPN
# daemon's privileges after initialization.
#
# You can uncomment this out on
# non-Windows systems.
;user nobody
;group nogroup
Code:
user nobody
group nogroup
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8785%2F17228331173_403b48231c_o.png&hash=a3199a0ad41d13977487daea40d0ac0f)
Chuyển tiếp gói
Bạn chạy lệnh sau
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward
Code:
vim /etc/sysctl.conf
Code:
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
Code:
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5327%2F17849203191_a0ef5cf02d_o.png&hash=8df7dee89c84b2855958642e67c7fe46)
Bật ufw
Bạn chạy lần lượt các lệnh sau
Code:
ufw allow ssh
ufw allow 1194/udp
Bạn có thể thay cổng 1194 thành 8484 hay 9201... mà bạn thích
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8798%2F17849205651_ef2a58c4f9_o.png&hash=15ddd34be88ab297d7b3d3fe808c7443)
Cấu hình chuyển tiếp ufw
Bạn chạy lệnh sau
Code:
vim /etc/default/ufw
Như trong ảnh
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8864%2F17226211144_1dc956d677_o.png&hash=2e722996bf1578a4081056d8321b8955)
Thêm quy tắc cho ufw
Bạn chạy lệnh sau
Code:
vim /etc/ufw/before.rules
PHP:
# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5445%2F17226214024_2abe6b1f42_o.png&hash=0dfd0dcfdcb21ca0f4163a442da6aa92)
Cho phép ufw
Bạn chạy lệnh sau
Code:
ufw enable
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5329%2F17226217364_82c83d03b4_o.png&hash=3bd6cfa226743852f485899a911c1122)
Khi được hỏi
Command may disrupt existing ssh connections. Proceed with operation (y|n)? thì bạn chọn y
Để kiểm tra trạng thái bạn chạy tiếp lệnh
Code:
ufw status
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7678%2F17661198560_e8d7e4ca0d_o.png&hash=192cb4430195d6d3a5427ca8cd2e508e)
Tạo chứng chỉ ủy quyền, chứng chỉ phía server và key
Bạn chạy lần lượt các lệnh sau
Code:
cp -r /usr/share/easy-rsa/ /etc/openvpn
mkdir /etc/openvpn/easy-rsa/keys
vim /etc/openvpn/easy-rsa/vars
Code:
# Don't leave any of these fields blank.
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"
# X509 Subject Field
export KEY_NAME="EasyRSA"
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7708%2F17822848636_121a9a39f4_o.png&hash=b2ed92382de4401bde043c0bc4c38e06)
Chạy lần lượt các lệnh sau
Code:
openssl dhparam -out /etc/openvpn/dh2048.pem 2048
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
./build-ca
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8854%2F17822851546_c8eddbc760_o.png&hash=14e0ebcee5cbf52be3a46a101fc1bedf)
Tạo một chứng chỉ và key cho vps
Bạn chạy lệnh sau
Code:
./build-key-server server
Khi được hỏi Sign the certificate? [y/n]: bạn chọn y
Tiếp theo bạn lại được hỏi 1 out of 1 certificate requests certified, commit? thì bạn cũng nhập tiếp là y
Sau đó bạn sẽ được như hình
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7706%2F17849187295_5cd9b95c82_o.png&hash=29d13f955e0bd9f535c8e624be993007)
Di chuyển chứng chỉ vps và key, khởi động OpenVPN
Bạn chạy lần lượt các lệnh sau
Code:
cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn
ls /etc/openvpn
service openvpn start
service openvpn status
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7731%2F17822859096_08fcdb43d5_o.png&hash=5714fb20a9dbccc483f59d3b6f6ef99b)
Tạo chứng chỉ và key cho máy khách
Bạn chạy lệnh sau
Code:
./build-key client1
Chạy xong sẽ như sau
![](/proxy.php?image=https%3A%2F%2Ffarm6.staticflickr.com%2F5468%2F17228806743_7020f50fa0_o.png&hash=9b667713c3ef13bdafb2a500e7bbdaa7)
Bạn chạy tiếp lệnh
Code:
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn
Bạn chạy lệnh sau
Code:
scp root@địa chỉ ip vps của bạn:/etc/openvpn/easy-rsa/keys/client1.key Downloads/
Khi được hỏi Are you sure you want to continue connecting (yes/no)? thì bạn nhập vào là yes
Sau đó nhập mật khẩu vps của bạn vào
Cấu hình tập tin .ovpn để kết nối
Bạn mở winscp và truy cập vào /etc/openvpn/easy-rsa/keys/
Bạn chú ý vào 4 tập tin mình khoanh đỏ chia làm 2 phần
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8759%2F17846334802_37fd21bb50_o.png&hash=5f965ce536666c470acf43dc61f0839b)
Các bạn mở tập tin client.ovpn là làm theo hướng dẫn
Tìm remote my-server-1 1194 và thay my-server-1 bằng địa chỉ ip vps của bạn
Thêm vào cuối tập tin client.ovpn các dòng sau
PHP:
<ca>
-----BEGIN CERTIFICATE-----
Bạn lấy trong tập tin ca.crt
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
Bạn lấy trong tập tin client1.crt
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
Bạn lấy trong tập tin client1.key
-----END PRIVATE KEY-----
</key>
Dán đoạn code này
PHP:
client
dev tun
proto udp
float
lport 9201
remote địa chỉ ip vps của bạn 1194
resolv-retry infinite
persist-key
persist-tun
comp-lzo
verb 3
mute 20
<ca>
-----BEGIN CERTIFICATE-----
Bạn lấy trong tập tin ca.crt
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
Bạn lấy trong tập tin client1.crt
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
Bạn lấy trong tập tin client1.key
-----END PRIVATE KEY-----
</key>
Đây là thành quả của mình
Trên máy tính
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8863%2F17228812903_4a09fb2639_o.png&hash=c37c09359ad2ce3fc328d07bd0b8a955)
Trên android
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8783%2F17823274796_fc6ebdd8fa_o.png&hash=e352abe39619ab269fc441d3a083ba90)
Cách 2
Cách này đơn giản hơn cách 1 vì bạn có thể đăng nhập quản lý và cách tạo cũng đơn giản hơn
Bạn chạy lệnh sau
Code:
sudo apt-get update
![](/proxy.php?image=https%3A%2F%2Ffarm9.staticflickr.com%2F8846%2F18028200751_3202fe56f4_o.png&hash=d3b479a656f8a7cd5e0a846e596141fb)
Với bản 32 bit bạn chạy lần lượt các lệnh sau
Code:
wget http://swupdate.openvpn.org/as/openvpn-as-2.0.10-Ubuntu14.i386.deb
sudo dpkg -i openvpn-as-2.0.10-Ubuntu14.i386.deb
Code:
wget http://swupdate.openvpn.org/as/openvpn-as-2.0.10-Ubuntu14.amd_64.deb
sudo dpkg -i openvpn-as-2.0.10-Ubuntu14.amd_64.deb
![](/proxy.php?image=https%3A%2F%2Ffarm8.staticflickr.com%2F7682%2F17839461108_a18fdb3c90_o.png&hash=5b1035915f6cfa60630386543bda3d8e)
Các bước còn lại bạn làm giống ở đây, bắt đầu từ bước lấy mật khẩu đăng nhập OpenVPN
Hướng dẫn cài đặt OpenVPN trên CentOS 7.0 chi tiết
Vậy là mình đã hướng dẫn xong cho các bạn 2 cách để tạo OpenVPN
Mọi thắc mắc vui lòng hỏi đáp ở đây
Chúc các bạn thành công!