<返回更多

VPN搭建

2022-09-15  今日头条  我叫陶光耀
加入收藏

之前聊过暴露服务器到外网,比如有公网IP通过NAT或DMZ方式暴露机器到公网,那还多余搭建VPN干啥, 从某些角度看确实有相同的地方,比如都可以从外网访问到内网机器,但是VPN更像是把外网的机器虚拟的放到内网中,这样就可以访问内网中的任何设备了.

如果服务端部署在公司机器上,那么有疫情就可以居家办公了.

如果服务端部署在家庭网中树莓派或闲置机器,也可以随时访问家中的设备了.如远程养鱼等.

 

今天使用的是Docker来搭建,需要基本的Docker使用知识,以下操作基于Debian的树莓派,centos系统基本一样,操作步骤超级简单:

0.前提

需要在服务端提前安装好Docker,如果不会操作也可以留言.

 

1.搭建VPN服务器

拉取镜像

docker pull hwdsl2/ipsec-vpn-server:debian

启动一个容器实例

docker run

--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_IPSEC_PSK=abcx1x2x3x4x5xx67890x

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 500/udp comment 'docker的VPN使用'

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, 那么科学上网也是一样的道理

-----------------end-----------------

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>