歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Linux系統下SoftEther服務器的使用方法

Linux系統下SoftEther服務器的使用方法

日期:2017/3/2 16:49:32   编辑:Linux服務器

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,再啟動一下,就好了

Copyright © Linux教程網 All Rights Reserved