当前位置: 首页 > news >正文

Centos和Window系统下Frp内网穿透

frp 是一个高性能的内网穿透的反向代理软件,支持 TCP、UDP、HTTP、HTTPS 等常见协议(TCP最常用),可以将处于局域网或者家用电脑主机、办公电脑主机通过中转服务器的方式暴露在公网里,使用户可以通过访问公网的IP(域名)的方式获取内网里的信息,对于开发者来说,frp帮助我们调试接口(微信公众号或其他拥有IP白名单的接口),frp帮助我们取流内网的摄像头,访问内网数据库资源等

下载frp地址

https://github.com/fatedier/frphttps://github.com/fatedier/frp/releases

  1. 在centos下安装frp内网穿透代理

frp服务端和客户端都是使用的同一套,因此我们可以将之解压并改名

服务端:frp_server

客户端:frp_client

在这里我服务端和客户端都是使用的一台服务器安装的(可以分2台服务器主机,或者一台centos服务器主机和一台本地的linux(centos)电脑主机)

[root@myw ~]# cd /home
[root@myw home]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz
frp_0.33.0_linux_amd64/
frp_0.33.0_linux_amd64/frps_full.ini
frp_0.33.0_linux_amd64/frps.ini
frp_0.33.0_linux_amd64/frpc
frp_0.33.0_linux_amd64/frpc_full.ini
frp_0.33.0_linux_amd64/frps
frp_0.33.0_linux_amd64/LICENSE
frp_0.33.0_linux_amd64/frpc.ini
frp_0.33.0_linux_amd64/systemd/
frp_0.33.0_linux_amd64/systemd/frpc@.service
frp_0.33.0_linux_amd64/systemd/frpc.service
frp_0.33.0_linux_amd64/systemd/frps.service
frp_0.33.0_linux_amd64/systemd/frps@.service
[root@myw home]# ls
frp_0.33.0_linux_amd64  frp_0.33.0_linux_amd64.tar.gz  tomcat7
[root@myw home]# mv frp_0.33.0_linux_amd64  frp_server
[root@myw home]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz
frp_0.33.0_linux_amd64/
frp_0.33.0_linux_amd64/frps_full.ini
frp_0.33.0_linux_amd64/frps.ini
frp_0.33.0_linux_amd64/frpc
frp_0.33.0_linux_amd64/frpc_full.ini
frp_0.33.0_linux_amd64/frps
frp_0.33.0_linux_amd64/LICENSE
frp_0.33.0_linux_amd64/frpc.ini
frp_0.33.0_linux_amd64/systemd/
frp_0.33.0_linux_amd64/systemd/frpc@.service
frp_0.33.0_linux_amd64/systemd/frpc.service
frp_0.33.0_linux_amd64/systemd/frps.service
frp_0.33.0_linux_amd64/systemd/frps@.service
[root@myw home]# mv frp_0.33.0_linux_amd64  frp_client
[root@myw home]# ls
frp_0.33.0_linux_amd64.tar.gz  frp_client  frp_server  tomcat7
[root@myw home]# 

frps.ini 这个s指的是server 服务端

frpc.ini这个c指的是client 客户端

centos下启动服务端

进入/home/frp_server里面找到frps.ini文件,修改原有文件内容,我的配置如下

bind_port = 36542 #绑定的端口,需要与客户端中 server_port 参数保持一致

vhost_http_port = 36543 #虚拟主机运行在本机的端口

dashboard_port = 36544 #后台web服务页面的端口

dashboard_user = mywadmin #后台服务页面的管理员用户名

dashboard_pwd = mywadmin #后台服务页面的管理员密码

privilege_token = myyhtw147258 #自定义token 必须与客户端中的 privilege_token 保持一致

[common]
bind_port = 36542
vhost_http_port = 36543
dashboard_port = 36544
dashboard_user = mywadmin
dashboard_pwd = mywadmin
privilege_token = myyhtw147258

配置文件里不能有注释,不然可能无法启动(很奇怪遇到的)

启动的指令

./frps -c ./frps.ini
[root@myw home]# cd /home/frp_server
[root@myw frp_server]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  systemd
[root@myw frp_server]# chmod u+x frps
[root@myw frp_server]# ./frps -c ./frps.ini
2023/02/05 12:12:29 [I] [service.go:178] frps tcp listen on 0.0.0.0:36542
2023/02/05 12:12:29 [I] [service.go:220] http service listen on 0.0.0.0:36543
2023/02/05 12:12:29 [I] [service.go:277] Dashboard listen on 0.0.0.0:36544
2023/02/05 12:12:29 [I] [root.go:209] start frps success

