前言
说到内网穿透,想必很多人都会想到花生壳、natapp等等穿透工具,优点就是简单方便,缺点就是有端口数量限制,不交钱的话,还限制带宽、限制协议等等
pptp能做什么?
1.连上pptp的主机都会有个局域网ip,互相可以通过局域网ip进行访问,可以让多台远程主机互相访问
2.可以做内网穿透,无端口数量限制,带宽取决于你服务器的带宽
3.内网穿透之后,可以在自己的主机上搭建服务,云服务器只做转发,减少云服务器的负载
4.其它用途就看个位小伙伴的脑洞了...
如果教程看不懂的童鞋可以看下我自己录制的视频教程
http://car.linzhehao.cn:8080/download/study/pptp.mp4
准备工具
云服务器一台,具备公网ip
系统:centos或ubuntu都可以
环境:docker、nginx
搭建pptp服务器
新建一个文件,文件名叫chap-secrets
vim /data/vpn/chap-secrets
文件内容是pptp连接的账号和密码,可自定义,同一个账号不能在两个地方同时使用
# 账号 * 密码 *
admin1 * 123456 *
admin2 * 123456 *
admin3 * 123456 *
拉取镜像
docker pull mobtitude/vpn-pptp
运行容器
docker run -d --name vpn-server --net=host --privileged -v /data/vpn/chap-secrets:/etc/ppp/chap-secrets mobtitude/vpn-pptp
防火墙放行1723端口
iptables -I IN_public_allow -p tcp -j ACCEPT --dport 1723
安全组放行1723端口
这样一个pptp服务器就搭好了
windows连接pptp服务器
设置,网络里面有个vpn
去添加一个vpn
提供商:Windows内置
连接名称:随便填即可
服务器名称或地址:你的公网ip
类型:点对点隧道协议(PPTP)
用户名:刚刚文件中定义的用户名
密码:刚刚文件中定义的密码
新建完之后,点击连接就可以了
如果出现此界面,就表示连接成功了
打开百度,输入ip,如果出现的是你服务器的ip,就说明已经连接成功了
打开cmd,输入ipconfig查看ip,有个10.99开头的,就是你的局域网ip,连上pptp的小伙伴就可以通过局域网ip去访问你
如果出现这个错误,请检查防火墙或安全组是否开放了1723端口
如果出现这个错误,请检查用户名或密码是否正确,chap-secrets文件里用户名和密码的格式是否正确
Linux连接pptp服务器
云服务器可以作为pptp服务端,当然也可以作为pptp客户端,作为客户端的时候访问局域网ip就可以访问你这台电脑,就可以实现内网穿透了
首次搭建客户端的时候,需要先写个定时任务,否则客户端一旦连接,就会创建一个路由阻止你正常访问,让你无法连接服务器,到时候只能用救援连接了
crontab -e
添加以下内容
* * * * * sudo route delete -net 0.0.0.0 netmask 128.0.0.0 gw 0.0.0.0
:wq保存
拉取pptp客户端镜像
docker pull vimagick/pptp
启动容器
docker run -d --name vpn-client -e TUNNEL=连接名称随便填 -e SERVER=服务器ip -e USERNAME=用户名 -e PASSWORD=密码 --privileged --network=host vimagick/pptp
启动容器后,服务器会自动断开,此时需要等待1分钟,等定时任务执行后,才可连接
这时候ifconfig查看以下ip,有个10.99.99开头的,就是连上vpn的局域网ip
这时候就能在云服务器上,通过局域网ip访问你的电脑了,怎么做内网穿透,相信小伙伴们都已经会了吧,不过还是把教程写完吧
做内网穿透
本地先启一个服务,随便一个端口能访问就可以,我这边直接用80端口
服务器中的nginx中配置
server {
listen 80;
location / {
# 这个ip是你自己电脑的ip
proxy_pass http://10.99.99.101;
}
}
访问你的公网ip,就可以相当于访问你本机了,这样一个内网穿透就做好了,如果需要穿透其他端口,在nginx中多配几个server就可以了
版权归原作者 qq243920161 所有, 如有侵权,请联系我们删除。