位置:海鸟网 > IT > linux/Unix >

Linux系统下SoftEther服务器的使用方法

Linux版环境要求,安装方法,启动方法,运营/管理方法

1)工作环境要求

Linux版SoftEther运行,需要如下环境

pthread库

OpenSSL库(<——可以下载最新版)

并且需要可以识别*.a文件格式(压缩形式的静态库)的Linker

在RedHat7.1、RedHat9.0、VineLinux2.6上验证确认。其他的Linux发行版本,也都该有pthread库和OpenSSL库的。

2)安装方法

se_100_linux.zip里面有如下三个文件

libse_hub.a

ca.crt

ca.key

随便展开到什么地方就行,为了便于说明,假设展开到了一个名为se_hub的目录

SoftEtherLinux版V-HUB程序并不是一个可执行形式,而是以静态库形式存放在libse_hub.a里面。因此,需要把pthread库和OpenSSL库文件链接到此静态库上去,才能生成可执行文件

比如用gcc作为链接器的时候,如此这般

gcclibse_hub.a-lpthread-lssl-lcrypt-ose_hub

如果要没有显示错误,就算链接成功了。在这个目录里会生成名为“se_hub”的这么一个文件

运行方法正在继续翻译,少安毋躁

3)启动方法

我们知道,Windows版的SoftEtherV-HUB是通过登录到SystemService里去,实现后台工作的。Linux版的V-HUB则是与普通程序一样,通过命令行(Shell)启动。现在,还没有把V-HUB做成DaemonProcess方式执行

SoftEtherV-HUB要监听TCP443口(HTTPS),因为这是Well-Know端口,所以需要root权限才能执行。(但SoftEtherV-HUB本身,不需要root权限也可以执行的!)

在Terminal方式下,SoftEtherV-HUB程序(刚才生成的那个se_hub文件)虽然可以和其他程序一样启动运行,但Terminal关闭的时候,运行中的V-HUB也会被干掉。这种情况下需要执行下面介绍的nohup指令,使得Terminal即使被关掉也可以继续运行。

#nohup./se_hub&

这样,只要用nohup执行一次se_hub,就可以把V-HUB的进程放到后台了。

(不过Linux重启动的时候,因为不是DeamonProcess,所以不能自动启动。想要让它在系统重启时也被自动执行,需要别的方法辅助)

4)管理-运用方法

4.1)Linux版V-HUB的管理菜单及其使用方法

要管理SoftEther的V-HUB,只需要telnet到运行V-HUB的计算机的TCP8023端口就可以接上了。无论是从运行V-HUB的本机,telnet自己的8023口还是从远程telnet到运行V-HUB的机器的8023口,都没有问题。

4.2)V-HUB的停止方法

因为V-HUB一经启动,就会一直执行下去。如果要停止,请使用Kill命令。

Process的ID,可以用如下的ps命令来调查

(举例)

1.#psauxf

2.

3.root129880.01.3215761708pts/2S20:450:00|\_./se_hub

4.root129890.01.3215761708pts/2S20:450:00|\_./se_hub

5.root129900.01.3215761708pts/2S20:450:00|\_./se_hub

6.root129910.01.3215761708pts/2S20:450:00|\_./se_hub

7.root129930.01.3215761708pts/2S20:450:00|\_./se_hub

8.root129940.01.3215761708pts/2S20:450:00|\_./se_hub

看到这种结果,把se_hub进程树的最上面一个进程干掉就可以了

1.#kill-KILL12988

用这个命令发送KILLSignal,可以强行中止V-HUB的进程

4-3)关于默认端口号7777/443的注意事项

SoftEtherV-HUB的默认侦听协议端口,是TCP的7777端口与443端口。如果你的系统已经被占用,或者你有其他原因不想使用这两个默认端口,特别是Apache之类的WebServer已经使用了443端口作HTTPS用的情况下,SoftEther会显示如下的信息表示侦听443端口失败

(举例)

1.[root@gatewayse_hub]#./se_hub

2.LOG:SoftEtherVirtualHUBServiceVersion1.00forUNIXSystem

3.LOG:Copyright(c)1997-2004DaiyuuNobori,AllRightsReserved.

4.LOG:SoftEtherStarted.

5.LOG:TCP/IPinited.

6.LOG:ServiceProcessBegin.

7.LOG:SSLLibraryInited.

8.LOG:Protocol[DirectTCP/IPConnection]InitSucceed.ProtocolID:0

9.LOG:Protocol[ProxyConnection]InitSucceed.ProtocolID:1

10.LOG:Protocol[ProxyConnection](1)ListenFailed.Port=443.

这种情况下,进入V-HUB的管理菜单,把默认端口改变即可

V-HUB的管理菜单使用方法,参见Windows版发行时候的说明教程(网络版精华区有下载)

4-4)关于Server认证ca.key和ca.crt(老服强烈提请试图使用LinuxV-HUB的筒子们关注这部分)

SoftEtherV-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.#opensslgenrsa-outca.key-des31024

2.GeneratingRSAprivatekey,1024bitlongmodulus

3.……++++++

4.……++++++

5.eis65537(0x10001)

6.Enterpassphraseforca.key:softether<——说的就是这里

7.Verifying-Enterpassphraseforca.key:softether<——还有这里

注意:密钥的PassPharse请输入"softether"九个字母。而且不要丢掉这个密钥文件,严加管理!

老服注:俺这里感觉不太爽,固定“softether”为密钥文件的密码,岂不是安全性大为下降么?当然,V-HUB要是不知道这个密码,也无法正常通讯。但始终觉得这里问题不小……谁清楚,出来说说你的想法好了。

ca.crt(生成认证文件)

(举例)

1.#opensslreq-new-x509-keyca.key-outca.crt

2.Enterpassphraseforca.key:softether<——这里?

3.Youareabouttobeaskedtoenterinformationthatwillbeincorporated