admin

Administrator
Staff member
#1
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
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
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



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
Bạn chạy lệnh sau vào sửa như hình
Code:
vim /etc/openvpn/server.conf
Mặc định là dh dh1024.pem bạn sửa thành dh dh2048.pem



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"
Và chỉ để lại
Code:
push "redirect-gateway def1 bypass-dhcp"
Như trong ảnh



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"
Và chỉ để lại
Code:
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
Như trong ảnh



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
Và chỉ để lại
Code:
user nobody
group nogroup
Như trong ảnh



Chuyển tiếp gói
Bạn chạy lệnh sau
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward
Để 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
Code:
vim /etc/sysctl.conf
Bạn tìm
Code:
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
Và sửa thành
Code:
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Như trong ảnh



Bật ufw
Bạn chạy lần lượt các lệnh sau
Code:
ufw allow ssh
ufw allow 1194/udp
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



Cấu hình chuyển tiếp ufw
Bạn chạy lệnh sau
Code:
vim /etc/default/ufw
Tìm DEFAULT_FORWARD_POLICY="DROP" sửa thành DEFAULT_FORWARD_POLICY="ACCEPT"
Như trong ảnh



Thêm quy tắc cho ufw
Bạn chạy lệnh sau
Code:
vim /etc/ufw/before.rules
Và dán vào
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
Như trong ảnh



Cho phép ufw
Bạn chạy lệnh sau
Code:
ufw enable


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
Chạy xong sẽ như sau



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
Và điền nội dung mà bạn thích vào trong ngoặc kép như trong ảnh

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"


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
Bạn nhấn Enter để bỏ qua phần nhập, chạy xong sẽ như sau



Tạo một chứng chỉ và key cho vps
Bạn chạy lệnh sau
Code:
./build-key-server server
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



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
Chạy xong sẽ như trong ảnh



Tạo chứng chỉ và key cho máy khách
Bạn chạy lệnh sau
Code:
./build-key client1
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



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
Chuyển chứng chỉ vps và key đến máy khách
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/
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



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>
Hoặc ai mà không hiểu thì bạn có thể làm như sau
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>
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



Trên android



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
Chạy xong sẽ như sau



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
Với bản 64 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.amd_64.deb
sudo dpkg -i openvpn-as-2.0.10-Ubuntu14.amd_64.deb
Chạy xong sẽ như sau



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!
 

admin

Administrator
Staff member
#15
Để kết nối port 9201 thành công các bạn thêm đoạn sau vào đầu tập tin .ovpn
################################################################################ OpenVPN 2.0 Sample Configuration File
# for PacketiX VPN / SoftEther VPN Server
#
# !!! AUTO-GENERATED BY SOFTETHER VPN SERVER MANAGEMENT TOOL !!!
#
# !!! YOU HAVE TO REVIEW IT BEFORE USE AND MODIFY IT AS NECESSARY !!!
#
# This configuration file is auto-generated. You might use this config file
# in order to connect to the PacketiX VPN / SoftEther VPN Server.
# However, before you try it, you should review the descriptions of the file
# to determine the necessity to modify to suitable for your real environment.
# If necessary, you have to modify a little adequately on the file.
# For example, the IP address or the hostname as a destination VPN Server
# should be confirmed.
#
# Note that to use OpenVPN 2.0, you have to put the certification file of
# the destination VPN Server on the OpenVPN Client computer when you use this
# config file. Please refer the below descriptions carefully.




###############################################################################
# Specify the type of the layer of the VPN connection.
#
# To connect to the VPN Server as a "Remote-Access VPN Client PC",
# specify 'dev tun'. (Layer-3 IP Routing Mode)
#
# To connect to the VPN Server as a bridging equipment of "Site-to-Site VPN",
# specify 'dev tap'. (Layer-2 Ethernet Bridgine Mode)


dev tun




###############################################################################
# Specify the underlying protocol beyond the Internet.
# Note that this setting must be correspond with the listening setting on
# the VPN Server.
#
# Specify either 'proto tcp' or 'proto udp'.


proto udp
float
lport 9201




###############################################################################
# The destination hostname / IP address, and port number of
# the target VPN Server.
#
# You have to specify as 'remote <HOSTNAME> <PORT>'. You can also
# specify the IP address instead of the hostname.
#
# Note that the auto-generated below hostname are a "auto-detected
# IP address" of the VPN Server. You have to confirm the correctness
# beforehand.
#
# When you want to connect to the VPN Server by using TCP protocol,
# the port number of the destination TCP port should be same as one of
# the available TCP listeners on the VPN Server.
#
# When you use UDP protocol, the port number must same as the configuration
# setting of "OpenVPN Server Compatible Function" on the VPN Server.


remote địa chỉ ip vps của bạn 1194




###############################################################################
# The HTTP/HTTPS proxy setting.
#
# Only if you have to use the Internet via a proxy, uncomment the below
# two lines and specify the proxy address and the port number.
# In the case of using proxy-authentication, refer the OpenVPN manual.


