歡迎您光臨本站 註冊首頁

Linux下SoftEther伺服器

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
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 []:yagi@coins.tsukuba.ac.jp <---Mail地址唄


 
ca.key和ca.crt文件做好了以後,拷貝到 se_hub 那個目錄里去(覆蓋掉老的那一對)。停掉運行中的V-HUB,再啟動一下,就好了。



[火星人 ] Linux下SoftEther伺服器已經有502次圍觀

http://coctec.com/docs/net/show-post-68407.html