十分钟教你配置frp实现内网穿透

一、frp的作用

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

二、配置说明

1、实现功能

(1)外网通过ssh访问内网机器

(2)自定义绑定域名访问内网web服务

2、配置前准备

(1)公网服务器1台

(2)内网服务器1台(我这里演示的是linux环境,win10上面vmware安装的centos7)

(3)公网服务器绑定域名1个(实现二1中(1)功能不需要公网服务器绑定域名,二1中(2)功能必须需要公网服务器绑定域名)

(4)内网服务器部署一个web服务,可以用tomcat模拟,这里就不演示了

三、安装frp

1、公网服务器与内网服务器都需要下载frp进行安装,公网服务器(服务端)配置关注步骤6,内网服务器(客户端)关注步骤7

2、下载地址是 https://github.com/fatedier/frp/releases,下载linux版本frp_0.13.0_linux_amd64.tar.gz,

wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz

3、新建目录mkdir -p /opt/frp/,上传frp_0.13.0_linux_amd64.tar.gz至linux服务器该目录下

4、解压tar -zxvf  frp_0.13.0_linux_amd64.tar.gz

5、进入解压目录cd frp_0.13.0_linux_amd64,这里主要关注4个文件,分别是frpc、frpc.ini和frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。

6、配置服务端(公网服务器),首先删掉frpc、frpc.ini两个文件,然后再进行配置,vi ./frps.ini,

[common]
bind_port = 7000           #与客户端绑定的进行通信的端口
vhost_http_port = 6081     #访问客户端web服务自定义的端口号

7、配置客户端(内网服务器),首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini

[common]
server_addr = 120.56.37.48   #公网服务器ip
server_port = 7000            #与服务端bind_port一致

#公网通过ssh访问内部服务器
[ssh]
type = tcp              #连接协议
local_ip = 192.168.3.48 #内网服务器ip
local_port = 22         #ssh默认端口号
remote_port = 6000      #自定义的访问内部ssh端口号

#公网访问内部web服务器以http方式
[web]
type = http         #访问协议
local_port = 8081   #内网web服务的端口号
custom_domains = repo.iwi.com   #所绑定的公网服务器域名,一级、二级域名都可以

保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &

四:注册成服务

[root@prd_web1 ~]# vim /usr/lib/systemd/system/frp.service
[root@prd_web1 ~]# cat /usr/lib/systemd/system/frp.service
[Unit]
Description=frpc daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/opt/frp/frp_0.19.0_linux_386/frpc -c /opt/frp/frp_0.19.0_linux_386/frpc.ini
Restart= always
RestartSec=30
ExecStop=/usr/bin/killall frpc

[Install]
WantedBy=multi-user.target

五:设置开机自启动

systemctl daemon-reload
systemctl enable frp

六:启动

systemctl start frp 
ps aux |grep frp

本文转自 https://blog.csdn.net/m0_54434140/article/details/128202595,如有侵权,请联系删除。

title: Windows客户端 配置

基础配置

frpc.ini 文件:

[common]
server_addr = xxxx.xxx.com #服务端地址
server_port = 7000 #服务端端口



[computer02]
type = tcp #协议类型
local_ip = 127.0.0.1 #本地地址
local_port = 3389 # 本地端口
remote_port = 2  # 远程端口

运行:

title 内网穿透服务
frpc.exe -c frpc.ini
pause

将frpc注册成windows服务

  • 官网NSSM - the Non-Sucking Service Manager下载NSSM,复制nssm.exe到frpc目录。
  • 使用nssm将frpc注册成windows服务实现frpc随着windows开机启动而启动,以管理员权限运行cmd,执行下面命令。
nssm install frpc
  • 将程序主文件和运行参数以及配置文件配好,下一步

写在最后
如果服务端有防火墙一定要增加入栈规则,类型选择应用程序。否则肯能客户端无法连接到服务器。