OpenVPN 是透過 PPPoE 上網時,因為固定時間 IP 會變化,此時 OpenVPN 預設的 client 會因為斷線而無法重新連上,而且設了 maximum connection 之類的參數也沒有用
這時候就要拿掉 persist-tun 這個參數,將該行 Mark 起來就好
; persist-tun
OpenVPN 是透過 PPPoE 上網時,因為固定時間 IP 會變化,此時 OpenVPN 預設的 client 會因為斷線而無法重新連上,而且設了 maximum connection 之類的參數也沒有用
這時候就要拿掉 persist-tun 這個參數,將該行 Mark 起來就好
; persist-tun
時隔 10 年發現 Key 過期了, 所以跑回來加一下 Updater Key 的資訊
安裝 easy-rsa 套件
$ emerge --ask app-crypt/easy-rsa
copy easy-rsa 套件到 openvpn 下
$ cd /etc/openvpn
$ cp -a /usr/share/easy-rsa .
$ cd easy-rsa
$ mv vars.example vars
修改 vars 內, 我比較傳統, 走舊式的方式
set_var EASYRSA_DN "org"
set_var EASYRSA_REQ_COUNTRY "TW"
set_var EASYRSA_REQ_PROVINCE "Taiwan"
set_var EASYRSA_REQ_CITY "New Taipei"
set_var EASYRSA_REQ_ORG "domain.com"
set_var EASYRSA_REQ_EMAIL "email@domain.com"
set_var EASYRSA_REQ_OU "Organizational Unit"
編輯完之後 清除所有的 PKI 設定
$ ./easyrsa init-pki
建立 ca 資訊, ca 要輸入密碼, 請記好. dh 是產生 Diffie-Hellman .pem file
$ ./easyrsa build-ca
$ ./easyrsa gen-dh
建立 Server 和 Client Key 資訊
$ ./easyrsa build-server-full server1 nopass
$ ./easyrsa build-client-full client1 nopass
中間有問密碼就是 ca 的密碼
最後, 編輯 /etc/openvpn/openvpn.conf
加上
dh /etc/openvpn/easy-rsa/pki/dh.pem
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server1.crt
key /etc/openvpn/easy-rsa/pki/private/server1.key
這樣應該就可以了, 下次更新不知道會不會是十年後的事情了呢?
ref.
Create a Public Key Infrastructure Using the easy-rsa Scripts
其實原來是參考 Arch 的文件, 不過太麻煩了
https://wiki.archlinux.org/index.php/Easy-RSA
因為看到有人說 OpenVPN 非常好用, 所以就用 OpenVPN 2.0.7 架了一個站, 在一個晚上試誤之下,
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
[編輯]
mkdir /dev/net; mknod -m0600 /dev/net/tun c 10 200
如果有任何問題, 可以在我的 Comment 留言, wiki 不開放修改.
2017/01/18 Update
時隔 10 年發現 Key 過期了, 所以跑回來修一下文章 (只有 Key 部份)
安裝 easy-rsa 套件
$ emerge --ask app-crypt/easy-rsa
copy easy-rsa 套件到 openvpn 下
$ cd /etc/openvpn $ cp -a /usr/share/easy-rsa . $ cd easy-rsa $ mv vars.example vars
修改 vars 內, 我比較傳統, 走舊式的方式
set_var EASYRSA_DN "org" set_var EASYRSA_REQ_COUNTRY "TW" set_var EASYRSA_REQ_PROVINCE "Taiwan" set_var EASYRSA_REQ_CITY "New Taipei" set_var EASYRSA_REQ_ORG "domain.com" set_var EASYRSA_REQ_EMAIL "email@domain.com" set_var EASYRSA_REQ_OU "Organizational Unit"
編輯完之後 清除所有的 PKI 設定
$ ./easyrsa init-pki
建立 ca 資訊, ca 要輸入密碼, 請記好. dh 是產生 Diffie-Hellman .pem file
$ ./easyrsa build-ca $ ./easyrsa gen-dh
建立 Server 和 Client Key 資訊
$ ./easyrsa build-server-full server1 nopass $ ./easyrsa build-client-full client1 nopass
中間有問密碼就是 ca 的密碼
最後, 編輯 /etc/openvpn/openvpn.conf
加上
dh /etc/openvpn/easy-rsa/pki/dh.pem ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/server1.crt key /etc/openvpn/easy-rsa/pki/private/server1.key
這樣應該就可以了, 下次更新不知道會不會是十年後的事情了呢?
ref.
Create a Public Key Infrastructure Using the easy-rsa Scripts : 其實是我改的, 原來文件過期太久了… -_-!
其實原來是參考 Arch 的文件, 不過太麻煩了
https://wiki.archlinux.org/index.php/Easy-RSA
近期留言