OpenVPN
From Richliu's wiki
本篇說明是在
- Server: Gentoo Linux (kernel 需有 TAP/TUN Driver Support)
- Client: Windows XP
- OpenVPN 2.0.7
的環境下架設的.
Windows 安裝, 可以安裝 OpenVPN 本家的程式
或是裝 OpenVPN GUI
我個人喜歡 OpenVPN GUI, 會有一個 Icon 可以 connect 上 vpn.
- 安裝完以後, 到 OpenVPN-> Add a new TAP-Win32 virtual ethernet adapter, 點一下安裝 TAP-Win32 Driver
- 再到網路上的芳鄰->右鍵選內容, 有一個區域連線n, TAP-Win32 Adapter V8 , 按 F2 改名成 MyTap
- 重新啟動 Windows .
- 將 Client Config File 存成檔案叫 "client.ovpn" , 連等一下產生的 client1.crt , celient1.key, ca.crt 一起存到 C:\Program File\OpenVPN\config
- 如果是用 OpenVPN GUI, 可以在右下角的 Icon 直接選 connect
- 如果是用 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 的部份
- cd /usr/share/openvpn/easy-rsa
- vim vars
- 將 Key 長度改 2048
- 其他的 Information 也要相對修改
- source ./vars
- ./clean-all
- ./build-dh
- ./build-ca
- ./build-key-server server
- 修改 /etc/opensvn/opensvn.conf
- 將 ca.crt, server.crt, server.key 指到 /usr/share/openvpn/easy-rsa/keys 下
- ./build-key client1
- 將 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
