基于Softether搭建虚拟私有网络(局域网组网工具SoftEther中文语言版)
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
现在有好多小伙伴想把公司里的一些软件到家里也能访问,可是通过远程3389也可以,但是太容易暴露问题,也实属不安全,就有不少朋友开始想到了开源软件SoftEther来组网,达到互相访问,其实还有一个软件叫跟EasyN2N(N2N启动器),也差不多,但是SoftEther更全面;
SoftEther 是日本筑波大学的一个研究项目,是一个开放源代码的跨平台多协议 虚拟私有网络程序,它包括服务器端、客户端、服务器端管理工具等数个软件,支持 SSL 协议、 L2TP/IPsec 协议、 Open拼 协议和 Microsoft SSTP 协议,Windows、linux、Android 和 IOS 等操作系统都可以连接到 SoftEther 服务器
软件介绍:该软件是一个能虚拟网卡和集线器(HUB)的工具,只要可以访问互联网,都可以使用它来组建远程局域网。在此虚拟的局域网上能进行所有物理局域网上的操作。可以互相访问,可以联网玩只支持局网的游戏(TCP/IP),语言: English, Japanese, Simplified Chinese!
基于Softether搭建虚拟私有网络(局域网组网工具SoftEther中文语言版)
1、需要下载两样东西,一个是服务端的、一个是客户端管理工具;(此处我以Linux服务端与Winodws客户端来做例子,大家可以按照自己的机器来选择)
SoftEther下载地址如下:
https://github.com/SoftEtherVPN/SoftEtherVPN/releases
https://www.softether-download.com/cn.aspx?product=softether
https://www.softether.org/5-download
2、最好还是不要下载测试版,然后再选择Windows下载个exe客户端,如下所示两个文件:
一、安装Softether服务端
1、首先将服务端文件上传上你的服务器:
rz是一个可以上传文件的Linux软件包,如果你没有就请使用:sudo apt install lrzsz
进行安装
2、更新下软件源与安装gcc
sudo apt update sudo apt install build-essential
说明:这里请注意下,直接复制的第二行去安装可能会提示没有这个软件,你可以自己重新将中间的 - 符号重新敲一遍。或者你直接自己敲这一行(好像是网页复制过来的格式不一样)
3、将服务端文件解压,然后进入解压后的目录下,然后编译一下
sudo tar -xvf ./softether-vpnserver-v4.42-9798-rtm-2023.06.30-linux-x64-64bit.tar.gz cd ./vpnserver sudo make
4、编译完成后开启VPN服务测试一下能否启动:
sudo ./vpnserver start # 关闭就是 stop
此时服务端就配置完了,没啥大的难度!
二、安装Softether Windows 客户端
客户端安装起来就简单多了,直接打开安装文件,然后下一页(程序可能会申请管理员权限,请同意),选择管理工具即可(如想做组网打通异地局域网环境的话就选择第一个)
选择了没啥可说的,就是下一步下一步的操作即可!
三、配置Softether服务端
打开刚安装的SoftEther VPN Server管理工具,点击新设置,输入好设置名与主机名(就是你服务器的IP地址)即可
只要状态变为在线即可,如上图所示;
基本这样就可以啦,但,得注意一点,记得将云服务器那边的虚拟DHCP也关闭,现进行连接:
局域网里面有两台设备,一台用于当中转(IP:192.168.100.128),一台不干什么(IP:192.168.100.129),异地有一台设备,异地这台设备现在连接云服务器上的VIP后,将会自动被分配IP地址(192.168.100.130),在局域网可以看到这台设备在线被分配地址了。此刻使用IP为192.168.100.129的机器ping一下异地设备:
需要说明的一点就是,异地设备是连接云服务器上,所以用户这些只要在云服务器上新建设置即可,在中转设备上无需设置
还有一种方式就是可以直接在软路由上装这个软件进行中转,比如OpenWrt之类的,会比较方便。SoftEther也有支持arm架构的服务端。
教程就到此结束了~~~根据操作大家看一下就欧克了~~~~~~~~~~~
关于Softether的延伸阅读:
一、重置管理员密码
关闭server的softether 服务(不关闭改完重启不会生效)
修改server安装目录下的vpn_server.config文件,找到里面的declare ServerConfiguration部分,里面有个byte HashedPassword xxxxxxx,将xxxxxxx改为+WzqGYrR3VYXrAhKPZLGEHcIwO8= (默认密码)
启动server的服务,用softether server管理工具再连接server的时候,就会让你设置新密码了。
二、softether服务器,用于连接不同的网络,可是前不久突然以前能连接的地方不能连接了;重装客户端再设IP也没有起作用!
本机和要连接的客户机使用了不同的连接用户连接到HUB,即使两台机器虚拟网卡的IP设置一样,结果也ping不通,看来只要换个hub用户,就可以实现多个虚拟网;
三、3号不要填写,网友经验之谈,一旦填写就成为代理服务器!
建议VIP地址使用172.16开头的B类IP(172.16.0.0 - --172.31.255.255),免得192开头的跟客户物理机冲突造成不便!
四、Softether 常用一些命令
About - 显示版本信息 AcAdd - 添加规则到 IP 地址限制列表(IPv4) AcAdd6 - 添加规则到源 IP 地址访问限制列表(IPv6) AcDel - 源 IP 地址限制列表内的删除规则 AcList - 获取源 IP 地址访问限制列表的规则项目列表 AccessAdd - 添加规则到允许访问列表 (IPv4) AccessAdd6 - 添加访问列表规则 (IPv6) AccessAddEx - 添加扩展访问列表规则 (IPv4:延迟、时基误差/数据包丢失产生) AccessAddEx6 - 添加扩展访问列表规则 (IPv6,生成延迟,时基误差/数据包丢失) AccessDelete - 从访问列表中删除规则 AccessDisable - 禁用访问列表规则 AccessEnable - 启用访问列表规则功能 AccessList - 获取访问列表规则 AdminOptionList - 获取虚拟 HUB 管理选项列表 AdminOptionSet - 设置虚拟 HUB 管理选项的价值 BridgeCreate - 创建本地的网桥连接 BridgeDelete - 删除本地网桥连接 BridgeDeviceList - 获取可以在当地的网桥上使用的 LAN 卡一览 BridgeList - 获得当地网桥连接列表 CAAdd - 添加可以信任的机构颁发的证书 CADelete - 删除可以信任的机构颁发的证书 CAGet - 获得可信任机构颁发的证书。 CAList - 获取可以信任的机构颁发证书的列表 Caps - 获得服务器的功能性能一览表 CascadeAnonymousSet - 将级联连接的用户认证类型设置为匿名身份验证 CascadeCertGet - 获取级联连接所需的客户端证书 CascadeCertSet - 将级联连接时所需的用户验证设置为客户证书验证 CascadeCompressDisable - 级联通信是数据禁止压缩功能 CascadeCompressEnable - 启用级联通信是数据压缩功能 CascadeCreate - 创建一个新的级联接续 CascadeDelete - 删除级联连接 CascadeDetailSet - 级联通信的高级设置 CascadeEncryptDisable - 级联连接通信时,禁用加密 CascadeEncryptEnable - 启用级联通信时加密 CascadeGet - 获取级联连接的设置 CascadeList - 获取级联接续列表 CascadeOffline - 将级联设置为脱机状态 CascadeOnline - 设置级联接续的在线状态 CascadePasswordSet - 将级联连接时所需的用户验证设置为密码验证 CascadePolicySet - 设置级联连接的安全协议 CascadeProxyHttp - 将级联连接方法设定为通过 HTTP 代理服务器 CascadeProxyNone - 将级联的连接方法设置为直接与 TCP/IP 连接 CascadeProxySocks - 将级联连接方法设定为通过 SOCKS 代理服务器 CascadeRename - 更改级联的名称 CascadeServerCertDelete - 删除级联服务器固有的证书 CascadeServerCertDisable - 禁用级联服务器证书验证选项 CascadeServerCertEnable - 启用级联服务器证书验证选项 CascadeServerCertGet - 获取级联连接服务器的固有证书 CascadeServerCertSet - 设置级联连接的服务器特定证书 CascadeSet - 对级联连接方的设定 CascadeStatusGet - 获取级联的当前状态 CascadeUsernameSet - 设置级联连接的用户名 Check - 检测 SoftEther VPN 是否能正常运行 ClusterConnectionStatusGet - 获得群集控制器的连接状态的信息 ClusterMemberCertGet - 获得群集成员证书 ClusterMemberInfoGet - 会员信息的获取 ClusterMemberList - 获得群集成员名单 ClusterSettingController - 设置 VPN Server 类型为群集控制器 ClusterSettingGet - 获取当前 VPN Server 群集配置 ClusterSettingMember - VPN Server 类型设置为群集成员 ClusterSettingStandalone - 设置为独立的 VPN Server 类型 ConfigGet - 获取 VPN Server 当前系统配置 ConfigSet - 往 VPN Server 上写入系统配置内容 ConnectionDisconnect - 断开 VPN Server 和 TCP 的连接 ConnectionGet - 获取连接到 VPN Server 的 TCP 信息一览表 ConnectionList - 获取与 VPN Server 相连的 TCP 连接一览 Crash - 出现一个错误的 VPN Server / Bridge 强行终止该进程。 CrlAdd - 添加无效的证书 CrlDel - 删除无效的证书 CrlGet - 获取无效的证书 CrlList - 获取无效证书名单列表 Debug - 执行调试命令 DhcpDisable - 禁用安全网络功能的虚拟 DHCP 服务器功能 DhcpEnable - 启动安全网络功能的虚拟 DHCP 服务器功能 DhcpGet - 获得安全网络功能的虚拟 DHCP 服务器功能的设置 DhcpSet - 更改安全网络功能的虚拟 DHCP 服务器功能的设置 DhcpTable - 获取安全网络功能的虚拟 DHCP 服务器租约表格 DynamicDnsGetStatus - 显示动态 DNS 功能的当前状态 DynamicDnsSetHostname - 设置动态 DNS 主机名 EtherIpClientAdd - 添加新的 EtherIP / L2TPv3 over IPsec 客户端设置来接受 EtherIP / L2TPv3 客户端设备 EtherIpClientDelete - 删除一个 EtherIP / L2TPv3 over IPsec 客户端设置 EtherIpClientList - 获得当前 EtherIP / L2TPv3 客户端设备条目定义列表 ExtOptionList - 获取虚拟 HUB 扩展选项列表 ExtOptionSet - 设置虚拟 HUB 扩展选项的值 Flush - 保存 VPN Server / Bridge 全部不稳定数据到配置文件。 GroupCreate - 创建组 GroupDelete - 删除组 GroupGet - 获得组信息和所属用户列表 GroupJoin - 用户添加到组 GroupList - 获取组列表 GroupPolicyRemove - 删除组的安全策略 GroupPolicySet - 设置组的安全策略 GroupSet - 设置组信息 GroupUnjoin - 从组内删除用户 Hub - 选择拟管理的虚拟 HUB HubCreate - 创建新的虚拟 HUB HubCreateDynamic - 创建一个新的动态虚拟 HUB (集群) HubCreateStatic - 新创建一个静态虚拟 HUB (集群用) HubDelete - 删除虚拟 HUB HubList - 获取一个虚拟 HUB 列表 HubSetDynamic - 将虚拟 HUB 的类型变为动态虚拟型 HubSetStatic - 将虚拟 HUB 的类型变为静态虚拟型 IPsecEnable - 启用或禁用 IPsec VPN Server 功能 IPsecGet - 获得当前IPsec VPN Server 设置 IpDelete - 删除 IP 地址表项 IpTable - 获取 IP 地址表数据库 KeepDisable - 禁用保持互联网连接功能 KeepEnable - 启动 Internet 保持连接功能 KeepGet - 获取保持互联网连接的功能 KeepSet - 设置 Internet 保持连接功能 LicenseAdd - 注册新的许可证密钥 LicenseDel - 删除已注册许可 LicenseList - 获得已注册许可证的列表 LicenseStatus - 获取目前的 VPN Server 状态 ListenerCreate - 创建新的 TCP 监听器 ListenerDelete - 删除 TCP 监听器 ListenerDisable - 停止 TCP 监听器运行 ListenerEnable - 开始 TCP 监听器运行 ListenerList - 获取 TCP 监听器列表 LogDisable - 禁用安全日志或数据包日志 LogEnable - 启用安全日志或数据包日志 LogFileGet - 日志文件下载 LogFileList - 获取日志文件列表 LogGet - 获取虚拟 HUB 日志的保存设定 LogPacketSaveType - 设置保存为数据包日志文件的数据包种类及保存。 LogSwitchSet - 设定替换日志文件的周期 MacDelete - 删除 MAC 地址表项 MacTable - 获取 MAC 地址表数据库 MakeCert - 创建新的 X.509 证书和密钥 (1024 位) MakeCert2048 - 创建新的 X.509 证书和密钥 (2048 位) NatDisable - 禁用安全网络功能的虚拟 NAT 功能 NatEnable - 启用安全网络功能的虚拟 NAT 功能 NatGet - 获得安全网络功能的虚拟 NAT 功能的设置 NatSet - 更改安全网络功能的虚拟 NAT 功能的设置 NatTable - 获得安全网络功能的虚拟 NAT 功能会话表 Offline - 虚拟 HUB 脱机 Online - 虚拟 HUB 的联机 OpenVpnEnable - 启用/禁用 OpenVPN 克隆服务器功能 OpenVpnGet - 获取 OpenVPN 克隆服务器功能的当前设置 OpenVpnMakeConfig - 生成 OpenVPN Client 样本设置文件 OptionsGet - 获得虚拟 HUB 的设置选项 PolicyList - 查看安全协议和可以设置的值得列表 RadiusServerDelete - 删除应用于用户认证的 RADIUS 服务器设置 RadiusServerGet - 获取用于用户认证的 RADIUS 服务器设置 RadiusServerSet - 使用在用户认证中使用的 RADIUS 服务器设置 Reboot - VPN Server 服务重新启动 RouterAdd - 定义一个新的虚拟 3 层交换机 RouterDelete - 删除虚拟 3 层交换机 RouterIfAdd - 在虚拟 3 层交换机上添加一个虚拟远程接口 RouterIfDel - 删除虚拟 3 层交换机的虚拟远程接口 RouterIfList - 获取在虚拟 3 层交换机中注册的远程接口的清单 RouterList - 获取虚拟 3 层交换机列表 RouterStart - 开始运行虚拟 3 层交换机 RouterStop - 停止虚拟 3 层交换机的运行 RouterTableAdd - 添加一个路由表项到虚拟 3 层交换机 RouterTableDel - 删除虚拟 3 层交换机的路由表项 RouterTableList - 获取虚拟 3 层交换机的路由列表 SecureNatDisable - 禁用虚拟 NAT 和 DHCP 服务器功能 (安全网络功能) SecureNatEnable - 启用虚拟 NAT 和 DHCP 服务器功能 (安全网络功能) SecureNatHostGet - 获取安全网络功能的虚拟主机的网络接口设置 SecureNatHostSet - 更改安全网络功能的虚拟主机的网络接口设置 SecureNatStatusGet - 获取虚拟 NAT 和 DHCP 服务器功能 (安全网络功能) 的工作状态 ServerCertGet - 获得 VPN Server 的 SSL 证书 ServerCertRegenerate - 生成一个新的带有指定 CN (Common Name) 的自签名证书,并且在 VPN Server 上注册。 ServerCertSet - VPN Server 的 SSL 证书和密钥的设置 ServerCipherGet - 获取 VPN 通信中使用的加密程序 ServerCipherSet - 设置 VPN 通讯中使用的加密程序, ServerInfoGet - 获取服务器信息 ServerKeyGet - 获取 VPN Server SSL 证书的密钥 ServerPasswordSet - 设置 VPN Server 管理员密码 ServerStatusGet - 获取当前服务器状态 SessionDisconnect - 断开会话 SessionGet - 获取会话信息 SessionList - 获取连接会话的列表 SetEnumAllow - 设定虚拟 HUB 允许向匿名用户显示。 SetEnumDeny - 设定虚拟 HUB 禁止向匿名用户显示。 SetHubPassword - 设置虚拟 HUB 的管理密码 SetMaxSession - 设定虚拟 HUB 的最大同时在线用户数量 SstpEnable - 启用/禁用 Microsoft SSTP VPN 克隆服务器功能 SstpGet - 获得 Microsoft SSTP VPN 克隆服务器功能的当前设置 StatusGet - 获取虚拟 HUB 的当前状况 SyslogDisable - 禁用发送系统日志的功能 SyslogEnable - 设置发送系统日志功能 SyslogGet - 取得发送系统日志的功能 TrafficClient - 在用户模式下,运行网络流量速度测试工具 TrafficServer - 在服务器模式下,运行网络流量速度测试工具 UserAnonymousSet - 将用户身份验证方法设置为匿名验证 UserCertGet - 获取注册固有证书认证用户的证书 UserCertSet - 将用户身份验证方法设置为固有证书验证,并设定证书 UserCreate - 创建用户 UserDelete - 删除用户 UserExpiresSet - 设置用户的有效期限 UserGet - 获取用户信息 UserList - 获取用户列表 UserNTLMSet - 用户身份验证方法设置为 NT 域认证 UserPasswordSet - 将用户身份验证方法设置为密码验证,并设定密码 UserPolicyRemove - 删除用户的安全策略 UserPolicySet - 设置用户的安全策略 UserRadiusSet - 将用户的认证方法设定为半径认证 UserSet - 更改用户信息 UserSignedSet - 将用户身份验证方法设置为已签名证明书认证 VpnAzureGetStatus - 显示 VPN Azure 功能的当前状态 VpnAzureSetEnable - 启用/禁用 VPN Azure 功能 VpnOverIcmpDnsEnable - 启用/禁用 VPN over ICMP / VPN over DNS服务器功能 VpnOverIcmpDnsGet - 获取 VPN over ICMP / VPN over DNS 功能的当前设置
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

