Building Mikrotik OpenVPN Server, Config OpenVPN Client for Windows and Android Phone

Building Mikrotik OpenVPN Server, Config OpenVPN Client for Windows and Android Phone

    Mikrotik OpenVPN (OVPN)là một giải pháp VPN tuyệt vời, nó cung cấp một đường hầm VPN an toàn và được mã hóa trên mạng công cộng (public network). Không giống như các giao thức thức (protocol) khác như PPTP, L2TP được thiết kế kém và có thể dễ dàng bị block, OVPN có thể được tùy chỉnh cao và thậm chí có thể chạy trên port TCP 443 nên OVPN không dễ dàng bị block. OVPN sử dụng chứng chỉ SSL/TLS. Vì thế OVPN là một đường hầm (tunnel) đáng tin cậy để gửi và nhận dữ liệu qua mạng công cộng.
    Lưu ý: Mikrotik OVPN có giới hạn username/password PPP: username không quá 27 kí tự và passwork không quá 233 kí tự.

Network Diagram

Nguồn: Internet
    Do lười vẽ nên chú thích thêm: 
  • Wan: mình dùng dynamic DNS
  • LAN 1.2.3.0/24
  • Ip gateway VPN = IP gateway LAN: 1.2.3.1
  • Ip remote: 1.2.3.0/24        

Config Mikrotik OpenVPN server:

Sau khi cấu hình cơ bản cho mạng Lan nội bộ với subnet 1.2.3.0/24 thì tiếp theo cấu hình chứng chỉ TLS như sau:
  • Creat Certificate cho OVPN Server và Client
/certificate add name=CA-OVPN common-name=CA-OVPN trusted=yes key-size=2048 days-valid=365 key-usage=key-cert-sign,crl-sign
/certificate sign CA-OVPN ca-crl-host=127.0.0.1

/certificate add name=Server-OVPN common-name=Server-OVPN key-size=2048 days-valid=365 key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,crl-sign,tls-server,tls-client trusted=yes
/certificate sign Server-OVPN ca=CA-OVPN

/certificate add name=Client-OVPN common-name=Client-OVPN key-size=2048 days-valid=365 key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,crl-sign,tls-server,tls-client trusted=yes
/certificate sign Client-OVPN ca=CA-OVPN
  • Export CA and Client certificate:
/certificate export-certificate CA-OVPN
/certificate export-certificate Client-OVPN export-passphrase=password
  • Download file vừa export
  • Enable and config OVPN server:
/interface ovpn-server server set auth=sha1 certificate=Server-OpenVPN cipher=aes256 default-profile=default-encryption require-client-certificate=yes
/ppp secret add name=ovpnuser password=ovpnpass service=ovpn profile=default-encryption

Config OVPN Client on Windows:

Download OVPN ở trang chủ.
    
Sau khi tải về vài cài đặt OVPN cho Windows, chúng ta cần cấu hình theo yêu cầu của OVPN server. Tạo 1 file có định dạng .ovpn (ex: Client.ovpn) ở đường dẫn mặc định C:\Program Files\OpenVPN\config và dán các nội dung bên dưới vào :

client
dev tun
proto tcp-client
# Change xxx to appropriate IP's
remote xxx 1194
nobind
persist-key
persist-tun
remote-cert-tls server
ca CA-OVPN.crt
cert Client-OVPN.crt
key Client-OVPN.key
verb 4
mute 10
tls-cipher DEFAULT
cipher AES-256-CBC
auth SHA1
# mysecretfile is user and pass in PPP secret Mikrotik
auth-user-pass
auth-nocache

    Sau đó sao chép 3 file đã tải xuống từ mikrotik vào thư mục C:\Program Files\OpenVPN\config

Connect OpenVPN Client:

    Sau khi hoàn tất việc cấu hình cho client, hãy chạy ứng dụng OpenVPN bằng cách nhấp vào biểu tượng trên màn hình Open VPN GUI và chọn connect:

    Bạn sẽ phải nhập username/password ở cửa sổ hiện lên (trong bài hướng dẫn này thì username/password là ovpnuser/ovpnpass), khi bạn kết nối thành công sẽ nhận được thông tin như bên dưới:

Config OpenVPN Client trên Android Phone:

    Đối người người dùng điện thoại hệ điều hành Android thì download ứng dụng OpenVPN ở đây
  • Tạo file .ovpn (không khác gì so với Windows)
  • Copy CA, Cert, Key (là 3 file được download từ mikrotik) vào điện thoại
  • Mở ứng dụng OVPN, chọn menu Import > Import File (chọn file .ovpn)
  • Ở điện thoại khác với Windows là sẽ được yêu cầu nhập Private Key Password (trong bài này password là password)
  • Ứng dụng sẽ tự động load file và kết nối.  

Extend: 
  • Nếu bạn muốn bỏ qua bước nhập user/pass PPP thì tạo thêm 1 file secret.cfg trong thư mục config với nội dung: user/pass (dòng 1 là user PPP, dòng 2 là pass PPP) và edit file .ovpn ở dòng "auth-user-pass" thành "auth-user-pass secret.cfg"
  • Routing all client traffic through the VPN
Mặc định khi OpenVPN Client hoạt động, chỉ có traffic đến và đi từ OpenVPn server mới đi qua OVPN tunnel. Trong trường hợp bạn muốn tất cả traffic của OVPN Client đều đi qua OVPN tunnel thì thêm lệnh sau vào file cấu hình .ovpn: "redirect-gateway def1"
  • Có thể hợp nhất 3 file CA, Cert và Key vào file .ovpn với định dạng file .ovpn như sau:
client
dev tun
proto tcp-client
# Change xxx to appropriate IP's
remote xxx 1194
nobind
persist-key
persist-tun
remote-cert-tls server
verb 4
mute 10
tls-cipher DEFAULT
cipher AES-256-CBC
auth SHA1
# mysecretfile is user and pass in PPP secret Mikrotik
auth-user-pass
auth-nocache

<ca>
-----BEGIN CERTIFICATE-----
***
MIIDTTCCAjW
***
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
***
MIIDWjCCAkK
***
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN ENCRYPTED PRIVATE KEY-----
***
MIIFHzBJBg
***
-----END ENCRYPTED PRIVATE KEY-----
</key>


Đặt quảng cáo của bạn ở đây

Nhận xét