这样的启动关闭窗口可能就关闭了,如此需要写一个脚本frp_server.sh 放在frp_server目录下

#!/bin/sh
nohup ./frps -c ./frps.ini &
[root@myw frp_server]# ls
frpc  frpc_full.ini  frpc.ini  frps  frp_server.sh  frps_full.ini  frps.ini  LICENSE  systemd
[root@myw frp_server]# chmod u+x frp_server.sh
[root@myw frp_server]# ./frp_server.sh
[root@myw frp_server]# nohup: appending output to ?.ohup.out?
^C
[root@myw frp_server]# netstat -lnp|grep frp
tcp6       0      0 :::36542                :::*                    LISTEN      1820/./frps         
tcp6       0      0 :::36543                :::*                    LISTEN      1820/./frps         
tcp6       0      0 :::36544                :::*                    LISTEN      1820/./frps         
[root@myw frp_server]# ps aux | grep frp
root      1820  0.0  0.5 716052 22120 pts/0    Sl   12:18   0:00 ./frps -c ./frps.ini
root      1914  0.0  0.0 112808   964 pts/0    S+   12:31   0:00 grep --color=auto frp

在frp_server/systemd里有service,找到frps.service打开并修改当前的路径配置

将配置好的frps.service文件放入/etc/systemd/system/里面后刷新加载

