本文为本人使用Github开源项目setup-ipsec-vpn搭建IKEv2类型VPN的流程总结。
提示:
IKEv2
类型代理已经有些不安全了,容易被封,网络代理本人现在(2023年10月6日
)推荐Hysteria,可以阅读【Hysteria2 官方服务端及客户端搭建】了解最新版Hysteria2的基本使用。
本文教程需要你有一定的Linux和docker使用能力。
官方文档:《Docker 上的 IPsec VPN 服务器》
如果是要科学上网,老狗更推荐SSR(现在更推荐hysteria),网上有很多教程,且有安卓、windows、MAC多种终端的客户端,想要了解可以参考:搭建ShadowsocksR服务器
本文介绍以docker方式部署,所以你需要满足以下条件:
官方文档中提供快速开始命令,小白在安装完Docker后,可以直接运行以下命令一键部署
shelldocker 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
分析一下这个命令干了什么事
--name ipsec-vpn-server
:容器实例命名为ipsec-vpn-server
--restart=always
:Docker启动时,自动启动该容器
-v ikev2-vpn-data:/etc/ipsec.d
:建立当前文件夹下ikev2-vpn-data文件夹与容器内/etc/ipsec.d文件夹的数据映射,第二个-v
同理,不再赘述。
-p 500:500/udp
:建立容器内端口500与容器外(服务器)端口500的映射,协议为udp,第二个-p同理,不再赘述。
-d
:后台启动
--privileged
:赋权,防止当前用户权限不足,建立文件映射会报错的情况
hwdsl2/ipsec-vpn-server
:使用镜像名称,没加版本号默认使用版本latest
docker默认是从官方dockerhub获取镜像,如果你用的是大陆服务器,可能会导致镜像下载缓慢甚至失败,最简单的办法就是多等等、多尝试几次,较常见的方法是配置国内代理加速,比如阿里云加速,具体配置方式可自行学习,这里不做讲解。
容器启动会自动生成帐号密码,密码较为复杂,这也是我没使用快速开始
的一个原因。自动生成的帐号密码需要看系统启动日志才能拿到。查看日志命令:
shelldocker logs ipsec-vpn-server
因为本人最近在学习docker,借此机会想要自己动手试试,所以我是手动拉取的镜像并启动的,步骤如下
从官方dockerhub获取镜像
shelldocker pull hwdsl2/ipsec-vpn-server
shellmkdir /usr/local/ipsec-vpn
shellcd /usr/local/ipsec-vpn touch vpn.env
VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password
将=
后边的值更换成你想要的值,三个值分别是密钥、用户名、密码,会在连接VPN
时使用到这三个值。
shelldocker run --name ipsec-vpn-server --env-file ./vpn.env --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
其中和快速开始
命令的区别只是多了一个启动参数 --env-file ./vpn.env
,作用就是指定默认密钥、帐号、密码为自己的配置。
客户端想要连接到IKEv2类型VPN,需要持有相应的证书,所以需要先从服务器上导出证书,并在客户端安装证书,安装后才可以使用证书连接到VPN。
shelldocker cp ipsec-vpn-server:/etc/ipsec.d/vpnclient.p12 ./
这一步自行学习,最终目的是从服务器上将
vpnclient.p12
导出到客户端上。提示:可以借助Xftp
等工具。
PS:你想用手机连接vpn,那么你的手机就是客户端,你想用windows连接vpn,那么你的windows就是客户端。
将证书导出到客户端后,即可开始下一步。
直接运行打开vpnclient.p12
文件,选择下图打开方式安装即可。
如下图配置:
setup-ipsec-vpn
的服务器IP地址,域名应该也可以。VPN_IPSEC_PSK
,从启动日志里可以找到。来自服务器
即可注意:脚本运行后,会出来一个CMD黑窗口,其中需要你输入一些信息,如:
enter
使用默认即可)Android
的一堆配置,不再赘述,注意填写即可,不要填错了。上一步完成配置后,找到VPN配置这里,会自动出现一个VPN,名字也是在上一步填写的(我这里用了默认的,所以把服务器IP地址也显示了,码掉),若出现了,直接点击连接即可。
通过以上步骤,你可以将你的Windows和Android连接到VPN。
此种方式搭建的VPN服务,可以用系统自带的VPN连接,使用较为方便,但如果你用于科学上网,可能相比使用独立客户端的VPN更容易被封。
建站不易,以下是一个广告,还请动动您的小拇指,点击一次以示鼓励,谢谢!
就目前的访问量,即便每个访客都点一次广告,收入也不足以支付运营成本,
如果看不到广告,可能是网络原因或被拦截了,那就算了吧。祝你生活愉快~~
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!