虚拟专用网络的主要目的是访问服务器的内网主机,达到保护内网安全的目的。
项目的原地址:https://github.com/hwdsl2/setup-ipsec-vpn
项目有中文版本的说明,也有一键安装的脚本,请自行参考。搭建成功后客户端不能进行连接的,请参考下面方式。注意Debian系统对这个项目的兼容性很差,建议使用ubuntu的!
服务器搭建
直接搭建
这种方式个人是不推荐使用的,因为安全风险问题,服务器本身如果存在其他应用会对造成风险,如果用docker方式搭建,只要应用在容器中自己不修改配置,是无法访问容器内部或者通过修改docker网络配置也可以达到目的。
一键脚本,你的 VPN 登录凭证将会被自动随机生成,并在安装完成后显示。
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
docker搭建(推荐)
一键脚本,搭建成功凭证会在当前执行的ikev2-vpn-data文件存在。
docker run \ --name ipsec-vpn-server \ --restart=always \ -v ikev2-vpn-data:/etc/ipsec.d \ -v /lib/modules:/lib/modules:ro \ -p 500:500/udp \ -p 4500:4500/udp \ -d --privileged \ hwdsl2/ipsec-vpn-server
客户端连接
请注意,连接之前要保证自己已经搭建成功,直接在服务器搭建可以查看状态,docker搭建要查看日志,ubuntu20的没有问题,使用其他系统可能会有问题,需要自行解决。
有两种连接方式,一个是证书,一个是账号密码(注意这里有很多坑,个人建议证书连接)
证书方式连接
1.先导出证书
默认情况下,如果是docker版本的,在容器内部中/etc/ipsec.d/,可以通过cp容器内部文件夹到本地服务器中。注意导入到本地文件想查看文件必须是root权限,否则将无法查看权限。
docker cp ipsec-vpn-server:/etc/ipsec.d/ ./
查看当前文件夹,并已root权限的进入该文件夹
ls su root cd ipsec.d ls
在默认没有修改的情况下,vpnclient.p12、vpnclient.sswan、vpnclient.mobileconfig、.mobileconfig,这些文件分别对应的是Windows、安卓、macOS、ios,它还支持Chrome OS和其他linux的,具体请查看官方说明:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/ikev2-howto-zh.md#os-x-macos
2.window系统连接
Windows 8, 10 和 11 用户可以自动导入 IKEv2 配置:
(1)将生成的 .p12 文件安全地传送到你的计算机。
(2)右键单击 ikev2_config_import.cmd,下载地址:ikev2_config_import.cmd 并保存这个辅助脚本到与 .p12 文件 相同的文件夹。
(3)右键单击保存的脚本,选择 以管理员身份运行 并按提示操作。
(第一个默认回车就可以了,代表证书名,第二个是自己的服务器地址,第三个是VPN名称,这个可以任意)
(4)要连接到 VPN:单击系统托盘中的无线/网络图标,选择新的 VPN 连接,然后单击 连接。连接成功后,你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP。
3.安卓系统连接
(1)先下载连接vpn的应用程序,下载地址列表:https://download.strongswan.org/Android/
(2)通过QQ等其他方式保存到安卓手机中,如果是通过QQ,可以直接在QQ中点击该文件,并选择打开的应用为strongswan程序,根据提示导入便可以了,如果是其他方式,需要找到该文件的地址,并选择打开的应用为strongswan程序。如果没有选择打开的应用为strongswan程序,请自己手动打开strongswan程序,并在右上角点击导入VPN配置(注意,不是傍边的添加VPN配置)
4.其它系统连接
请参考官方文档说明:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/ikev2-howto-zh.md#os-x-macos