#1 2017-04-09 15:20:25
- j796160836
- 新生
- 註冊日期: 2017-04-09
- 文章數: 3
- 目前積分 : 0
Tomato 設定 OpenVPN 伺服器步驟與教學
有鑒於 OpenVPN 的 Server 設定官方文件又臭又長,常常望之卻步
小弟就自己的經驗做一個小小的分享,還有寫了一些方便自己的 Scripts
小弟使用的機器與資訊如下
硬體:Asus RT-N16
韌體:Advanced Tomato
Version 3.4-138
K26USB-1.28.AT-RT-N5x-MIPSR2-3.4-138-AIO.trx
(OpenVPN version: v2.3.11)
設定使用的電腦:Mac
設定步驟
1. 下載檔案
首先先下載 easy-rsa
https://github.com/OpenVPN/easy-rsa/releases/tag/2.2.2
和小弟寫的 Scripts
https://github.com/j796160836/tomato-openvpn-setup
因為這版的 Tomato 使用的是 OpenVPN v2.3.11
所以搭配 easy-rsa v2 做設定
然後解壓縮跟我的 Script 放在一起
2. 修改 vars 變數檔案
$ vi vars
把設些改成你要的內容
export KEY_SIZE=2048
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"
export KEY_CN="CommonName"
3. 產生伺服器金鑰
跑 generate-keys-server.sh 指令
$ ./generate-keys-server.sh
他會把剛剛的環境變數設定好,並清掉之前有產生的金鑰
產生一個預設名字的伺服器金鑰,最後印出來
如果你之前有跑過這個指令,就不要再跑第二次了
(如果要跑第二次,就要重新設定用戶端金鑰)
執行成功會出現類似這樣的東西
================================================================
Please paste it at Tomato's OpenVPN key config page
================================================================
[Certificate Authority]
-----BEGIN CERTIFICATE-----
MIIDhDCCAu2gAwIBAgIJAJ9a8dYhq73TMA0GCSqGSIb3DQEBCwUAMIGJMQswCQYD
Q6Xp2vd6068LHC7b9qTs1nWHfYbpdOv1GmzKONIGd3FDiuRFJu4J/g==
-----END CERTIFICATE-----
[Server Certificate]
-----BEGIN CERTIFICATE-----
MIID5jCCA0+gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhMCVFcx
TRmjwzCO84lz2LOYFDVlETjb6Mb76SysoHVb4zNPX7Bkrr2u3c8+vzaV
-----END CERTIFICATE-----
[Server Key]
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCy1Pwvi8bE0dTpNddzNBluQoKHdHQpa7mBuH7T0+fWLhs3HoEd
POvdTEVwh+G/2kce8xtOwJAkvyppXMWjY2WmSqimVP8=
-----END RSA PRIVATE KEY-----
[Diffie Hellman parameters]
-----BEGIN DH PARAMETERS-----
MIGHAoGBAN8PIYvlZy1rDghoF+K9wmMrCaN5DBi+3HPFemJEZK4wlyeXHLDOGYx+
5vtwBR2tPYXwTwdeMZItmqVMsVuIN4d0vEzDrbNihAU7OaaWzP+bAgEC
-----END DH PARAMETERS-----
(請你自己跑一次,不要直接照樣 copy,這裏的金鑰只是示意而已)
你就打開 Tomato 的 VPN > OpenVPN Sever > Keys 進入金鑰設定頁面
把金鑰對應地複製貼上到對的地方
如果它跑太快或者你不小心把結果清掉了,你可以再跑一次 print-server.sh 指令查看
$ ./print-server.sh
4. 抓取 Tomato 上的設定值
這裡有點 Tricky,我是直接讀取它的設定檔指令來做的
請使用 Tools > System Commands (System Shell) 來執行 fetch-server-config.txt 檔案裡面的指令
執行之後會得到類似這樣的指令
==================================================
Please paste this command in your easy-rsa folder
==================================================
echo -e "remote 1.2.3.4 1194\nproto udp\ndev tun21\ncipher DES-CBC\n" > server-config
一樣,把剛剛產生出來的指令,貼回 Mac 的 Terminal 上,產生 server-config 這個檔案
5. 產生用戶端金鑰
這裡執行 generate-keys-client.sh 這個指令,並打入你要的名稱
$ ./generate-keys-client.sh Client01
這裡我打的是 Client01 做為名稱,你可以換成你要的,但不能重複
執行成功會得到類似這個訊息
Write out database with 1 new entries
Data Base Updated
就完成產生了
6. 產生用戶端OpenVPN設定檔
使用 print-client-config.sh 這個指令,帶入剛剛打的名稱,並寫入進一個 ovpn 檔案之中
$ ./print-client-config.sh Client01 > Client01.ovpn
他就會抓取金鑰跟剛剛 server-config 裡面的內容產生一個設定檔
接下來你只要把 OpenVPN 的用戶端安裝好,使用剛剛的 ovpn 設定檔就可以了
以 Mac 為例,
Mac 的 OpenVPN 用戶端使用 Tunnelblick
https://tunnelblick.net/
安裝完成,雙點 ovpn 檔案,再輸入電腦使用者的密碼就可以使用了
iOS 的 OpenVPN 用戶端使用 OpenVPN Connect
https://itunes.apple.com/us/app/openvpn … 79981?mt=8
把 ovpn 檔案放在 iCloud drive 然後載入它,就可以了
祝設定成功!
(本文同步發文在小弟的部落格上)
http://j796160836.pixnet.net/blog/post/44894005
離線
相關討論主題
主題 | 回覆 | 點閱 | 最後發表 |
---|---|---|---|
置頂 |
33 | 85118 | 2024-10-23 08:28:27 作者 huiduo |
置頂 |
1625 | 3031769 | 2024-04-28 12:35:05 作者 s87311 |
|
155 | 348169 | 2022-12-08 17:08:17 作者 dir868l |
置頂 |
54 | 207407 | 2022-09-15 12:25:01 作者 chiachu |
|
222 | 502858 | 2022-09-14 14:54:52 作者 chiachu |