;http-proxy-retry
;http-proxy [proxy server] [proxy port]




###############################################################################
# The encryption and authentication algorithm.
#
# Default setting is good. Modify it as you prefer.
# When you specify an unsupported algorithm, the error will occur.
#
# The supported algorithms are as follows:
# cipher: [NULL-CIPHER] NULL AES-128-CBC AES-192-CBC AES-256-CBC BF-CBC
# CAST-CBC CAST5-CBC DES-CBC DES-EDE-CBC DES-EDE3-CBC DESX-CBC
# RC2-40-CBC RC2-64-CBC RC2-CBC
# auth: SHA SHA1 MD5 MD4 RMD160


cipher BF-CBC 128
auth SHA1




###############################################################################
# Other parameters necessary to connect to the VPN Server.
#
# It is not recommended to modify it unless you have a particular need.


resolv-retry infinite
persist-key
persist-tun
client
verb 3
#auth-user-pass




###############################################################################
# The certificate file of the destination VPN Server.
#
# The CA certificate file is embedded in the inline format.
# You can replace this CA contents if necessary.
# Please note that if the server certificate is not a self-signed, you have to
# specify the signer's root certificate (CA) here.
 

Hero

Super Moderator
Staff member
#16
Để kết nối port 9201 thành công các bạn thêm đoạn sau vào đầu tập tin .ovpn
PHP:
################################################################################ OpenVPN 2.0 Sample Configuration File# for PacketiX VPN / SoftEther VPN Server# # !!! AUTO-GENERATED BY SOFTETHER VPN SERVER MANAGEMENT TOOL !!!# # !!! YOU HAVE TO REVIEW IT BEFORE USE AND MODIFY IT AS NECESSARY !!!# # This configuration file is auto-generated. You might use this config file# in order to connect to the PacketiX VPN / SoftEther VPN Server.# However, before you try it, you should review the descriptions of the file# to determine the necessity to modify to suitable for your real environment.# If necessary, you have to modify a little adequately on the file.# For example, the IP address or the hostname as a destination VPN Server# should be confirmed.# # Note that to use OpenVPN 2.0, you have to put the certification file of# the destination VPN Server on the OpenVPN Client computer when you use this# config file. Please refer the below descriptions carefully.

################################################################################ Specify the type of the layer of the VPN connection.# # To connect to the VPN Server as a "Remote-Access VPN Client PC",#  specify 'dev tun'. (Layer-3 IP Routing Mode)## To connect to the VPN Server as a bridging equipment of "Site-to-Site VPN",#  specify 'dev tap'. (Layer-2 Ethernet Bridgine Mode)
dev tun

################################################################################ Specify the underlying protocol beyond the Internet.# Note that this setting must be correspond with the listening setting on# the VPN Server.# # Specify either 'proto tcp' or 'proto udp'.
proto udpfloatlport 9201

################################################################################ The destination hostname / IP address, and port number of# the target VPN Server.# # You have to specify as 'remote <HOSTNAME> <PORT>'. You can also# specify the IP address instead of the hostname.# # Note that the auto-generated below hostname are a "auto-detected# IP address" of the VPN Server. You have to confirm the correctness# beforehand.# # When you want to connect to the VPN Server by using TCP protocol,# the port number of the destination TCP port should be same as one of# the available TCP listeners on the VPN Server.# # When you use UDP protocol, the port number must same as the configuration# setting of "OpenVPN Server Compatible Function" on the VPN Server.
remote địa chỉ ip vps của bạn 1194

################################################################################ The HTTP/HTTPS proxy setting.# # Only if you have to use the Internet via a proxy, uncomment the below# two lines and specify the proxy address and the port number.# In the case of using proxy-authentication, refer the OpenVPN manual.
;http-proxy-retry;http-proxy [proxy server] [proxy port]

################################################################################ The encryption and authentication algorithm.# # Default setting is good. Modify it as you prefer.# When you specify an unsupported algorithm, the error will occur.# # The supported algorithms are as follows:#  cipher: [NULL-CIPHER] NULL AES-128-CBC AES-192-CBC AES-256-CBC BF-CBC#          CAST-CBC CAST5-CBC DES-CBC DES-EDE-CBC DES-EDE3-CBC DESX-CBC#          RC2-40-CBC RC2-64-CBC RC2-CBC#  auth:   SHA SHA1 MD5 MD4 RMD160
cipher BF-CBC 128auth SHA1

################################################################################ Other parameters necessary to connect to the VPN Server.# # It is not recommended to modify it unless you have a particular need.
resolv-retry infinitepersist-keypersist-tunclientverb 3#auth-user-pass

################################################################################ The certificate file of the destination VPN Server.# # The CA certificate file is embedded in the inline format.# You can replace this CA contents if necessary.# Please note that if the server certificate is not a self-signed, you have to# specify the signer's root certificate (CA) here.
thank you sir :-bd
 

Facebook Comments

New posts Latest threads Latest profile posts

Top