Centos和Window系统下Frp内网穿透

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

下载frp地址

https://github.com/fatedier/frp

https://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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值