Linux版環境要求,安裝方法,啟動方法,運營/管理方法
1)工作環境要求
Linux 版 SoftEther運行,需要如下環境
pthread 庫
OpenSSL 庫 (<—— http://www.openssl.org 可以下載最新版)
並且需要可以識別 *.a 文件格式(壓縮形式的靜態庫)的Linker
在 RedHat 7.1、RedHat 9.0、Vine Linux 2.6 上驗證確認。其他的Linux 發行版本,也都該有pthread庫和OpenSSL庫的。
2)安裝方法
se_100_linux.zip裡面有如下三個文件
libse_hub.a
ca.crt
ca.key
隨便展開到什麼地方就行,為了便於說明,假設展開到了一個名為se_hub的目錄
SoftEther Linux版V-HUB程序並不是一個可執行形式,而是以靜態庫形式存放在libse_hub.a裡面。因此,需要把pthread庫和OpenSSL庫文件鏈接到此靜態庫上去,才能生成可執行文件
比如用gcc作為鏈接器的時候,如此這般
gcc libse_hub.a -lpthread -lssl -lcrypt -o se_hub
如果要沒有顯示錯誤,就算鏈接成功了。在這個目錄裡會生成名為“se_hub”的這麼一個文件
運行方法正在繼續翻譯,少安毋躁
3)啟動方法
我們知道,Windows版的SoftEther V-HUB是通過登錄到System Service裡去,實現後台工作的。Linux版的V-HUB則是與普通程序一樣,通過命令行(Shell)啟動。現在,還沒有把V-HUB做成 Daemon Process方式執行
SoftEther V-HUB要監聽TCP 443口(HTTPS),因為這是Well-Know端口,所以需要root權限才能執行。(但SoftEther V-HUB本身,不需要root權限也可以執行的!)
在Terminal 方式下,SoftEther V-HUB程序(剛才生成的那個 se_hub 文件)雖然可以和其他程序一樣啟動運行,但Terminal關閉的時候,運行中的V-HUB也會被干掉。這種情況下需要執行下面介紹的 nohup 指令,使得Terminal即使被關掉也可以繼續運行。
# nohup ./se_hub &
這樣,只要用 nohup 執行一次 se_hub ,就可以把V-HUB的進程放到後台了。
(不過Linux重啟動的時候,因為不是Deamon Process,所以不能自動啟動。想要讓它在系統重啟時也被自動執行,需要別的方法輔助)
4)管理-運用方法
4.1)Linux版V-HUB的管理菜單及其使用方法
要管理SoftEther的V-HUB,只需要telnet到運行V-HUB的計算機的TCP 8023端口就可以接上了。無論是從運行V-HUB的本機,telnet自己的8023口還是從遠程telnet到運行V-HUB的機器的8023口,都沒有問題。
4.2)V-HUB的停止方法
因為V-HUB一經啟動,就會一直執行下去。如果要停止,請使用 Kill 命令。
Process的ID,可以用如下的 ps 命令來調查
(舉例)
1. # ps auxf
2.
3. root 12988 0.0 1.3 21576 1708 pts/2 S 20:45 0:00 | \_ ./se_hub
4. root 12989 0.0 1.3 21576 1708 pts/2 S 20:45 0:00 | \_ ./se_hub
5. root 12990 0.0 1.3 21576 1708 pts/2 S 20:45 0:00 | \_ ./se_hub
6. root 12991 0.0 1.3 21576 1708 pts/2 S 20:45 0:00 | \_ ./se_hub
7. root 12993 0.0 1.3 21576 1708 pts/2 S 20:45 0:00 | \_ ./se_hub
8. root 12994 0.0 1.3 21576 1708 pts/2 S 20:45 0:00 | \_ ./se_hub
看到這種結果,把 se_hub 進程樹的最上面一個進程干掉就可以了
1. # kill -KILL 12988
用這個命令發送KILL Signal,可以強行中止V-HUB的進程
4-3)關於默認端口號 7777 / 443 的注意事項
SoftEther V-HUB的默認偵聽協議端口,是TCP的7777端口與443端口。如果你的系統已經被占用,或者你有其他原因不想使用這兩個默認端口,特別是 Apache之類的Web Server已經使用了443端口作HTTPS用的情況下,SoftEther會顯示如下的信息表示偵聽443端口失敗
(舉例)
1. [root@gateway se_hub]# ./se_hub
2. LOG: SoftEther Virtual HUB Service Version 1.00 for UNIX System
3. LOG: Copyright (c) 1997-2004 Daiyuu Nobori, All Rights Reserved.
4. LOG: SoftEther Started.
5. LOG: TCP/IP inited.
6. LOG: Service Process Begin.
7. LOG: SSL Library Inited.
8. LOG: Protocol [Direct TCP/IP Connection] Init Succeed. Protocol ID: 0
9. LOG: Protocol [Proxy Connection] Init Succeed. Protocol ID: 1
10. LOG: Protocol [Proxy Connection] (1) Listen Failed. Port=443.
這種情況下,進入V-HUB的管理菜單,把默認端口改變即可
V-HUB的管理菜單使用方法,參見Windows版發行時候的說明教程(網絡版精華區有下載)
4-4)關於 Server 認證 ca.key 和 ca.crt (老服強烈提請試圖使用Linux V-HUB的筒子們關注這部分)
SoftEther V-HUB與客戶端(PC上的虛擬網卡)之間的通訊內容,是用SSL加密的。
這個時候,V-HUB所使用的《Server 認證書》就是ca.crt,密碼文件是ca.key
大家當然可以使用下載包中包含的那一對ca.crt / ca.key 文件,不過從安全性考慮,最好自己制作 ca.key 和 ca.crt
用 openssl 命令可以生成自己專用的 ca.crt(認證書文件) / ca.key(密鑰文件)。
參照下面的示例
ca.key (生成密鑰文件)
(舉例)
1. # openssl genrsa -out ca.key -des3 1024
2. Generating RSA private key, 1024 bit long modulus
3. ……++++++
4. ……++++++
5. e is 65537 (0x10001)
6. Enter pass phrase for ca.key: softether <——說的就是這裡
7. Verifying - Enter pass phrase for ca.key: softether <——還有這裡
注意:密鑰的Pass Pharse請輸入"softether"九個字母。而且不要丟掉這個密鑰文件,嚴加管理!
老服注:俺這裡感覺不太爽,固定“softether”為密鑰文件的密碼,豈不是安全性大為下降麼?當然,V-HUB要是不知道這個密碼,也無法正常通訊。但始終覺得這裡問題不小……誰清楚,出來說說你的想法好了。
ca.crt (生成認證文件)
(舉例)
1. # openssl req -new -x509 -key ca.key -out ca.crt
2. Enter pass phrase for ca.key: softether <——這裡?
3. You are about to be asked to enter information that will be incorporated
4. into your certificate request.
5. What you are about to enter is what is called a Distinguished Name or a DN.
6. There are quite a few fields but you can leave some blank
7. For some fields there will be a default value,
8. If you enter '.', the field will be left blank.
9. ——
10. Country Name (2 letter code) [AU]:JP <——這裡,我們填寫 CN 吧?
11. State or Province Name (full name) [Some-State]:Ibaraki-ken <——省/直轄市/自治區名
12. Locality Name (eg, city) []:Tsukuba-city <——城市名稱
13. Organization Name (eg, company) [Internet Widgits Pty Ltd]:Univ of Tsukuba <——公司/機構/學校/組織名稱
14. Organizational Unit Name (eg, section) []:Coins <——部門名稱
15. Common Name (eg, YOUR name) []aiyuu Nobori <——您咋稱呼阿?
16. Email Address []:[email protected] <——Mail地址呗
ca.key和ca.crt文件做好了以後,拷貝到 se_hub 那個目錄裡去(覆蓋掉老的那一對)。停掉運行中的V-HUB,再啟動一下,就好了