Skip to content
On this page

Docker搭建虚拟局域网服务器--SoftetherVPN

Softether是一款全能型VPN网络工具,搭建虚拟局域网、DDNS、二层网桥、三层路由、L2TP连接、OpenVPN直接连接等网络功能只要你想得到它就能实现出来。本文将带来Softether的Docker搭建流程,以及实现一个虚拟局域网,支持windows、macos客户端连接以及所有设备的L2TP连接(包括安卓、IOS)。

Docker搭建服务端

1. 创建启动脚本

sh
mkdir -p /data/softether
cd /data/softether
touch start.sh
chmod +x start.sh

2. 编写脚本

sh
vim start.sh

# 写入以下脚本
docker run -d \
  --name softether \
  --restart=always \
  --log-opt max-size=1m \
  --cap-add NET_ADMIN \
  -p 5555:5555/tcp \
  -p 500:500/udp \
  -p 4500:4500/udp \
  -e SPW=服务端管理密码 \
  siomiz/softethervpn
  • --name 容器名称
  • -p 5555:5555 映射服务端口
  • -p 500:500/udp -p 4500:4500/udp L2TP服务端口,如果不需要L2TP可以不添加
  • -e SPW=服务端管理密码 设置服务端管理密码
  • 防火墙注意放行上述端口

3. 运行脚本./start.sh

4. 下载服务器控制软件,可视化操作

下载地址下载页面

5. 安装后

打开软件,在服务端列表下方,点击新设置 新增管理 填写你的服务器端所在IP地址,端口选择第二步映射出来的5555,密码处填写第二步设置的服务端管理密码。 确认后连接到服务器。

6. 此时Softether就已经安装就绪了,后续通过管理软件配置需要的功能即可

创建虚拟局域网服务

1. 点击创建虚拟hub

创建虚拟hub 依次填写虚拟hub名称、密码、确认密码、勾选不像匿名用户枚举、点击确定保存。

2. 虚拟hub设置

虚拟hub设置

  • 选择创建的虚拟hub,点击管理虚拟hub,点击管理用户,按照需要创建若干用户。
  • 点击虚拟NAT和虚拟DHCP服务器,点击启用SecureNat,点击SecureNat配置。 NAT配置
  • 去勾使用虚拟NAT功能,删除默认网关与DNS。(如果没有这项操作,当你登陆了虚拟hub,你将可以通过服务端的网络进行互联网通信,注意:国内搭建VPN翻墙属于违法行为!
  • 确定保存

使用客户端进行连接

下载地址与服务端管理程序相同。 客户端

  • 安装后点击虚拟适配器、新建虚拟适配器、给适配器取个名字、点击确定等待创建完成
  • 点击添加新的VPN 添加新的VPN
  • 填写名称、ip地址(域名也行)、端口选择上文设置的5555、选择上文创建的虚拟hub、填写虚拟hub的用户名密码。
  • 点击确认、连接。此时会提示你在虚拟局域网中的ip地址,代表已经连接成功了。(注意windows需要关闭公用网络防火墙)
  • 其他客户端也进行相同操作,完成后就可以相互ping通对方的局域网ip了。

使用L2TP进行连接

有时候我们会觉得每次都下载一个客户端进行连接太麻烦,又或者使用安卓、IOS没有相应客户端。此时,可以通过L2TP连接解决上述问题。

服务器端设置

  • 注意若需要使用L2TP需要docker启动时映射500、4500端口的udp流量,防火墙请放行这两个端口,否则无法连接上。
  • 登陆服务端管理工具,点击Ipsec/L2TP设置 Ipsec/L2TP设置
  • 启用L2TP功能、选择默认hub、设置预共享密钥。

如有创建了多个虚拟hub,当使用L2TP登录非默认hub时,需要在用户名后@hub名,如:laoyutang@test,默认hub则不需要

  • 点击确认保存

客户端连接

PC端(windows举例)

  • 打开系统设置-网络和Internet-VPN-添加VPN windows添加VPN
  • 如图依次填写相关信息,注意VPN类型选择使用预共享密钥的L2TP/IPsec,预共享密钥为上一步设置的密钥。账号密码为hub用户名密码。
  • 特别注意,添加VPN后不要直接点击连接,因为设置虚拟hub时我们关闭了NAT并且删除了hub的默认网关,此时我们连接上hub所有网络流量转发到服务端,服务端又没有指定网关,将会导致断网,需要设置虚拟网卡不使用远程网关!再次提醒,国内搭建VPN翻墙属于违法行为
  • 打开系统设置-网络和Internet-高级网络设置-更多适配器选项 适配器设置
  • 选择L2TP的适配器-属性-网络-IPv4-属性-高级-去勾在远程网络上使用默认网关。
  • 一路确定返回即可
  • 连接VPN,双击L2TP的适配器,在详细信息中查看局域网IP地址。

手机端(安卓举例)

  • 设置-更多连接-VPN。
  • 与PC端相同,依次填写相关信息,连接即可。

Tips

本文介绍了Softether服务端的docker搭建方式,并且使用softether创建了一个虚拟局域网,读者可以根据需要选择客户端方式或者L2TP方式进行连接。后续作者也会继续带来softether其他功能的使用。

上次更新于: