frp内网穿透

简介: frp内网穿透

frp内网穿透

此教程可用于配置内网Linux服务器,这样就可以不在同一个局域网内也能远程访问到服务器。

一、公网IP

买一个云服务器(腾讯云或者阿里云均可)。会分配一个公网ip。

二、frp工具的使用

在云服务器和内网机器下载对应的安装包:

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

解压文件 tar -zxvf frp_0.34.3_linux_amd64.tar.gz

在云服务器上部署 frps,修改 frps.ini 文件:

[common]
bind_port = 7000

在我们的内网机器上部署 frpc,修改 frpc.ini 文件,x.x.x.x修改为 frps 所在云服务器的公网 IP:

[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

local_iplocal_port 配置为本地需要暴露到公网的服务地址和端口。remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

注意:云服务器需要开启对应端口!

分别启动 frps 和 frpc。在云服务器上先通过 ./frps -c ./frps.ini 启动服务端,在内网机器上通过 ./frpc -c ./frpc.ini 启动客户端。

  • 通过 SSH 访问内网机器,假设用户名为 test:
    ssh -oPort=6000 test@x.x.x.x
  • frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口。

问题:

一、安装screen

yum install screen

安装成功后,输入screen会切换到另一个窗口,可以通过ctrl+a+d切换回原来的命令行界面
创建screen会话
重新读取screen会话

通过下面命令查询正在运行中的screen会话列表信息。

screen -ls

1、通过screen名字读取。

screen -r screen名字或者会话ID

如果存在多个同名名的会在会话名之前有会话ID+会话名称,如4078.test;

可以通过screen -r 4078.test或者screen -r 4078获取指定会话

2、关闭screen会话

若不再需要当前的screen会话,可以在当前的screen会话中执行 exit,提示[screen is terminating]表示已经成功关闭screen会话(不会保留在内存中),如果需要,请重建。
3、screen的快捷键

如之前讲到的Ctrl + a + d 可以暂时离开当前的screen会话,同时screen还提供其它的快捷键。

Ctrl + a + c :在当前screen会话中创建一个子会话

Ctrl + a + p :上一个子会话

Ctrl + a + n :下一个子会话

二、ubuntu如何开启22端口支持ssh访问

1.查看本机IP

ifconfig

执行后如果提示服务不存在,则需要下载该工具sudo apt install net-tools

2查看端口22是否被占用netstat -nltplgrep 22

-n不以进程的服务名称,以编号port number显示-t列出tcp网络封包的信息

-l列出目前正在网络监听listen服务-p列出该网络服务的进程

如果发现没有22端口进程,则执行如下命令:sudo apt-get install openssh-server

sudo apt-get install ufw

sudo ufw enable

sudo ufw allow 22用xshell连接是否成功

三、frp服务自启动

进入frp目录,复制文件

cp frps /usr/local/bin/frps

mkdir /etc/frp

cp frps.ini /etc/frp/frps.ini

创建frps.service服务:vim /lib/systemd/system/frps.service

[Unit]
Description=frpc daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
Restart=always
RestartSec=1min
ExecStop=/usr/bin/killall frps

[Install]
WantedBy=multi-user.target

设置开机自启动:systemctl enable frps

开启服务:systemctl start frps

查看状态:systemctl status frps

active(running)则表示启动成功

四、多个ssh配置

在另一台机器进行下载frp,只需要修改frpc.ini文件,修改格式如下:

[common]
server_addr = x.x.x.x
server_port = 7000 

[ssh001] # 不能重复
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001 # 不能重复

frpc命令启动即可。

更多内容请关注我的博客:bgemini.com

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
开发工具
frp-免费内网穿透
frp-免费内网穿透
631 0
|
20天前
|
安全 网络协议 Linux
内网穿透工具Frp
【10月更文挑战第6天】内网穿透工具Frp
194 66
|
运维 安全 网络协议
使用Frp的stcp实现安全内网穿透访问
使用Frp的stcp实现安全内网穿透访问
841 1
使用Frp的stcp实现安全内网穿透访问
|
27天前
|
数据建模 Docker Windows
内网穿透frp配置
内网穿透frp配置
44 0
|
6月前
|
应用服务中间件 nginx
内网穿透ngrok
ngrok实现内网穿透操作流程
|
网络协议 Ubuntu Linux
frp内网穿透
frp内网穿透
2804 0
|
网络协议 应用服务中间件 Linux
搭建frp实现内网穿透
前言: 为什么需要内网穿透功能? 从公网中访问自己的私有设备向来是一件难事儿。 自己的主力台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备(远程桌面,远程文件,SSH等等),一般来说要通过一些转发或者P2P组网软件的帮助。 搭建frp服务器进行内网穿透,可用且推荐,可以达到不错的速度,且理论上可以开放任何想要的端口,可以实现的功能远不止远程桌面或者文件共享
|
网络协议 Linux 网络安全
使用FileZilla搭建公网访问的ftp服务器(Frp/花生壳)
FTP 是一种基于 TCP 的应用层协议,它不支持 UDP 协议。 FTP 工作在一种特殊的服务机制上,它使用两个端口,一个 ‘数据’ 端口和一个 ‘命令’ 端口(也称为控制端口)。 通常情况下,端口 21 用作命令端口,端口 20 用作数据端口。 一、主动模式和被动模式
|
域名解析 网络协议 Linux
内网穿透工具—FRP
内网穿透工具—FRP
内网穿透工具—FRP
|
网络安全 开发工具
树莓派公网服务器实现frp内网穿透
树莓派公网服务器实现frp内网穿透
树莓派公网服务器实现frp内网穿透