OpenVPN

From Richliu's wiki

Jump to: navigation, search

本篇說明是在

  • Server: Gentoo Linux (kernel 需有 TAP/TUN Driver Support)
  • Client: Windows XP
  • OpenVPN 2.0.7

的環境下架設的.


Windows 安裝, 可以安裝 OpenVPN 本家的程式

或是裝 OpenVPN GUI

我個人喜歡 OpenVPN GUI, 會有一個 Icon 可以 connect 上 vpn.

  1. 安裝完以後, 到 OpenVPN-> Add a new TAP-Win32 virtual ethernet adapter, 點一下安裝 TAP-Win32 Driver
  2. 再到網路上的芳鄰->右鍵選內容, 有一個區域連線n, TAP-Win32 Adapter V8 , 按 F2 改名成 MyTap
  3. 重新啟動 Windows .
  4. 將 Client Config File 存成檔案叫 "client.ovpn" , 連等一下產生的 client1.crt , celient1.key, ca.crt 一起存到 C:\Program File\OpenVPN\config
  5. 如果是用 OpenVPN GUI, 可以在右下角的 Icon 直接選 connect
  6. 如果是用 OpenVPN , 可以在 client.ovpn 這個檔上按右鍵選 "Start OpenVPN on the config file"

目錄

Client Config File

client
dev tun
dev-node MyTap
proto tcp
remote 111.222.333.444 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

Server Config File

#
dev tun
port 1194
# use tcp, could pass by proxy server
proto tcp

server 192.168.10.0 255.255.255.0
push "redirect-gateway"
push "dhcp-option DNS 168.95.192.2"
# Let client connect to another client
;client-to-client
ifconfig-pool-persist ipp.txt
keepalive 10 120

tls-server
dh /usr/share/openvpn/easy-rsa/keys/dh2048.pem
ca /usr/share/openvpn/easy-rsa/keys/ca.crt
cert /usr/share/openvpn/easy-rsa/keys/server.crt
key /usr/share/openvpn/easy-rsa/keys/server.key
; user nobody
; group nobody

comp-lzo
; ping 15
; ping-restart 45
; ping-timer-rem
persist-tun
persist-key
status openvpn-status.log
verb 3

產生 Key 的部份

  1. cd /usr/share/openvpn/easy-rsa
  2. vim vars
  3. 將 Key 長度改 2048
  4. 其他的 Information 也要相對修改
  5. source ./vars
  6. ./clean-all
  7. ./build-dh
  8. ./build-ca
  9. ./build-key-server server
  10. 修改 /etc/opensvn/opensvn.conf
    1. 將 ca.crt, server.crt, server.key 指到 /usr/share/openvpn/easy-rsa/keys 下
  11. ./build-key client1
    1. 將 client1.crt , celient1.key, ca.crt copy 到 Windows 端

其他需注意的部份

  • 使用 OpenVPN GUI 可以即時設定 Proxy
  • 如果要設定 Proxy, 連線的 Protocol 要使用 TCP.
  • 如果 syslog 有 "Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)", 請下以下指令
mkdir /dev/net; mknod -m0600 /dev/net/tun c 10 200
個人工具