centos使用frp搭建内网穿透服务

centos使用frp搭建内网穿透服务

有些时候我们需要在外面访问家里的电脑,但是由于没有公网IP无法访问,这时我们需要对家里的网络进行内网穿透(NAT)。

1. 为什么使用Frp

Frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。安装方式简单,官方文档配置示例齐全,服务端和客户端都有WebUI界面对配置进行管理。
Frp 项目地址:https://github.com/fatedier/frp
Frp 应用下载页面:https://github.com/fatedier/frp/releases
Frp 中文文档地址:https://gofrp.org/docs/

2.准备工作

  • 一台有公网IP的主机,这里我使用的腾讯云主机(centos7.6系统)
  • 可以访问公共网络但无公网IP的电脑,系统这里也是使用的Centos系统
  • 使用ssh客户端登录两台电脑

在这里插入图片描述

3.安装

3.3 服务器端的安装和配置

1.首先我们使用uname -a命令查看下系统架构信息
在这里插入图片描述
这里我的云主机显示的时x86_64位

2.进入页面,下载对应版本的Frp应用包(https://github.com/fatedier/frp/releases
之前查看的我的系统架构信息是x86,所以我这里应该选择frp_0.37.1_linux_amd64.tar.gz,如果你们的系统架构信息和我的不一样,你们则需要下载对应的版本(一定要使用正确版本,否则无法正常运行)

在这里插入图片描述
可以点击下载好后发送到服务器上,也可以右键复制下载链接服务器使用wget命令下载,我这里使用的是第二种方式
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_386.tar.gz
在这里插入图片描述

3.解压
tar -zxvf frp_0.37.1_linux_386.tar.gz
解压后的文件夹名称为frp_0.37.1_linux_386.tar.gz
为了后续使用方便,我们这里给重命名文件

# 重命名
mv frp_0.37.1_linux_386.tar.gz frp
# 进入文件夹
cd ./frp
# ls 列出文件 
ls

内容如下在这里插入图片描述

# 编辑服务端文件 
vim frps.ini


# 内容如下:

[common]
# 服务通信的端口(自定义)
bind_port = 7000
# 服务端认证的token(自定义)
token = xxxx
# 服务端管理界面的端口(自定义)
dashboard_port = 7500
# 服务端管理界面的用户名(自定义)
dashboard_user = admin
# 服务端管理界面的密码(自定义)
dashboard_pwd = xxxx
log_file = ./frps.log
log_level = info
log_max_days = 3
enable_prometheus = true

#编辑完成后 按esc键然后输入 :wq 保存并退出

4.启动frps服务
我们可以使用./frps -c frps.ini命令启动frps来测试配置是否正确
但是由于以后服务后台运行并且自启动所以我们需要service配置启动

# 服务器运行服务创建
vim /lib/systemd/system/frps.service

# 内容 中间ExecStart 后面的 /root/frp/frps -c /root/frp/frps.ini 中的路径需要设置成你存放frp文件的路径
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.ini

[Install]
WantedBy=multi-user.target

# 编辑完成后 按esc键然后输入 :wq 保存并退出


# 启动frps服务
systemctl start frps.service

# 查看服务状态
systemctl status frps.service

# 设置为开机自启
systemctl enable frps.service

#查看服务运行日志
journalctl -u frps.service

在这里插入图片描述

5.这里我们就配置好了frp得服务端,接下来配置客户端

3.3无公网IP Centos客户端的安装和配置

1.客户端的下载解压过程和服务端一致
2.客户端的配置

# 进入到frp目录后
# 编辑客户端frpc.ini文件
vim frpc.ini

[common]
# 服务端配置的认证的token
token = xxxxxx
# 服务端的公网IP地址(填写你服务器的ip地址)
server_addr = xxx.xx.xx.xx
# 服务端配置的通信端口
server_port = 7000
# 客户端WebUI地址
admin_addr = 127.0.0.1
# 客户端WebUI端口(自定义)
admin_port = 7400
# 客户端WebUI用户名(自定义)
admin_user = xxxxxx
# 客户端WebUI用户名(密码)
admin_pwd = xxxxxx

[ssh]
type = tcp
# 访问的本地的地址
local_ip = 127.0.0.1
# 访问本地的端口
local_port = 22
# 远程访问的端口 即通过 服务器IP:6000 可以访问到内网的 127.0.0.1:22
remote_port = 6000

# 编辑完成后 按esc键然后输入 :wq 保存并退出

3.启动frpc服务
我们可以使用./frpc -c frpc.ini命令启动frps来测试配置是否正确
但是由于以后服务后台运行并且自启动所以我们需要service配置启动

# 服务器运行服务创建
vim /lib/systemd/system/frpc.service

# 内容 中间ExecStart 后面的 /root/frp/frpc -c /root/frp/frpc.ini 中的路径需要设置成你存放frp文件的路径
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini

[Install]
WantedBy=multi-user.target

# 编辑完成后 按esc键然后输入 :wq 保存并退出


# 启动frps服务
systemctl start frpc.service

# 查看服务状态
systemctl status frpc.service

# 设置为开机自启
systemctl enable frpc.service

#查看服务运行日志
journalctl -u frpc.service

4.注意事项

1.Frp客户端的WebUI本地访问不到(不知道什么原因),需要配置到远程访问,配置示例如下:

[admin_ui]
type = tcp
local_port = 7400
remote_port = 7400

2.文中涉及的端口需要开放,centos开放端口命令如下

firewall-cmd --zone=public --add-port=7500/tcp --permanent   # 开放7500端口

firewall-cmd --zone=public --remove-port=7500/tcp --permanent  #关闭7500端口

firewall-cmd --reload   # 配置立即生效

3.frpc.ini配置多个穿透时,每个配置上必须要有 [穿透名称] ,并且 [穿透名称] 必须唯一否则运行会出错。

4.当出现无法配置检查不出问题,但还是无法访问时,应该第一时间查看运行日志来排错 journalctl -u frps.service 或者 journalctl -u frpc.service

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值