去评论
海欣资源

搭建pptp服务器实现内网穿透教程

huawuq
2022/05/15 15:37:38
准备
云服务器一台,具备公网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服务器
设置,网络里面有个


去添加一个

提供商: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开头的,就是连上的局域网ip


这时候就能在云服务器上,通过局域网ip访问你的电脑了,怎么做内网穿透,相信小伙伴们都已经会了吧,不过还是把教程写完吧
做内网穿透
本地先启一个服务,随便一个端口能访问就可以,我这边直接用80端口


服务器中的nginx中配置
    server {
        listen 80;
        location / {
            # 这个ip是你自己电脑的ip
            proxy_pass http://10.99.99.101;
        }
    }


访问你的公网ip,就可以相当于访问你本机了,这样一个内网穿透就做好了,如果需要穿透其他端口,在nginx中多配几个server就可以了