开启服务
server
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
tar xvf frp_0.20.0_linux_amd64.tar.gz
cd frp_0.20.0_linux_amd64
vim frps.ini
./frps -c ./frps.ini #运行
#防火墙打开端口
iptables -I INPUT -p tcp --dport 7000 -j ACCEPT #监听
iptables -I INPUT -p tcp --dport 9090 -j ACCEPT #web
iptables -I INPUT -p tcp --dport 6000 -j ACCEPT #ssh
iptables -I INPUT -p tcp --dport 7500 -j ACCEPT #back
netstat -anp | grep 7000 #查找7000端口
ps aux #查看所有进程
ps aux | grep 'frp' #查找frp进程
kill 2534 #终结一个进程
client
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_arm.tar.gz
tar xvf frp_0.20.0_linux_arm.tar.gz
cd frp_0.20.0_linux_arm
nano frpc.ini
./frpc -c ./frpc.ini #运行
配置文件
单域名
frps.ini
[common]
bind_port = 7000 #监听端口
vhost_http_port=9090 #外网访问时的端口,如果没有别的服务需要占用80端口,可以将此参数设置为80,那样访问的时候就不需要在域名后面添加端口号
#后台参数
dashboard_port = 7500 #端口
# dashboard user and passwd for basic auth protect, if not set, both default value is admin
dashboard_user = xxx
dashboard_pwd = xxx
frpc.ini
[common]
server_addr = 47.97.176.50 #服务器ip
server_port = 7000 #连接端口
local_ip = 127.0.0.1
#ssh参数
[ssh]
type = tcp
local_port = 22
remote_port = 6000
#本地的网站参数
[web]
type = http
local_port = 80 #本地调用端口
custom_domains =www.grain-rain.xyz #绑定的域名
#访问网站时的验证#
http_user = xxx
http_pwd = xxx
泛域名
frps.ini
[common]
bind_port = 7000
vhost_http_port=9090
subdomain_host =dfer.top
dashboard_port = 7500
# dashboard user and passwd for basic auth protect, if not set, both default value is admin
dashboard_user = xxx
dashboard_pwd = xxx
frpc.ini
[common]
server_addr = 47.97.176.50
server_port = 7000
local_ip = 127.0.0.1
[ssh]
type = tcp
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 80
subdomain =www
[web1]
type = http
local_port = 81
subdomain =www1
[web2]
type = http
local_port = 82
subdomain =www2
调用
- http://www.dfer.top:9090 #外网调用,通过9090端口连接到内网的80端口
- http://www1.dfer.top:9090
- ssh -oPort=6000 test@x.x.x.x #ssh
- http://www.dfer.top:7500 #back
- 可实现内网穿透
- 将外网服务器与内网的机器进行连接
- 通过服务器来访问局域网的网站或者shell
- 如果已经在服务器架设了网站,那么80端口就无法使用,只能用别的端口代替
- 如果觉得带端口影响美观,可以使用域名重定向,在域名解析或者网站里设置
- 重定向有隐性和显性,隐性是以框架的形式加载原本的网页,导致title无法正常显示,而且显示过程不流畅;显性是直接跳转到目标地址,不影响原页面的显示,但是地址会变