当前位置: 首页 > article >正文

frp内网穿透笔记

文章目录

  • 一、环境介绍
  • 二、配置过程
    • 2.1 下载文件
    • 2.3 服务器A的配置
    • 2.3 目标机B的配置
    • 2.4 电脑C怎么用
  • 三、问题汇总

一、环境介绍

  • 带公网的vps服务器A,需要穿透到的无公网目标电脑B,以及一台需要通过公网访问B的电脑C。
  • frp 0.47.0:frp_0.47.0_linux_amd64.tar.gz
  • 注意公网vps服务器A的防火墙加入规则同意服务端口开启!

二、配置过程

2.1 下载文件

去github下载frp:https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz(注:新旧版本的frp有差异,所以建议就下载这个版本)

2.3 服务器A的配置

(1)先解压,并如该目录

$ tar -xvf frp_0.47.0_linux_amd64.tar.gz
$ mv frp_0.47.0_linux_amd64 frp
$ cd frp

该目录的中有如下文件

├── frpc 						# 用于客户端B电脑的服务可执行文件
├── frpc_full.ini				# 用于客户端B电脑的配置文件(完整版,我没用它)
├── frpc.ini					# 用于客户端B电脑的配置文件(用的这个)
├── frps						# 用于服务器A电脑的服务可执行文件
├── frps_full.ini				# 用于服务器A电脑的配置文件(完整版,我没用它)
├── frps.ini					# 用于服务器A电脑的配置文件(用的这个)
└── LICENSE

(2)A服务器下就应该配置frps.ini (这里可以原封不动)

[common]
bind_port = 7000

(3)现在开启服务器

./frps -c frps.ini

2.3 目标机B的配置

(1)同理下载和解压frp_0.47.0_linux_amd64.tar.gz到客户端
(2)配置frpc.ini文件

[common]
server_addr = 111.222.333.444	# 这是服务器A的公网地址(注意这个注释不能加入ini文件,要不然会出错)
server_port = 7000	
tls_enable = true				# 原本init文件没有这个,需要加入这一行,要不然要会报错见github的issue

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 4242			# 你希望通过服务器A的4242端口访问目标机B的22端口

(3)开启服务

./frpc -c frpc.ini

2.4 电脑C怎么用

在电脑C上直接访问服务器A的公网ip加4242端口号

ssh -p 4242 目标机B的用户名@服务器A的公网ip

三、问题汇总

  • login to server failed: EOF
    解决方案:https://github.com/fatedier/frp/issues/1986
    大致意思就是要目标机B的配置文件要有tls_enable = true这个配置,并且根据我的测试0.22.0版本加入这个依然无效,只要变成0.47.0版本就可以了,其他版本未测试过

http://www.kler.cn/a/448757.html

相关文章:

  • 梳理你的思路(从OOP到架构设计)_简介设计模式
  • OSPF的状态机
  • Ubuntu Netlink 套接字使用介绍
  • 黑马Java面试教程_P8_并发编程
  • GTID详解
  • Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
  • 工作与学习方向
  • 本地部署webrtc应用怎么把http协议改成https协议?
  • 青少年编程与数学 02-004 Go语言Web编程 10课题、中间件
  • 13 次小生成树
  • vscode怎么设置anaconda python解释器(anaconda解释器、vscode解释器)
  • 【LeetCode: 24. 两两交换链表中的节点 + 链表】
  • MONI后台管理系统-swagger3(springdoc-openapi)集成
  • 齐次矩阵包含平移和旋转
  • CCF-GESP 等级考试 2023年9月认证C++一级真题解析
  • 未来将要被淘汰的编程语言
  • 滑动窗口 + 算法复习
  • 助力医疗高效运转:SSM 医院预约挂号系统 Vue 技术实现与设计
  • 基于Pytorch实现的说话人日志(说话人分离)
  • kubernates实战
  • 腾讯云智能结构化OCR:以多模态大模型技术为核心,推动跨行业高效精准的文档处理与数据提取新时代
  • Nacos 3.0 考虑升级到 Spring Boot 3 + JDK 17 了!
  • openjdk17 从C++视角 看字节码ldc指令字符串加载过程
  • 三、使用langchain搭建RAG:金融问答机器人--检索增强生成
  • docker 为单个容器设置代理
  • Input子系统驱动---学习记录