設定 OpenVPN 的筆記

我的需求是讓我的筆電網路連線,可以經由我放在某地的機器繞出去(所謂的翻牆)。

裝好 OpenVPN 套件後,參考 [OpenVPN – DebianWiki] 設定環境。我的 server.conf 是這樣:

# openvpn server 的 ip
local server_ipaddr

# vpn server 的 port
port 1194

# protocol
proto udp

# device
dev tun

tls-server
ca ca.crt
cert server.crt
key server.key

tls-auth ta.key 0

dh dh1024.pem

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# 自動將 client 的 default gateway 設成經由 VPN server 出去
#push “redirect-gateway”
push “redirect-gateway def1”

# 保持連線,每 10 秒 ping 一次,若是 120 秒未收到封包,即認定 client 斷線
keepalive 10 120

comp-lzo

# 最多同時只能有十個 client
max-clients 10

# vpn daemon 執行時的身份(在非 Windows 平台中使用)
user nobody
group nogroup

persist-key
persist-tun
daemon

# 以下二行是將 vpn server 內部的虛擬 ip 機器開放給 client 使用
#push “route 192.168.10.0 255.255.255.0”
#push “route 192.168.20.0 255.255.255.0”

而我的 client.conf 是這樣:

# 本台是當 client
client

dev tun
proto udp

# vpn server 的 ip 及 port
remote server_ipaddr 1194

# 執行時的身份
user nobody
group nogroup

persist-key
persist-tun

tls-client
ca ca.crt
cert client1.crt
key client1.key

tls-auth ta.key 1

ns-cert-type server
comp-lzo
daemon

要把 server 端的 IP forwarding 打開:

sudo sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’

以及啟用 IP Masquerading:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

CC BY-SA 4.0 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

One thought on “設定 OpenVPN 的筆記

Leave a Reply

Your email address will not be published. Required fields are marked *