前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >frp内网穿透

frp内网穿透

原创
作者头像
用户8178468
发布2023-05-13 06:31:51
8400
发布2023-05-13 06:31:51
举报
文章被收录于专栏:bgemini的文章bgemini的文章

frp内网穿透

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

一、公网IP

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

二、frp工具的使用

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

代码语言:javascript
复制
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 文件:

代码语言:javascript
复制
[common]
bind_port = 7000

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

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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文件,修改格式如下:

代码语言:javascript
复制
[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命令启动即可。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • frp内网穿透
    • 一、公网IP
      • 二、frp工具的使用
      • 问题:
        • 一、安装screen
          • 二、ubuntu如何开启22端口支持ssh访问
            • 三、frp服务自启动
              • 四、多个ssh配置
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档