想要内网被外网访问,解决办法很简单,用内网穿透工具就可以,不需要自己搭建服务,也不需要公网IP。市面上内网穿透工具有很多,这里推荐一款简单又好用的————cpolar,可以永久免费使用,不限制流量,支持http/https/tcp协议。
cpolar的使用也很简单,在本地安装配置完成后,创建隧道即可将内网端口映射到公网,生成相应的公网地址实现公网访问内网。
比如通过cpolar将本地80端口下的web网站发布到公网可访问:
- 安装cpolar内网穿透工具
cpolar内网穿透官网:www.cpolar.com
需要先注册一个cpolar账号,后面会用到
1.1 Windows系统
windows系统可以在cpolar官网下载最新的安装包,然后解压默认安装即可。
1.2 Linux系统
linux系统支持一键自动安装脚本
环境需求:
该脚本适用于Ubuntu16.04/18.04/20.04及以后,Centos7/8及以后版本,树莓派最新官方镜像,及支持systemd的新式Linux操作系统,该脚本会自动判断CPU架构(i386/amd64/mips/arm/arm64等等),自动下载对应cpolar客户端,并自动部署安装。
1.2.1 安装
国内使用:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
国外使用:
curl -sL https://git.io/cpolar | sudo bash
- 查看版本号,有正常显示版本号即为安装成功:
cpolar version
- token认证:登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxxxxxxxxxxxx
- 简单穿透测试:
cpolar http 8080
按ctrl+c退出
1.2.2 向系统添加服务
sudo systemctl enable cpolar
1.2.3 启动服务
sudo systemctl start cpolar
1.2.4 查看服务状态
sudo systemctl status cpolar
如正常显示active,则说明已经启动成功。
- 创建隧道映射内网端口
cpolar安装成功后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI管理界面。
登录成功后,进入主界面
比如,我们需要将本地80端口下的web站点发布到公网可访问,只需要点击左侧仪表盘的隧道管理————创建隧道,输入隧道信息,然后点击创建即可。
隧道名称:可自定义,注意不要重复
协议:选择http协议
本地地址:填写80端口(运营商可能会屏蔽80端口,可换成其它的)
域名类型:选择随机域名(可免费使用)
地区:选择China VIP
隧道创建成功后,可以在隧道管理————隧道列表查看隧道状态,如为active激活。说明已经启动成功
cpolar会默认安装两个样例隧道
一个是Website隧道指向http 8080端口
一个是ssh隧道(Linux&macOS系统)/远程桌面隧道(win系统),指向tcp 22端口/tcp 3389端口
- 获取公网地址
点击左侧仪表盘的状态————在线隧道列表,找到我们刚刚创建的隧道,可以看到有生成相应的公网URL地址,有两行,其中一个是http隧道,一个是https隧道。
cpolar 卸载方法:curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash -s -- --remove
安装说明:
cpolar默认安装路径 /usr/local/bin/cpolar,
安装脚本会自动配置systemd服务脚本,启动以后,可以开机自启动。
如果第一次安装,会默认配置一个简单的样例配置文件,创建了两个样例隧道,一个web,一个ssh
cpolar配置文件路径: /usr/local/etc/cpolar/cpolar.yml
更多详细内容请参考官方文档:https://www.cpolar.com/docs