linux服务器上使用frp实现tcp端口转发--以访问内网mysql为例
创始人
2024-05-30 05:08:28

前言 最近在部署测试环境 部署服务器上没有公网地址和端口 无法使用navicat等工具对数据库操作 因此需要内网穿透或tcp端口转发来实现

一、 使用frp映射mysql端口

公网服务器作为服务器端frps
内网服务器作为客户端frpc
服务端和客户端均下载相应的包
没开端口的自行开启相应端口
开启7000端口如下

firewall-cmd --zone=public --add-port=7000/tcp --permanent

1.配置frp服务端

  • 进入公网服务器下载frp服务端
wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz
  • 解压缩
tar -zxvf frp.tar.gz
  • 进入解压后目录
 cd frp_0.47.0_linux_amd64/
  • 拷贝frps到/usr/bin目录下
 cp frps /usr/bin
  • 拷贝frps.in文件到/etc目录下
cp frps.ini /etc
  • 编辑/etc的frps.ini文件
vim /etc/frps.ini
  • 写入以下内容并保存

绑定的7000 端口后面会用
token客户端需要填写

bind_port = 7000
token=youfei123123
  • 编辑frp服务端service

ExecStart 从服务器读取服务端配置

Description=frps[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frps.ini[Install]
WantedBy=multi-user.target
  • 开启防火墙7000端口
firewall-cmd --zone=public --add-port=7000/tcp --permanent
  • 重载已添加的端口
firewall-cmd --reload
  • 启动服务端服务
systemctl start frps

2、配置frp客户端

  • 进入内网服务器下载frp服务端
wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz
  • 解压缩
tar -zxvf frp.tar.gz
  • 进入解压后目录
 cd frp_0.47.0_linux_amd64/
  • 拷贝frpc到/usr/bin目录下
 cp frpc /usr/bin
  • 拷贝frpc.ini文件到/etc目录下
cp frpc.ini /etc
  • 编辑/etc的frps.ini文件
vim /etc/frpc.ini

写入以下内容并保存

# server_addr 服务器内网地址
# server_port 服务器内网端口
# token 服务端指定token
# local_port 本机mysql端口号
# remote_port 远程端口号 下面是映射了两个端口
server_addr = xxx.35.2.xx
server_port = 7000
token = youfei123123[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 2200
remote_port = 8045

多个mysql如下

server_addr = xx.35.2.xx
server_port = 7000
token = youfei123123[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 2200
remote_port = 8045
[ssh-2]
type = tcp
local_ip = 127.0.0.1
local_port = 2300
remote_port = 8044
  • 编写客户端服务
vim /etc/systemd/system/frpc.service
  • 写入以下内容
[Unit]
Description=frpc[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frpc.ini
[Install]
WantedBy=multi-user.target
  • 重载配置文件使其生效(可忽略)
systemctl daemon-reload
  • 启动客户端服务
systemctl start frpc

完结 然后就可以使用navicat等软件远程连接内网的数据库了 当然网址需要填公网服务器的公网IP 端口也要填remote_port 端口
账号密码填内网服务器的mysql账号密码

上一篇:【安装mxnet】

下一篇:K8S Pod健康检查

相关内容

热门资讯

创新机制提高信用修复质效 (来源:黑龙江日报)转自:黑龙江日报为扎实推进《市场监督管理信用修复管理办法》(以下简称《办法》)落...
市妇联举行“东北超有缘”公益交... (来源:沈阳日报)转自:沈阳日报  “东北超有缘,沈阳队最强!”5月23日晚,“东北超”首场比赛沈阳...
青年志愿者用行动为“东北超”代... (来源:沈阳日报)转自:沈阳日报  他们是指引球迷入场的“活路标”,是耐心回答疑问的“百事通”,是突...
算力-电力-储能,呼应时代刚需...   近期市场波动有所加剧,但2026年A股行至初夏,由AI与能源冲锋挺进的市场主线已逐渐清晰。在人工...
虚构排队抢购误导消费者 (来源:中国消费者报)  本报重庆讯(马勇 记者刘铭)近日,重庆市两江新区市场监管局依法查处一起利用...