ubuntu20.04配置安装frp内网穿透

2023-10-26

1.frp所在的github地址

https://github.com/fatedier/frp

2.下载

wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz

3.安装(服务器和客户端都要安装)

安装前需要有一台具备公网IP的机器或云服务器,我用的是腾讯云服务器。
具有公网IP的机器(云服务器等)安装服务端frps,需要内网穿透的机器安装客户端frpc。

#解压缩
tar -vxzf frp_0.38.0_linux_amd64.tar.gz
cd frp_0.38.0_linux_amd64
#复制执行文件
sudo cp frpc frps /usr/bin/
#复制配置文件
sudo mkdir /etc/frp
sudo cp frp*.ini /etc/frp
#复制系统服务文件
sudo cp systemd/* /lib/systemd/system/
#启动frp客户端
sudo systemctl start frpc
#启动frp服务端
sudo systemctl start frps
#配置开机启动
sudo systemctl enable frpc
sudo systemctl enable frps

4.客户端frpc.ini配置文件

[common]
server_addr = xx.xx.xx.xx   	#公网服务器ip
server_port = xxxx				#服务器端口号
token = 123456                 	#服务器和客户端协商的密码,不一致无法登录
tls_enable = true              	#使用tls加密

[windows10_rdp]
type = tcp
local_ip = 127.0.0.1			#本地映射的应用的IP
local_port = 3389				#本地映射的应用的端口
remote_port = 13389       		#远端访问端口
use_compression = true   		#启用数据压缩

[range:windows10_ftp]
type = tcp
local_ip = 127.0.0.1
local_port = 21,50000-50002
remote_port = 2121,50000-50002
use_compression = true

[windows10_web]
type = http
local_port = 80
custom_domains = yourdomain.cn
use_compression = true

[windows10_smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 6000
use_compression = true

[ubuntu20.04_ssh]
type = tcp
local_ip = 192.168.1.122
local_port = 22
remote_port = 2222
use_compression = true

[ubuntu20.04_desktop]
type = tcp
local_ip = 192.168.1.122
local_port = 3389
remote_port = 23389
use_compression = true
#客户端是本机电脑或者同一局域网内的电脑都可以,启动frp:
sudo systemctl restart frpc

5.服务器端frps.ini文件

[common]
bind_port = xxxx				#服务端端口号,和客户端的server_port一致
dashboard_port = 7500			#frp管理页面端口
vhost_http_port = 8080			#http端口
token = 123456					#服务器和客户端协商的密码,不一致无法登陆
dashboard_user = 123			#frp管理页面用户名
dashboard_pwd = 123				#frp管理页面用户密码
#服务器需要具有公网IP,可以使用腾讯云或者阿里云,操作前需要先配置防火墙打开使用的端口
sudo systemctl restart frps

6.访问

#win10远程登陆,手机或平板下载RD Client软件,windows直接使用远程桌面
登陆:服务器IP:13389

#访问ftp
ftp name@xx.xx.xx.xx:2121

#远程登陆ubuntu的ssh
ssh -o port=2222 name@xx.xx.xx.xx

#远程登陆ubuntu的桌面
#1.ubuntu安装xrdp
sudo apt install xrdp
#2.win10远程桌面登陆ubuntu
登陆:服务器IP:23389

7.附:win10平台下安装方法

win10下配置frp与ubuntu类似,配置方法都是一样的,只需下载对应的windows版本安装。配置完成后可以双击exe执行,也可以在win10中创建启动脚本来自动启动:

'start_frpc.vbs
'请根据实际情况修改路径
CreateObject("WScript.Shell").Run """D:\Program Files\frp_0.38.0_windows_amd64\frpc.exe""" & "-c" & """D:\Program Files\frp_0.38.0_windows_amd64\frpc.ini""",0

将上述内容用记事本另存为start_frpc.vbs文件。
启动方法:
1.双击就可启动frpc,可在资源管理器中看到frpc.exe已启动;
2.或将其放到开机启动文件夹中C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup,开机后会自启动。同时按住“win+r”,输入shell:startup就会自动打开启动文件夹。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu20.04配置安装frp内网穿透 的相关文章

  • 为什么 proc/ID/maps 有多个共享库条目

    我正在查看嵌入式Linux下的proc ID maps 我注意到一些共享库在进程的内存映射中出现了几次 为什么会这样呢 40094000 400d9000 r xp 00000000 b3 09 723 system lib libc so
  • 为什么 RHEL 上的 bash 中 `read -t` 没有超时?

    Why read t在 RHEL5 或 RHEL6 上从管道读取时不会超时 这是我的示例 在从管道读取数据时 我的 RHEL 盒子不会超时 tail f logfile log grep something read t 3 variabl
  • ubuntu 中的 echo -e 选项不起作用

    我的同事使用Ubuntu 我使用openSUSE 我们使用相同的makefile编译相同的源代码 我的环境运行良好 但我的同事不能 总是输出无法识别 e选项 我们检查makefile 只发现echo命令使用 e option Ubuntu的
  • 如何在树莓派上更新到最新的 python 3.5.1 版本?

    我昨天拿到了 Raspberry Pi 我已经在尝试用它来编写代码了 我有一个计划在其上运行的程序 但它仅与 Python 版本 3 5 0 或 3 5 1 兼容 并且我在互联网上找到的所有内容似乎都已经过时 与 Python 2 有关 或
  • 警告:无法加载 sqljdbc_auth.dll 原因:java.library.path 中没有 sqljdbc_auth

    我正在使用 Ubuntu 12 05 并尝试连接到 Windows Server 2012 来获取数据库 我的数据库名称是 jobs 电脑的IP地址是192 160 1 33 托管在1433 但是当我尝试连接时出现以下错误 WARNING
  • CMake:使用其他平台的生成器。如何?

    如何使用 CMake 在 Linux 上生成 Visual Studio 项目文件 你不能 您必须在 Windows 上运行 CMake 才能为 Visual Studio 生成
  • 对于客户端服务器程序,并行接收多个客户端连接请求的最佳方法是什么?

    该程序是在 Linux 上用 C 语言开发的客户端服务器套接字应用程序 每个客户端都连接到一个远程服务器并将其自身记录为在线 在任何给定时间点很可能有多个客户端在线 所有客户端都尝试连接到服务器以将自己记录为在线 忙碌 空闲等 那么服务器如
  • Tk 初始化失败:无显示名称且无 $DISPLAY 环境变量

    我试图从 Ubuntu 终端调用 Centos 服务器上的工具 我收到以下错误 Tk 初始化失败 没有显示名称 也没有 DISPLAY 环境变量 请帮我解决这个问题 提前致谢 连接到你的 CentOS 机器ssh Y其中 每man ssh
  • 在 shell 脚本中将脚本目录更改为用户的 homedir

    在我的 bash 脚本中 我需要将当前目录更改为用户的主目录 如果我想更改为用户的foo主目录 从命令行我可以执行以下操作 cd foo 效果很好 但是当我从script它告诉我 bar sh line 4 cd foo No such f
  • 如何使用 shell 脚本解压所有 .tar.gz?

    我试过这个 DIR path tar gz if ls A DIR 2 gt dev null then echo not gz else tar zxvf path tar gz C path tar fi 如果该文件夹有一个 tar 则
  • C 标准库函数与系统调用。哪个是“open()”?

    I know fopen 在C标准库中 所以我绝对可以调用fopen C 程序中的函数 我感到困惑的是为什么我可以打电话给open 功能也一样 open 应该是系统调用 所以它不是标准库中的C函数 因为我能够成功地调用open 函数 我调用
  • 并发 I/O - 缓冲区损坏、块设备驱动程序

    我开发块分层设备驱动程序 所以 我拦截WRITE请求并加密数据 并解密数据end bio 例行程序 在处理和READ要求 所以在单流中一切正常 但是 如果尝试同时从两个或更多进程执行 I O 我会遇到缓冲区内容损坏的情况 我没有任何本地存储
  • gnutls_handshake() 失败:握手失败 GIT

    一切都工作正常 但突然我收到错误 致命 无法访问 https 电子邮件受保护 cdn cgi l email protection name repo name git gnutls handshake 失败 握手失败 我在我的计算机和 E
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • 打破条件变量死锁

    我遇到这样的情况 线程 1 正在等待条件变量 A 该变量应该由线程 2 唤醒 现在线程 2 正在等待条件变量 B 该变量应该由线程 1 唤醒 在我使用的场景中条件变量 我无法避免这样的死锁情况 我检测到循环 死锁 并终止死锁参与者的线程之一
  • 对符号“pthread_key_delete@@GLIBC_2.2.5”的未定义引用

    我正在尝试在 Ubuntu 中创建一个文件 当我创建时 我不断收到此错误 usr bin ld gtest 1 7 0 libgtest a gtest all cc o undefined reference to symbol pthr
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • 如何使用 bash 粘贴来自单独文件的列?

    我想用分隔符 合并不同的列表 第一个列表有 2 个单词 cat first one who 第二个列表有 10000 个单词 cat second languages more simple advanced home expert tes
  • tcmalloc/jemalloc 和内存池之间有什么区别(以及选择的理由)?

    tcmalloc jemalloc是改进的内存分配器 还引入了内存池以更好地分配内存 那么它们之间有什么区别以及在我的应用中如何选择它们呢 这取决于您的程序的要求 如果您的程序有更多的动态内存分配 那么您 需要从可用的分配器中选择一个内存分
  • 如何告诉 CMake 将构建文件放在哪里?

    我想告诉 CMake 将文件和文件夹输出到不同的文件夹而不是当前文件夹 我在下面讨论的是 CMake 生成的文件 文件 CMakeCache txt 目录 CMakeFiles 文件 生成文件 目录 bin 文件 cmake install

随机推荐