服务端:具有公网IP的实体机(服务器一台)
客户端:访问目标设备(就是你最终要访问的设备,通常是内网机器一台)
因为frp的原理是利用服务端(所准备的VPS)进行转发,因而VPS的速度直接决定了之后连接的质量,请根据自己的需要选择相应主机配置
选择自己需要的frp版本
https://github.com/fatedier/frp/releases
将下载好的frp包放到对应的服务器上 frps放在公网服务器上 [root@VM-0-10-centos frps]# ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE nohup.out systemd 修改对应的frps.ini文件 [root@VM-0-10-centos frps]# cat frps.ini [common] bind_port = 7000 frps默认端口号 放入后台运行 [root@VM-0-10-centos frps]# nohup ./frps -c frps.ini >/dev/null 2>&1 &
frpc安装在内网服务器 [root@VM-0-10-centos frpc]# ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd 修改对应的frpc.ini [root@VM-0-10-centos frpc]# cat frpc.ini [common] server_addr = x.x.x.x 公网服务端的ip server_port = 7000 公网服务端的frps端口号 [ssh] type = tcp tcp连接方式 local_ip = 127.0.0.1 本机 local_port = 22 需要连接本机的服务端口号 remote_port = 6000 映射到服务端的端口号 放入后台运行 [root@VM-0-10-centos frpc]# nohup ./frpc -c frpc.ini >/dev/null 2>&1 & 通过公网连接到内网服务器 ssh -p 6000 root@x.x.x.x(公网ip) 至此frp功能实现
将下载好的frp包放到对应的服务器上 frps放在公网服务器上 [root@VM-0-10-centos frps]# ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE nohup.out systemd 修改对应的frps.ini文件 [root@VM-0-10-centos frps]# cat frps.ini [common] bind_port = 7000 frps默认端口号 放入后台运行 [root@VM-0-10-centos frps]# nohup ./frps -c frps.ini >/dev/null 2>&1 &
在需要暴露到内网的机器上部署 frpc [common] server_addr = x.x.x.x 公网服务器ip server_port = 7000 [secret_ssh] type = stcp 通过stcp模式 # 只有 sk 一致的用户才能访问到此服务 sk = abcdefg local_ip = 127.0.0.1 local_port = 22 在想要访问内网服务的机器上也部署 frpc [common] server_addr = x.x.x.x 公网服务器ip server_port = 7000 [secret_ssh_visitor] type = stcp # stcp 的访问者 role = visitor # 要访问的 stcp 代理的名字 server_name = secret_ssh sk = abcdefg # 绑定本地端口用于访问 SSH 服务 bind_addr = 127.0.0.1 bind_port = 6000 通过 SSH 访问内网机器 ssh -p 6000 root@127.0.0.1 至此可以通过本机的6000端口访问到内网服务器的22端口
公网服务端部署frps
# 创建项目目录 mkdir frp # 编写docker-compose.yml文件 vim docker-compose.yml version: "3" services: frps: image: snowdreamtech/frps container_name: frps privileged: true restart: always network_mode: host environment: - TZ=Asia/Shanghai volumes: - ./frps.ini:/etc/frp/frps.ini command: /bin/sh -c /usr/bin/frps -c /etc/frp/frps.ini # 查看配置文件 cat frps.ini [common] bind_port = 7000 authentication_method=token token = 123456 vhost_http_port = 7000 vhost_https_port = 7000 dashboard_user = admin ##dashboard 密码 dashboard_pwd = admin ##dashboard 端口,启动成功后可通过浏览器访问如http://ip:7500 dashboard_port = 7500 tls_only=true log_file = /var/log/frps.log log_max_days =3 # 启动 docker-compose up -d # 查看端口是否启动 netstat -tunlp|grep 7000 tcp6 0 0 :::7000
内网服务器部署frpc
# 创建项目目录 mkdir frp # 编写docker-compose.yml文件 vim docker-compose.yml version: "3" services: frpc: image: snowdreamtech/frpc container_name: frpc privileged: true restart: always network_mode: host environment: - TZ=Asia/Shanghai volumes: - ./frpc.ini:/etc/frp/frpc.ini command: /bin/sh -c /usr/bin/frpc -c /etc/frp/frpc.ini # 查看配置文件 [root@gailun frp]# cat frpc.ini [common] server_addr = x.x.x.x 公网服务器ip server_port = 7000 ##auth token ##toke的作用:防止客户机器任意连接服务器,必须知道token的客户机才能连接服务器 token = 123456 tls_enable=true [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 722 # 启动 docker-compose up -d # 在服务器端可以查看到722端口 [root@daxiong frp]# netstat -tunlp|grep 722 tcp6 0 0 :::722 通过公网连接到内网服务器 ssh -p 722 root@x.x.x.x(公网ip) 至此frp功能实现
原文链接:https://blog.csdn.net/hanyuce/article/details/124290389
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END