如何配置ubuntu可被外网访问【内网穿透】
在局域网内ssh远程登录到ubuntu,只需要知道被控端的IP地址就可以。但对于想要在家里/宿舍/公司,也能够远程ssh访问ubuntu时,应该怎么设置呢?
在ipv4公网IP资源枯竭的情况下,运营商基本不会分配公网IP。而想要实现公网访问内网/局域网,普遍是通过内网穿透来实现。
如cpolar内网穿透,支持http/https/tcp协议,可免费使用,并且不限制流量。能够将本地端口映射到公网上,生成公网,实现外网任意地点远程访问内网。
以下介绍通过cpolar内网穿透来实现外网远程ssh登录ubuntu:
【确认ubuntu有安装ssh,并且在局域网内能够ping通,且能够远程ssh】
1、注册并安装cpolar内网穿透
官网地址:https://www.cpolar.com/
1.1 cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
re>或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
re>1.2 查看版本号
cpolar version
re>1.3 token认证
登录后台,查看自己的认证token,之后将token贴在命令行里cpolar authtoken xxxxxxx
re>1.4 简单穿透测试
cpolar http 8080
re>按ctrl+c退出
1.5 启动cpolar服务
sudo systemctl start cpolar
re>1.6 查看服务状态
sudo systemctl status cpolar
re>1.7 登录后台,查看隧道在线状态
https://dashboard.cpolar.com/status1.8 安装完成
2、获取ssh隧道的公网地址
2.1 登录cpolar web UI管理界面
在浏览器访问:http://localhost:9200/,输入所注册的cpolar账号密码,登录cpolar web UI管理界面
2.2 查看ssh隧道所映射的公网地址
cpolar会默认安装ssh隧道,指向22端口,tcp协议。在启动服务后,即会自动生成公网地址。
- 左侧仪表盘——隧道列表——启动ssh隧道
- 左侧仪表盘——状态——在线隧道列表
- 获取ssh隧道的公网地址
3、外网远程ssh访问内网的ubuntu
控制端电脑打开终端命令行,输入命令,远程ssh访问局域网内的ubuntu。
如cpolar已经将本地22端口映射到了20013端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号
示例:
ssh cpolar@1.tcp.vip.cpolar.cn -p 20013
re>ssh ubuntu用户名@cpolar公网地址 -p XXXXX(cpolar生成的端口号)
re>在输入正确的命令后,Ubuntu会出现提示信息,询问是否确定连接该端口,并要求输入Ubuntu系统的密码,此时分别输入“yes”和ubunt系统密码即可。