[Unit]
Description=Frp Server Service
After=network.target[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frp_server/frps -c /home/frp_server/frps.ini[Install]
WantedBy=multi-user.target
[root@myw frp_server]# systemctl daemon-reload
[root@myw frp_server]# systemctl start frps.service
[root@myw frp_server]# netstat -lnp|grep frp
tcp6       0      0 :::36542                :::*                    LISTEN      2025/frps           
tcp6       0      0 :::36543                :::*                    LISTEN      2025/frps           
tcp6       0      0 :::36544                :::*                    LISTEN      2025/frps           
[root@myw frp_server]# systemctl restart frps.service
[root@myw frp_server]# netstat -lnp|grep frp
tcp6       0      0 :::36542                :::*                    LISTEN      2045/frps           
tcp6       0      0 :::36543                :::*                    LISTEN      2045/frps           
tcp6       0      0 :::36544                :::*                    LISTEN      2045/frps           
[root@myw frp_server]# systemctl stop frps.service
[root@myw frp_server]# netstat -lnp|grep frp
[root@myw frp_server]# 
[root@myw frp_server]# systemctl enable frps.service
Created symlink from /etc/systemd/system/multi-user.target.wants/frps.service to /usr/lib/systemd/system/frps.service.
[root@myw frp_server]# 

刷新:systemctl daemon-reload

启动:systemctl start frps.service

重启:systemctl restart frps.service

停止:systemctl stop frps.service

开机启动:systemctl enable frps.service

取消开机启动:systemctl disable frps.service

centos下启动客户端

进入/home/frp_client里面找到frpc.ini文件,修改原有文件内容,我的配置如下

server_addr = 127.0.0.1 服务端的IP地址

server_port = 36542 # 客户端的连接服务端的端口

privilege_token = myyhtw147258 # 服务端token 保持一致

type = tcp # 使用协议类型tcp

local_ip = 127.0.0.1 # 客户端的本地ip

local_port = 8081 # 客户端的本地端口

remote_port = 8082 # 内网穿透代理端 也就是用户访问frp服务端的端口

[common]
server_addr = 127.0.0.1
server_port = 36542
privilege_token = myyhtw147258[tomcat7]
type = tcp
local_ip = 127.0.0.1
local_port = 8081
remote_port = 8082

我这里8081端口是tomcat服务器,按理来说后续只需要访问8082端口就能访问到tomcat7

启动的指令

./frpc -c ./frpc.ini

如果权限不够

chmod u+x frpc

写一个脚本frp_client.sh 放在frp_client目录下

#!/bin/sh
nohup ./frpc -c ./frpc.ini &
[root@myw /]# cd /home/frp_client
[root@myw frp_client]# ls
frpc  frpc_full.ini  frpc.ini  frp_client.sh  frps  frps_full.ini  frps.ini  LICENSE  systemd
[root@myw frp_client]# chmod u+x frp_client.sh
[root@myw frp_client]# ./frp_client.sh
[root@myw frp_client]# nohup: appending output to ?.ohup.out?
^C
[root@myw frp_client]# ps aux | grep frp
nobody    2180  0.0  0.5 716052 22452 ?        Ssl  12:58   0:00 /home/frp_server/frps -c /home/frp_server/frps.ini
root      2251  0.0  0.2 712224  9644 pts/1    Sl   13:06   0:00 ./frpc -c ./frpc.ini
root      2257  0.0  0.0 112808   964 pts/1    S+   13:06   0:00 grep --color=auto frp
[root@myw frp_client]# 

在frp_client/systemd里有service,找到frpc.service打开并修改当前的路径配置

将配置好的frpc.service文件放入/etc/systemd/system/里面后刷新加载

 [Unit]
Description=Frp Client Service
After=network.target[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frp_client/frpc -c /home/frp_client/frpc.ini
ExecReload=/home/frp_client/frpc reload -c /home/frp_client/frpc.ini[Install]
WantedBy=multi-user.target
[root@myw ~]# cd /home/frp_client
[root@myw frp_client]# systemctl daemon-reload
[root@myw frp_client]# systemctl start frpc.service
[root@myw frp_client]# systemctl enable frpc.service
Created symlink from /etc/systemd/system/multi-user.target.wants/frpc.service to /usr/lib/systemd/system/frpc.service.
[root@myw frp_client]# ps aux | grep frp
nobody     743  0.0  0.5 716052 22380 ?        Ssl  13:14   0:00 /home/frp_server/frps -c /home/frp_server/frps.ini
nobody    1604  0.0  0.2 713376  9896 ?        Ssl  13:16   0:00 /home/frp_client/frpc -c /home/frp_client/frpc.ini
root      1640  0.0  0.0 112812   964 pts/0    S+   13:17   0:00 grep --color=auto frp
[root@myw frp_client]# 

可以看到服务端和客户端都已启动的

刷新:systemctl daemon-reload

启动:systemctl start frpc.service

重启:systemctl restart frpc.service

停止:systemctl stop frpc.service

开机启动:systemctl enable frpc.service

取消开机启动:systemctl disable frpc.service

2.在windows下安装frp内网穿透代理

同样的在windows下使用frp部署frp_server和frp_client 配置文件信息除了IP根据具体外,其他的完全一致

启动2个服务(win系统的杀毒软件很烦人的,会把他认为是木马病毒)

mywadmin mywadmin

可以看到客户端内网穿透已经部署成功

访问(客户端主机)

http://127.0.0.1:8081

访问(服务端主机)

http://127.0.0.1:8082

在此处,都是一样的(因为在同一台电脑上部署的)

http://www.lryc.cn/news/24450.html

相关文章:

  • 春招冲刺(四):flex布局面试题总结
  • 我的 System Verilog 学习记录(7)
  • canvas复习笔记(绘制直线、矩形、圆形、圆弧)
  • LeetCode 653. 两数之和 IV - 输入二叉搜索树
  • 【Datawhale图机器学习】图神经网络
  • 【项目精选】 javaEE采购管理系统(论文+视频+源码)
  • 【Servlet篇2】创建一个web项目
  • Allegro如何手动让静态铜皮避让过孔操作指导
  • Java使用SpringBoot的Filter来扩展管道请求
  • 「JVM 高效并发」锁优化
  • 当园区物流遇上云计算,会发生什么事情?
  • 作为测试开发岗的面试官,我都是怎么选人的?
  • android事件分发机制源码分析
  • 今天,小灰37岁了!
  • 基于.NET 7 + iView 的前后端分离的通用后台管理系统开源框架
  • 新一代通信协议—— RSocket
  • 【编程实践】这个代码命名规范是真优雅呀!代码如诗!!(多读优秀的开源代码,多实践,你也可以一样优秀!)
  • Linux->进程终止和等待
  • 超店有数分享:tiktok数据分析工具推荐,助你成功出海!
  • 2022 第十四届蓝桥杯模拟赛第三期(题解与标程)
  • 「TCG 规范解读」PC 平台相关规范(1)
  • HNU工训中心:直流电路测量分析实验报告
  • tensorflow2.4--1.框架介绍
  • c++11 关键字 final 使用
  • 力扣(LeetCode)426. 将二叉搜索树转化为排序的双向链表(2023.02.28)
  • 华为OD机试真题Python实现【玩牌高手】真题+解题思路+代码(20222023)
  • “速通“ 老生常谈的HashMap [实现原理源码解读]
  • Linux系统介绍及熟悉Linux基础操作
  • mysql数据库limit的四种用法
  • 嵌入式 linux 系统开发网络的设置