歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

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

 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