frp内网穿透
文章目录
使用场景
通俗来说,通过访问一台云服务器,来实现访问到家庭服务器的目的
1.用于ssh访问家庭服务器
2.用于访问家庭服务器中部署的web项目
一、frp下载、服务端安装配置
1.下载
访问地址https://github.com/fatedier/frp/releases/
选择版本,0.45.0,ubantu直达地址
2.服务端配置安装
上传至云服务器目录/usr/local下
# 解压
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
cd frp_0.45.0_linux_amd64
# 修改配置文件
vim frps.ini
配置如下
[common]
bind_port = 7000
dashboard_port = 20010
vhost_http_port = 20011
token = 1234
dashboard_user = aa
dashboard_pwd = aa123
配置说明
- bind_port:frp监听的默认端口号,用来与客户端通信,这个端口号是可以自己改的。
- dashboard_port:frp管理后台端口。
- vhost_http_port:这个端口对应本地的web服务。
- token:授权码,后面客户端也需要填这个。
- dashboard_user:frp管理后台用户名。
- dashboard_pwd:frp管理后台密码
3.云服务器端口开放
一个是安全组配置开放,如果服务器防火墙开启,需要防火墙放行相应端口 使用ufw
4.配置frp服务
vim /etc/systemd/system/frps.service
frps.service服务配置如下
[Unit]
Description = frps_service
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
User = root
ExecStart = /usr/local/frp_0.45.0_linux_amd64/frps -c /usr/local/frp_0.45.0_linux_amd64/frps.ini
[Install]
WantedBy = multi-user.target
启动服务
systemctl start frps
# 查看服务状态
systemctl status frps
# 停止服务
systemctl stop frps
# 重启服务
systemctl restart frps
5.浏览器访问
访问云服务器ip:上面配置的后台管理的端口(20010),输入账号密码,效果如下图
二、客户端配置
使用上一步中下载的包,并解压到家庭服务器中
1.编辑客户端配置
vim frpc.ini
[common]
server_addr = 111.111.111.111
server_port = 7000
token = 1234
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10086
配置说明
- server_addr :frp服务端安装的云服务器ip。
- server_port :frp服务端配置端口。
- token :与服务端配置保持一致。
加入ssh配置
[xxx]:表示一个规则名称,自定义
- type:连接类型,默认tcp
- local_ip :本地ip
- local_port :本地端口,这里要穿透本地22端口
- remote_port :云服务器上的端口,意思是访问云服务器的这个端口,可以转发到客户端的22端口
2.启动
可以按照服务端方式配置,使用systemctl启动,这里为了验证是否启动成功和查看日志,直接启动查看效果
./frpc -c frpc.ini
- 通过日志能看出是否启动成功,如果有报错,根据报错内容进行调整。
- 也可以借助后台管理页面,查看客户端是否连上了frp服务。
- 后面还是配置通过systemctl管理,并设置开机启动。
- 在云服务器使用的端口,要检查是否开放,安全组,防火墙,必要时用telnet进行检测。
- 最后效果:可以直接通过shell工具,借助云服务器,连接内网服务器
三、总结
后面将继续配置内网web页面访问