在大内网IP环境下,很多自建网站,或者家里有树莓派、nas、摄像头的用户,或者远程办公的用户,都想要实现在外能够随时随地的远程访问家里/公司设备,公网访问内网,但都受到一定的限制,运营商基本不会分配给到独立的公网IP,要想申请一个独立的公网IP,开销不小。
这种情况下,我们可以通过内网穿透工具来实现公网访问内网,无需公网IP,也不用进入到路由器设置,操作简单。这里我们以cpolar为例,做内网穿透,将本地8080端口下的网站发布到公网,它支持http/https/tcp协议,不限制流量,使用比较简单。
cpolar内网穿透官网:https://www.cpolar.com/
windows系统可以在cpolar官网下载最新的安装包,然后解压默认安装即可。
linux系统支持一键自动安装脚本。
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
curl -sL https://git.io/cpolar | sudo bash
sudo systemctl enable cpolar
sudo systemctl start cpolar
sudo systemctl status cpolar
如正常显示active
,则说明已经启动成功。
Homebrew是一款Mac OS下的套件管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew tap probezy/core && brew install cpolar
登录cpolar官网后台————验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
sudo cpolar service install
sudo cpolar service start
cpolar安装成功后,在浏览器上访问127.0.0.1:9200,使用cpolar账号登录web UI管理界面
登录成功后,进入主界面
比如我们需要将本地8080端口下的web站点发布到公网可访问,只需要点击左侧仪表盘的隧道管理
————创建隧道
,输入隧道信息,然后点击创建即可。
http
协议8080
端口随机域名
(可免费使用)China VIP
隧道创建成功后,可以在隧道管理
————隧道列表
查看隧道状态,如为active
激活。说明已经启动成功。
cpolar会默认安装两个样例隧道
点击左侧仪表盘的状态
————在线隧道列表
,找到我们刚刚创建的隧道,可以看到有生成相应的公网URL地址,有两行,其中一个是http隧道,一个是https隧道。
将公网地址复制到浏览器访问即可,实现公网远程访问内网。
显示如下图灰色的画面,这说明,cpolar已经配置正确
,隧道创建成功。只是本地8080端口上,并未发现可用的web站点(因为还没有配置本地Web Server。所以才会显示灰色不可用的画面。你可以在本地8080端口上配置一个演示的web站点,来体验它真正的强大之处。
由于使用免费的cpolar所生成的公网地址为随机临时地址,24小时内会变化。如果需要长期使用,建议将其配置为固定的公网地址,同时提高带宽。
登录进入cpolar官网后台
——预留
页面,找到保留的二级子域名:
本例保留一个名称为ToDoList
的二级子域名。
子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。
在浏览器上访问127.0.0.1:9200
,登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理
——隧道列表
,找到需要配置二级子域名的隧道(本例中为website隧道),点击右侧的编辑
修改隧道信息,将二级子域名配置到隧道中:
二级子域名
ToDoList
)修改完成后,点击更新
隧道更新成功后,点击左侧仪表盘的状态
——在线隧道列表
,可以看到website隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。
打开浏览器,我们来测试一下访问配置成功的二级子域名。
测试成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。
如果所创建的隧道为TCP协议,想要将其配置为固定的公网TCP端口地址,可以保留固定的TCP端口地址,并将其配置到隧道中,后期即可使用固定的公网TCP端口地址,无需查看随机公网地址再进行远程连接访问。