红联Linux门户
Linux帮助

linux下SoftEther服务器架设,可以两内网互联

发布时间:2006-10-03 00:13:52来源:红联作者:hfh08
作者:wheel

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,再启动一下,就好了。
文章评论

共有 0 条评论