之前聊过暴露服务器到外网,比如有公网IP通过NAT或DMZ方式暴露机器到公网,那还多余搭建VPN干啥, 从某些角度看确实有相同的地方,比如都可以从外网访问到内网机器,但是VPN更像是把外网的机器虚拟的放到内网中,这样就可以访问内网中的任何设备了.
如果服务端部署在公司机器上,那么有疫情就可以居家办公了.
如果服务端部署在家庭网中树莓派或闲置机器,也可以随时访问家中的设备了.如远程养鱼等.
文章插图
今天使用的是Docker来搭建,需要基本的Docker使用知识,以下操作基于Debian的树莓派,centos系统基本一样,操作步骤超级简单:
0.前提
需要在服务端提前安装好Docker,如果不会操作也可以留言.
1.搭建VPN服务器
拉取镜像
启动一个容器实例
--name ipsec-vpn-server
--env-file /usr/local/etc/ipsecVpn.env
--restart=always
-p 500:500/udp
-p 4500:4500/udp
-d --privileged
hwdsl2/ipsec-vpn-server:debian
参数说明:
每行后边的不要去掉,它表示一条命令没结束,在下一行继续
--name 表示启动后实例的名称
--env-file 表示配置文件的位置,可配置用户名密码,密钥等,参考如下, VPN_IPSEC_PSK的长度至少20位
VPN_USER=test
VPN_PASSword=testvpn123
--restart 表示每次启动docker服务后自动启动这个实例
-p 表示把容器中的端口映射到主机的对应端口上
启动后验证是否启动成功,可以用docker ps 命令, 也可以?.NETstat查看端口是否在监听
文章插图
更深入的操作参考
https://github.com/hwdsl2/docker-ipsec-vpn-server/blob/master/README-zh.md
2.防火墙开端口
执行如下两行命令
ufw allow 4500/udp comment 'docker的VPN使用'
如果是CenterOs系列,则用Firewall-cmd开端口
3.客户连连接
可以是mac,windows,linux,鸿蒙,Android,IOS等.
参考
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-zh.md
如果Mac之前连过无密钥的VPN,请检查文件/etc/ppp/options ,本次连接VPN请注释掉 #l2tpnoipsec
当然如果内网中没有公网IP可以通过frp映射相应端口到有公网IP的机器上 (如VPS)也一样.参考<<没有公网IP的机器如何能被外网访问>>
扩展:
如果公司网络限制访问视频音乐等网站,则连接VPN后即可突破此限制,且手机亦同理.
如果有国外的VPS, 那么科学上网也是一样的道理
【VPN搭建】-----------------end-----------------
推荐阅读
- 刘德华|这是发生在刘德华成名之前的一个故事
- element乘风破浪
- 从购买服务器到网站搭建成功保姆级教程~超详细
- 蜘蛛池-蜘蛛池收录技术-蜘蛛池怎么免费搭建
- 孔子之前都是孔子,鲁迅之后都是鲁迅?鲁迅对孔子的态度
- 岳云鹏|德云社岳云鹏玩大摆锤,全程没有害怕,粉丝:之前都是装出来的
- 忽必烈为什么不统一蒙古帝国?忽必烈之前的蒙古大汗
- 张辽在投降曹操之前在谁的帐下?张辽是曹操打败谁后被收服_1
- 慈禧之前是什么妃?慈禧是怎么把珍妃推进去的
- 不折腾会死---浅谈家庭局域网的搭建 家庭局域网