如何使用FRP进行内网穿透:完整指南与实战操作

FRP介绍

frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。

frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
github地址:https://github.com/fatedier/frp

自定义域访问内部 Web 服务(内网穿透)

1.下载frp程序到服务器上并解压
2.修改frps.toml

# frps.toml
bindPort = 7000
auth.token = "token"

服务的绑定端口为7000
添加token验证

3.启动frps服务端

./frps -c ./frps.toml

在这里插入图片描述
这样就算启动成功了!

  1. 客户端配置
    在github上下载自己系统的 frp 。

修改 frpc.toml

#服务端的ip地址
serverAddr = "*.*.*.*"
#服务端的端口
serverPort = 7000
#token验证 如服务端没有配置token 则删除
auth.token = "token"

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
#本地服务的端口
localPort = 8090
#远程服务端映射的端口  注意防火墙要开启这个端口!
remotePort = 8080

5.启动客户端

.\frpc.exe -c .\frpc.toml

在这里插入图片描述

出现一下结果就说明 内网穿透已经成功了 !

服务端 shell启动脚本

#!/bin/bash

FRPS_PATH="./frps"
FRPS_CONF="./frps.toml"
PID_FILE="/var/run/frps.pid"

start() {
    if [ -f $PID_FILE ]; then
        echo "frps is already running."
    else
        nohup $FRPS_PATH -c $FRPS_CONF > /dev/null 2>&1 &
        echo $! > $PID_FILE
        echo "frps started."
    fi
}

stop() {
    if [ -f $PID_FILE ]; then
        kill $(cat $PID_FILE)
        rm -f $PID_FILE
        echo "frps stopped."
    else
        echo "frps is not running."
    fi
}

restart() {
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值