申明:本文章仅供研究学习使用,请勿用于商业、非法用途,本文禁止转载!
注意:根据《中华人民共和国计算机信息网络国际联网管理暂行规定》,计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。
VPN(虚拟专用网)的搭建对于新手来说尽管在网上有很详尽的教程,可是真正搭建成功还是略复杂的,在这里介绍日本筑波大学研发的分布式 VPN ——SoftEther,本文主要介绍 Linux 下的SoftEther安装及使用方法,搭建VPN Server(PPTP、L2TP、OpenVPN)。
需要提前准备的材料:
SoftEther VPN
官网:http://www.softether-download.com/cn.aspx?product=softether 包含多种平台架构的下载地址(需科学上网)
搭建
一、服务端部署
(1)安装 SoftEther
sudo apt-get update
sudo apt-get install build-essential
#安装 make gcc g++ 编译软件
ubuntu系统执行: apt-get install make gcc g++ -y
cenos 系统执行: yum install make gcc gcc-c++ -y
#32 位执行这个:
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.29-9680-rtm/softether-vpnserver-v4.29-9680-rtm-2019.02.28-linux-x86-32bit.tar.gz
#64 位执行这个:
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.29-9680-rtm/softether-vpnserver-v4.29-9680-rtm-2019.02.28-linux-x64-64bit.tar.gz
tar xvf softether-vpnserver-v4.29-9680-rtm-2019.02.28-linux-x64-64bit.tar.gz #解压缩:tar xvf 文件名
cd vpnserver #切换到解压出来的目录中
make #安装
如果你的服务器在国内,可以使用Winscp软件(主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件)上传到服务器。WinSCP 有两种界面可供您选择,如果您是第一次使用 WinSCP,建议选择 Windows Explorer 界面,因为 Windows 用户比较熟悉这个界面。
点此快速下载
- 链接:https://pan.baidu.com/s/1QpakYDLhZFIBDuQytfteSg
提取码:gt5i
连续输入三个 1 ——> 安装完成 不要删除此目录
(2)设置 SoftEther VPN 服务
./vpnserver start #开启服务
./vpncmd #依次 1,回车,回车 针对开启了 https 的 web 服务器,依次 1,localhost:5555,回车
ServerPasswordSet #设置管理服务器的密码,两次确定之后,按 ctrl+C 退出管理 这里我选择不设置密码
sudo vim /etc/rc.local #将服务器加入到开机启动项中
在 exit 0 之前写入:
/root/vpnserver/vpnserver start
./vpncmd 报错,参见:|SoftEther 443 端口与 web 服务器冲突解决方案
二、SoftEther VPN Server Manager部署(本质上是用可视化界面部署服务端)
(1)连接到服务端
打开SE-VPN Server Manager (Tools)管理工具 ——> 点击新设置 ——> 设置(如图) ——>确定 ——> 连接
密码连接管理模式 处填写之前设置的 管理服务器的密码 。
针对开启了 https 的 web 服务器,之前又设置了 管理服务器的密码 且在 ./vpncmd 时 依次 1,回车,回车 操作的,密码连接管理模式 处不要填写内容。
第一次连接会让你自己设定一个密码,下次就用你设定的密码登录你的VPN
连接 ——> 关闭
(2)弹出窗口点否 ——>点击 管理用户 ——> 点击管理HUB ——> 新建 ——> 设置 用户名 和 密码 ——> 确定
(3)回到管理虚拟HUB界面 ——> 点击虚拟NAT和虚拟DHCP服务器 ——> 启用SecureNAT ——> 确定
请一定要注意,SecureNAT 和 Local Bridge(本地桥)不可以同时开启!否则会造成链路层死循环占用大量 CPU。
记下主机名,没有记住就是用公网IP,也OK!
三、VPN 搭建
在这里介绍L2TP、OpenVPN两种方法。L2TP 比 OpenVPN 容易配置。我们推荐在尝试 OpenVPN 前试试 L2TP/IPsec。一些防火墙可能会滤 L2TP/IPsec 数据包。在这种网络中,你应该使用 OpenVPN。
(1)通过SoftEther客户端连接VPN
- SoftEther VPN 客户端 点此下载
添加虚拟网络配置器 ——> 添加新的VPN连接 ——> 输入信息 ——> 确定
双击输入账号密码连接
(2)搭建L2TP Over IPSec/PSK
主界面点击 L2TP,勾选全部选项,设置一个预共享密钥(当成 WiFi 密码随意设置)
L2TP Over IPSec/PSK的客户端配置方法
(2.1)Windows
在 "记住此密码" 前打勾
当 "连接已经可以使用" 消息出现,点击 "关闭" 按钮。请勿点击 "现在连接" 按钮
到 "网络和共享中心" 并点击 "更改适配器设置" 。
在 "VPN 类型" 的下拉列表中选择 "使用 IPsec 的第 2 层隧道协议 (L2TP/IPSec)"
双击已建立的 VPN 连接设置,以下屏幕将出现
如果您在前面的步骤中启用了密码的保存选项, "用户名" 和 "密码" 字段应被自动填写。如果没有,在 "用户名" 和 "密码" 字段都输入 "vpn" 。
点击 "连接" 按钮,开始 VPN 连接尝试。
当正试图建立 VPN 时,下面屏幕显示状态。如果发生错误,请确认您的设置,并确保 VP N 的类型是 "L2TP/IPsec" ,并正确指定预共享密钥。
如果成功建立 VPN 连接, VPN 连接图标出现在屏幕上,当您单击 Windows 屏幕右下角的网络图标会将其列出。 "VPN 连接" 图标的状态应该是 "已连接" 。
顺便说一下,你可以从现在开始,只需简单点击此 VPN 图标,即可启动 VPN 连接。
(2.2)Mac
在 "Interface" 选择 "VPN","VPN Type" 选择 "L2TP over IPsec" 并点击 "Create" 按钮
下一步,点击 "Authentication Settings..." 按钮
验证屏幕会出现。在 "Password" 字段输入"vpn" (3 个字母)。在 "Shared Secret" 字段也指定 "vpn" (3 个字母)。在你输入之后,点击 "OK" 按钮
再回到前一屏,在 "Show VPN status in menu bar" 前打勾并点击 "Advanced..." 按钮
高级设置将出现。在 "Send all traffic over VPN connection" 前打勾并点击 "OK" 按钮。
(2.3)ios
设置 ——>通用 ——> VPN ——> 添加VPN配置
在你指定 "Server" 字段以后, 在 "Account"、"Password" 和 "Secret" 字段输入 "vpn" (3 个字母) 。输入后,点击 "Save" 字段。
在任何时候通过使用已创建的 VPN 连接设置,您可以开始一个 VPN 连接
(3)搭建OpenVPN
这里端口要注意:53/67/68,一般都可以,具体自己试一下,不过我推荐大家如果不是有特殊目的,只是单纯使用,可以直接使用之前的5555端口,因为我们至少能够保证5555端口是开放的。
在这里有一个坑,请务必保证你的服务器端的UDP 53端口是开放的!!!
DNS的默认协议、端口是UDP 53,因此设置UDP 53端口能够绕过web认证,免验证使用网络。
把得到的文件解压,注意把生成的xxxl3.ovpn文件复制到客户端桌面上方便查找上。
OpenVPN客户端配置方法
OpenVPN 的配置涉及到证书的生成,但是 SoftEther 同样提供了比较方便的服务器、客户端配置方法。
(使用方式可参考此文章 http://www.vpngate.net/cn/howto_openvpn.aspx)
(3.1)Windows
(1) 下载并安装 OpenVPN 客户端
OpenVPN 官网下载地址:https://openvpn.net/index.php/open-source/downloads.html
- 链接:https://pan.baidu.com/s/1zV_Zn4Vo6xe0-jgLBrjDog
提取码:he2q
(2) Import files
1. 建议先修改xl3.ovpn文件,修改成tcp
2. 打开电脑端的openvpn软件 ——>点击 settings ——> Advanced ——> 找到config路径导入xl3.ovpn文件
3. 右下角右键选择Connect ——>输入虚拟 Hub 里设置的一对账号密码 ——> 图标变绿表示成功
(3.2) mac
安装 Tunnelblick
移动和复制 OpenVPN 连接设置文件 (.ovpn 文件) 到在桌面上自动创建的 "Empty Tunnelblick VPN Configuration" 文件夹。
重命名桌面上 "Empty Tunnelblick VPN Configuration" 文件夹为 "anyname.tblk" 。("anyname"的部分可以变化。) 重命名后,你必须指定后缀 ".tblk" 。
当你要重命名时,将显示以下消息。点击 "Add" 按钮。
双击 .tblk 文件夹,将显示以下屏幕。点击 "Only Me"
你将输入 Mac OS X 的用户名和密码
(3.3)Android
安装客户端程序,右上角菜单依次选择 Import-Import Profile from SD Card,选择保存的 l3 的 ovpn 文件,输入账号密码点击 connect,信任即可。
(3.4)iOS
APP store 搜索下载 OpenVPN。
将xl3.ovpn文件用 OpenVPN 打开,输入用户密码,开启连接:
四、绕过web认证,免验证使用网络方法
如果您有任何疑问或者好的建议,期待你的留言与评论
想请问博主 nat vps能不能拿来搭建 翻墙 用这个方法
有个问题,我有两台服务器。A服务器配置成功可以链接,B服务器配置好后VPN链接不上,需要VPN链接到A后才能链接B的VPN。这是什么原因呢?我远程链接这两台电脑都没问题,主要是A服务器马上要到期了
telnet B服务器的443端口都是通的
感谢,已配置成功。
openvpn连接后,不能访问内网,请问怎么解决?
楼主,文中关于L2TP/IPsec的登录用户名密码信息有误,并不是vpn,是在虚拟HUB中创建的用户名和密码,否则的话是登录不上的。
客户端连接openvpn server后可以上公网,自己的ip是虚拟NAT分配的,但是访问不了服务器的内网
[...]参考:http://blog.dengxj.com/archives/9/ (https://web.archive.org/web/20220306081340/http://blog.dengxj.com/archives/9/)[...]
用国内的服务器搭建openvpn违法吗
违法,会被抓
按照设置还是不能用是咋回事。。
请问内网ip怎么映射的公网域名,花生壳的动态域名+端口映射的方式是否可行,好像花生壳的不支持https的443端口
可以使用frp内网穿透技术。
建议前往专栏:https://blog.csdn.net/deng_xj/category_9288451.html
手机端实现是在手机上装一个openVPN就可以了,我是想有没有办法把softether配置在手机上实现,有没有softether安卓端软件。
softether在手机上操作的意义不是很大,主要还是根据其产生证书等配置文件,基于此实现搭建。
大神,能不能详细介绍一下原理呢,看图还是看不懂,只了解dns隧道绕过认证,不知道这个是不是和dns隧道差不多。
可以把系列文章全部阅读一遍,以便更好理解哦!
博主有没有vpn相关的技术原理的书籍推荐?
暂时没有哦,可以持续关注我的博客,持续更新。
niubility,感谢无私分享
666写得好