群辉搭建IKEV2-VPN,实现外网访问家中NAS
使用该方案的前提:你有公网IP,最好有docker环境。
其他环境我没试过。详细可以查看github源码:https://github.com/hwdsl2/setup-ipsec-vpn/
1、其实群辉本身自带有VPN SERVER 套件,可以搭建PPTP,OPENVPN,L2tp/Ipsec VPN服务,但是因为Android11以上好像都只有Ikev2可以使用了,所以折腾许久后,放弃了。群辉VPN Server无法在群辉套件中下直接安装,要自己下载后安装,有兴趣研究的可以试一下,地址如下:https://archive.synology.com/download/Package/VPNCenter
2、接下来正文开始,主要参考下面两篇博客,不妨先看看。
https://lxnchan.cn/docker-vpn.html
https://blog.csdn.net/weixin_45221629/article/details/130808602
根据以上两篇教程,最终我的docker运行脚本如下:
docker run --name ipsec-vpn-server \
--env-file /volume5/app/ikev2.env \
--restart=always \
-p 500:500/udp \
-p 4500:4500/udp \
-v /volume1/docker/ikev2:/etc/ipsec.d \
-v /volume1/docker/ikev2:/lib/modules:ro \
-d --privileged \
registry.cn-hangzhou.aliyuncs.com/kaixue/ipsec-vpn-server
其中:
500,4500 应该可以自定义,然后路由器放开udp端口就行了,当然还有本机的防火墙也要放开。
/volume5/app/ikev2.env 为配置文件,可以自定义,内容如下
# cat /data/jump/vpn/.env
# Define your own values for these variables
# - DO NOT put "" or '' around values, or add space around =
# - DO NOT use these special characters within values: \ " '
VPN_IPSEC_PSK=test-psk-password
# 配置用于登陆VPN的账号和密码
VPN_USER=admin
VPN_PASSWORD=test1234
# 如下应该填写本机的外网IP
VPN_PUBLIC_IP=DDNS域名地址,没测试是否可以不填,或许只需要写VPN_DNS_NAME
VPN_DNS_NAME=DDNS域名地址
# (Optional) Define additional VPN users
# - Uncomment and replace with your own values
# - Usernames and passwords must be separated by spaces
# 配置额外的用户名和密码
VPN_ADDL_USERS=user1 user2
VPN_ADDL_PASSWORDS=pass1 pass2
# (Optional) Use alternative DNS servers
# - By default, clients are set to use Google Public DNS
# - Example below shows using Cloudflare's DNS service
#VPN_DNS_SRV1=223.5.5.5
#VPN_DNS_SRV2=223.6.6.6
VPN_DNS_NAME该配置项来源于setup-ipsec-vpn的有人提的issues 里面作者回答的,详细请看https://github.com/hwdsl2/docker-ipsec-vpn-server/issues/276
另外:VPN_DNS_SRV1 VPN_DNS_SRV2我没配置,不确定是否有效
3、运行成功后,执行docker命令:docker logs ipsec-vpn-server 会得到如下信息
4、客户端,我这边就直接抄了
Windows
将刚才获得的
.p12
文件安全的传送到客户端设备上。下载辅助脚本,并且将该脚本和刚才获得的
.p12
证书文件放在一起。运行该脚本并按照脚本提示完成安装。、
在Windows设置-网络和Internet-VPN中即可看到以IKEv2开头的连接,点击连接即可。
Android
Android端的设置则更为简单,但原生支持的IKEv2连接方式需要Android版本大于等于11。如果系统版本不满足,也可以使用strongswan的Android客户端。这里本文采用Android 13的Google Pixel 6a作为示例,由于Android设备的强定制性,不同设备可能操作方法部分不同。
首先安装证书,打开设置,选择“安全”-“更多安全设置”-“加密与凭据”-“安装证书”-“VPN和应用用户证书”,选择刚才从docker中导出的
.p12
证书。回到设置首页,打开“网络和互联网”-“VPN”-点击右上角加号
类型选择“IKEv2/IPSec RSA”,服务器地址填写服务器IP,标识符随意填写,下方用户证书、CA证书和服务器证书均选择刚才导入的证书,然后确定即可。
点击刚才新建的配置文件,选择“连接”即可。
苹果应该也有相应的连接吧,本人没有苹果手机,无法测试了。
附带一个视频教程,视频教程里面是在阿里云服务器上跑的,docker映射路径改了下:
网盘地址:
链接: https://pan.baidu.com/s/1dRCVcDaYUe6XC0ygOBampQ?pwd=IKEV 提取码: IKEV 复制这段内容后打开百度网盘手机App,操作更方便哦
最后:如果发现电脑连了vpn无法访问外网了,可以按照以下方式进行处理
1、首先,在“控制面板”中打开"网络和共享中心",点击左下角的“Internet选项”
2、然后,在弹出的Internet属性的窗口中点击"连接",然后点击右下角的"局域网设置"
3、接着,在弹出的"局域网(LAN)设置"窗口中,只勾选"自动检测配置",并且取消勾选其他的所有选项,最后点击"确定”
4、到此为止不出意外就可以正常上网啦!!!希望能够帮助到各位!
详情参考:https://blog.csdn.net/Yaoyao2024/article/details/132245249
评论区