住房建设厅的网站首页,餐饮品牌设计策划,装修设计费收费标准,wordpress单页制作本文将介绍如何在CentOS 7.9上部署frp#xff0c;并通过示例展示如何配置和测试内网穿透。 文章目录 #xff08;1#xff09;引言#xff08;2#xff09;准备工作#xff08;4#xff09;frps服务器端配置#xff08;5#xff09;frpc客户端配置#xff08;6#… 本文将介绍如何在CentOS 7.9上部署frp并通过示例展示如何配置和测试内网穿透。 文章目录 1引言2准备工作4frps服务器端配置5frpc客户端配置6启动停止重启命令7设置开机自启动8使用openwrt作为frpc客户端连接 1引言
在家庭网络环境中如果你想在外部访问到家里的局域网设备通常情况下需要拥有公网IP。然而由于IPv4地址资源有限运营商很少会提供公网IP给家庭用户除非你愿意支付额外费用。虽然IPv6可以解决这个问题但需要互访的两端都是IPv6才能实现访问。
为了实现在外部随时访问家庭网络中的设备我们可以选择使用frp来进行内网穿透。frp是一个开源的内网穿透工具它可以将内网设备暴露给外部网络从而实现远程访问。
2准备工作
在开始之前你需要准备以下几项
一台带有公网IP的云服务器本文以CentOS 7.9为例。家庭网络中需要访问的设备例如家用群晖NAS。了解云服务器的防火墙和安全组设置以便进行相应的配置。
frp下载
1、GitHub文件地址https://github.com/fatedier/frp/releases
2、根据所需下载需要的版本
选择对应版本右击复制下载链接到服务器下载或直接下载都行。 3、服务器使用wget进行下载
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz4frps服务器端配置
1、防火墙和安全组设置
在部署frp之前我们需要进行一些防火墙和安全组的设置以确保frp能够正常运行并且安全可靠。
2、关闭云服务器防火墙
首先我们需要关闭云服务器上的防火墙。在CentOS 7.9上可以使用以下命令关闭防火墙并禁用其开机启动
systemctl stop firewalld systemctl disable firewalld3、关闭SELinux
SELinux是一种安全增强机制它可以限制进程的权限。为了简化配置过程我们可以将SELinux设置为Permissive模式或者完全禁用它。可以使用以下命令将SELinux设置为Permissive模式
setenforce 04、开放安全组端口
在云服务器的安全组中我们需要开放一些端口以允许frp的通信。具体需要开放的端口包括
frp服务的绑定端口默认为7000frp的仪表盘端口默认为7001frp的HTTP虚拟主机端口默认为10080frp的HTTPS虚拟主机端口默认为10443DSM 应用服务端口5000Openwrt端口8120 请根据你的实际情况在安全组中开放相应的端口。
5、安装frps
创建配置文件目录
mkdir -p /usr/local/frps将frps解压到tmp目录下备用
tar zxvf frp_0.32.1_linux_amd64.tar.gz -C /tmp查看解压的配置文件内容 ll /tmp/frp_0.32.1_linux_amd64
total 23000
-rwxrwxr-x 1 mysql mysql 10575872 Apr 3 2020 frpc
-rw-rw-r-- 1 mysql mysql 7575 Apr 3 2020 frpc_full.ini
-rw-rw-r-- 1 mysql mysql 126 Apr 3 2020 frpc.ini
-rwxrwxr-x 1 mysql mysql 12935168 Apr 3 2020 frps
-rw-rw-r-- 1 mysql mysql 4639 Apr 3 2020 frps_full.ini
-rw-rw-r-- 1 mysql mysql 26 Apr 3 2020 frps.ini
-rw-rw-r-- 1 mysql mysql 11358 Apr 3 2020 LICENSE
drwxrwxr-x 2 mysql mysql 4096 Apr 3 2020 systemd复制frps和frps.ini两个配置文件
cd /tmp/frp_0.32.1_linux_amd64
cp frps frps.ini /usr/local/frps修改frp配置文件
现在我们需要对frp进行配置以便实现内网穿透。
使用文本编辑器vim打开frp的配置文件/usr/local/frps/frps.ini
vim /usr/local/frps/frps.ini根据需要修改以下配置项
[common]
bind_port 7000
dashboard_port 7001
vhost_http_port 10080
vhost_https_port 10443
token 123456789
dashboard_user admin
dashboard_pwd admin#内网NAS
[dsm]
type tcp
local_ip 192.168.31.100
local_port 5000
remote_port 5000#内网路由器
[openwrt]
type tcp
local_ip 192.168.31.120
local_port 80
remote_port 8120上述配置是frp的配置文件其中包含了以下几个部分 [common]这是通用配置部分包含了一些常用的配置项。 bind_port指定frp服务器监听的端口号这里设置为7000。dashboard_portfrp的仪表板dashboard的端口号用于管理frp服务这里设置为7001。vhost_http_port虚拟主机的HTTP端口号用于HTTP协议的内网穿透这里设置为10080。vhost_https_port虚拟主机的HTTPS端口号用于HTTPS协议的内网穿透这里设置为10443。token用于验证客户端与服务器之间的身份验证令牌。dashboard_user仪表板的用户名这里设置为admin。dashboard_pwd仪表板的密码这里设置为admin。 [dsm]这是一个自定义的服务配置部分用于将frp服务器上的TCP流量转发到本地的NAS服务。 type指定服务类型为TCP。local_ip本地服务的IP地址这里设置为192.168.31.100。local_port本地服务的端口号这里设置为5000。remote_portfrp服务器上的对外暴露的端口号这里设置为5000。 [openwrt]这是另一个自定义的服务配置部分用于将frp服务器上的TCP流量转发到本地的路由器。 type指定服务类型为TCP。local_ip本地服务的IP地址这里设置为192.168.31.120。local_port本地服务的端口号这里设置为80。remote_portfrp服务器上的对外暴露的端口号这里设置为8120。
通过这样的配置frp可以将来自frp服务器的流量转发到本地的NAS服务和路由器上实现了内网穿透的功能。请确保配置文件中的IP地址、端口号等信息与实际情况相符并确保frp服务器和本地服务的网络连通性。
5frpc客户端配置
frpc配置与frps服务端配置其实相差不大
1、下载frp
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz2、创建frpc软件目录
mkdir -p /usr/local/frpc3、解压frpc配置文件
tar zxvf frp_0.32.1_linux_amd64.tar.gz -C /tmp3、复制配置文件frpc.ini和frpc
cd /tmp/frp_0.32.1_linux_amd64cp frps frpc.ini /usr/local/frpc4、编辑配置文件
[common]
server_addr 服务器的IP
server_port 7000
token 123456789[dsm]
type tcp
local_ip 192.168.31.100
local_port 5000
remote_port 5000[openwrt]
type tcp
local_ip 192.168.31.120
local_port 80
remote_port 81206启动停止重启命令
1、服务端启动 nohup 为后台运行进程 cd /usr/local/frps
nohup ./frps -c frps.ini /dev/null 2 /dev/null 2、客户端启动
cd /usr/local/frpc
nohup ./frpc -c frpc.ini /dev/null 2 /dev/null3、查看frps和frpc进程
ps aux | grep frps
root 3908 0.0 0.7 715756 13468 pts/0 Sl 13:12 0:00 ./frps -c frps.ini
root 4271 0.0 0.0 112812 980 pts/0 S 13:18 0:00 grep --colorauto frpsps aux | grep frpc
root 28639 0.2 0.0 712392 8792 pts/2 Sl 13:16 0:00 ./frpc -c frpc.ini
root 28698 0.0 0.0 23244 2224 pts/2 S 13:16 0:00 grep --colorauto frpc4、查看frps服务端监听的端口 netstat -tnlp | grep frps输出
tcp6 0 0 :::10000 :::* LISTEN 3908/./frps
tcp6 0 0 :::8120 :::* LISTEN 3908/./frps
tcp6 0 0 :::7000 :::* LISTEN 3908/./frps
tcp6 0 0 :::7001 :::* LISTEN 3908/./frps
tcp6 0 0 :::10080 :::* LISTEN 3908/./frps
tcp6 0 0 :::5000 :::* LISTEN 3908/./frps
tcp6 0 0 :::10443 :::* LISTEN 3908/./frps
7设置开机自启动
1、关闭frps和frpc进程
查询进程id ps aux | grep frps输出
root 3908 0.0 0.6 715756 12644 pts/0 Sl 13:12 0:00 ./frps -c frps.ini关闭进程
kill -9 3908frpc依次操作。
2、创建服务单元启动frps
在服务器端操作
1、创建一个 Systemd 服务单元文件 vim /etc/systemd/system/frps.service内容如下
[Unit]
DescriptionFRP Client[Service]
ExecStart/usr/local/frps/frps -c /usr/local/frps/frps.ini[Install]
WantedBymulti-user.target
客户端也是如此操作修改vim /etc/systemd/system/frpc.service和配置文件ExecStart/usr/local/frp/frpc -c /usr/local/frp/frpc.ini即可。
3、创建启动服务单元fpc vim /etc/systemd/system/frpc.service内容
[Unit]
DescriptionFRP Client[Service]
ExecStart/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini[Install]
WantedBymulti-user.target
3、启动命令
#开启服务
systemctl start frps 或frpc
#开机自启动
systemctl enable frps 或frpc#重新启动
systemctl restart frps 或frpc#停止启动
systemctl stop frps 或frpc打开DSM网页界面成功 openwrt访问
下载文件测试 速度有点慢我的服务器网络是1M的 8使用openwrt作为frpc客户端连接
访问openwrt后台在服务-Frp 内网穿透 端口令牌参考-/etc/frps/frps.ini配置文件 服务器填frpc服务器IP 端口frpc服务端口bind_port 令牌填token 用户admin 编辑添加服务列表
设置协议类型tcp 远程端口5000 内网主机192.168.31.100 内网端口5000
服务器添加