美文网首页
frp服务配置

frp服务配置

作者: 夜空最亮的9星 | 来源:发表于2021-04-05 13:50 被阅读0次

    进入目录中可以看到 frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE 这七个文件

    frpc:客户端可执行程序
    frpc_full.ini:客户端所有配置项(可以再此文件查看frp的所有的配置项)
    frpc.ini:客户端配置项
    frps:服务端可执行程序
    frps_full.ini:服务端所有配置项(可以再此文件查看frp的所有的配置项)
    frps.ini:服务端配置项
    LICENSE:许可证
    

    在服务端我们不需要客户端的可执行程序和配置,为了避免误操作,我们可以先删除掉所有客户端的配置

    rm -rf frpc frpc_full.ini frpc.ini

    接下来可以对服务端配置进行修改。

    vi frps.ini

    可以看到服务端的默认配置如下:

    [common]
    bind_port = 7000

    默认的配置信息中只有一个绑定端口为7000,意思是我们在外网服务器中绑定7000端口和客户端进行通信。注:端口可以自定义,但是需要客户端和服务端进行统一。阿里云服务器需要在esc管理中配置安全组规则中添加7000端口

    接着在服务端使用如下命令启动程序

    ./frps -c frps.ini

    这行命令的意思是根据frps.ini这个配置文件去启动frps

    看到外网服务器打印出如下信息,表示启动成功
    image

    但是这样退出启动控制台程序便中断了。于是我们通常选择后台启动。在linux中使用如下命令进行后台启动。然后运行的日志会输出到当前目录的nohup.log文件中

    nohup ./frps -c frps.ini &

    以上是外网服务器最基本的一个配置。十分简单
    内网服务器SSH环境配置

    内网服务器与外网服务器一样,首先将安装包上传到内网服务器的/usr/local/frpc目录下,然后删除掉我们不需要的服务端文件

    rm -rf frps frps_full.ini frps.ini

    接着修改我们的客户端配置文件frpc.ini

    vi frpc.ini

    可以看到客户端默认配置如下:

    [common]
    server_addr = 120.79.17.158
    server_port = 7000

    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000

    [common]表示以下配置信息是一些公用配置信息
    server_addr是我们服务端即外网服务器的公网访问ip
    server_port是我们前面在服务端配置的frps.ini中bind_port中对应的端口。需保持两边一致
    [ssh]表示以下配置信息是我们使用ssh连接内网服务器时需要的一些配置信息
    type 是连接类型,ssh方式连接就用tcp
    local_ip 是本机ip,直接使用127.0.0.1即可
    local_port 是本地ssh端口,ssh默认端口为22
    remote_port 是外网服务器请求过来的端口 注:阿里云服务器需要在esc管理中配置安全组规则中添加6000端口
    

    了解了如上配置后,我们对配置进行相应的修改。修改为对应的信息后,既可以使用如下命令启动客户端程序

    ./.frpc -c frpc.ini

    这行命令的意思是根据frpc.ini这个配置文件去启动frpc

    看到内网服务器打印出如下信息表示启动成功:

    启动成功后可以直接通过外网服务器ip加上内网服务器配置的remote_port进行ssh连接
    如:

    ssh 120.79.17.158 -p 6000

    就可以发现我们可以直接通过公网ip登录内网服务器了
    外网服务器HTTP配置

    通常我们在开发的时候想让别人通过外网可以直接访问到我们的系统,以便于调试和测试,我是在做微信开发的时候需要使用到内网穿透的http服务,于是我们需要在frp中添加http服务的内网穿透配置
    

    在外网服务器的frps.ini中添加http服务配置如下:

    [common]
    bind_port = 7000
    vhost_http_port = 6001

    bind_port和之前做ssh时是一个意思。也是为了和客户端建立通信的端口,只需要在之前的配置文件中添加上vhost_http_port = 6001,这个配置意思是让别人在访问我们的服务器6001端口时。frp将http请求转发到内网服务器
    

    服务端的http请求配置到这里就结束了
    内网服务器HTTP配置

    内网服务器需要在frpc.ini中添加上如下内容:

    [web]
    type = http
    local_port = 80
    custom_domains = wannabe.fun

    [web]表示我们的配置是一个web服务
    type表示我们的请求方式是http方式
    local_port表示我们的本地服务端口号为80
    custom_domains表示配置为一个已经备案的域名(必填,并且需要域名可用,开始我认为这个不是必须的,于是花了很长时间,),并且域名解析配置为外网服务器ip
    

    以上配置完成后,我们就可以使用wannabe.fun:6001访问到我们部署在内网服务器的80端口的服务了。


    下面是在腾讯云服务端的配置和Window10客户端的配置

    腾讯云服务端

    [root@VM-4-10-centos frp_0.36.2]# ll
    total 12892
    -rwxrwxr-x 1 lighthouse lighthouse 13172736 Mar 22 15:00 frps
    -rw-rw-r-- 1 lighthouse lighthouse     5051 Mar 22 15:02 frps_full.ini
    -rw-rw-r-- 1 lighthouse lighthouse      172 Apr  4 19:15 frps.ini
    -rw-rw-r-- 1 lighthouse lighthouse    11358 Mar 22 15:02 LICENSE
    drwxrwxr-x 2 lighthouse lighthouse     4096 Mar 22 15:02 systemd
    

    frps.ini文件配置:

    [common]
    bind_port = 7000
    dashboard_port = 7001
    dashboard_user = admin
    dashboard_pwd = admin123
    vhost_http_port = 80 
    privilege_token = 随机一个uuid
    

    bind_port是服务端与客户端之间通信使用的端口号,默认就可以。

    token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。

    配置supervisor 服务

    [root@VM-4-10-centos supervisor]# cat my_service.conf 
    [program:frp]
    directory = /opt/frp_0.36.2
    command = /opt/frp_0.36.2/frps -c /opt/frp_0.36.2/frps.ini 
    autostart = true ; 在 supervisord 启动的时候也自动启动
    startsecs = 5 ; 启动 5 秒后没有异常退出,就当作已经正常启动了
    autorestart = true ; 程序异常退出后自动重启
    startretries = 3 ; 启动失败自动重试次数,默认是 3
    user = root ; 用哪个用户启动
    redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
    stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
    stdout_logfile_backups = 20 ; stdout 日志文件备份数
    stdout_logfile = /var/log/frps_out.log ;日志文件
    (base) [root@VM-4-10-centos supervisor]# 
    

    Windows10 客户端配置,

    将下载的WinSW.NET4.exe 重命名为winsw.exe 和frpc.exe放在同一个文件夹里

    [common]
    server_addr = 101.101.16.12
    server_port = 7000
    privilege_token = password123
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 3389
    remote_port = 7002
    custom_domains = 101.101.16.12
    

    winsw.xml

    <service>
        <id>frp</id>
        <name>frp</name>
        <description>frp service</description>
        <executable>frpc</executable>
        <arguments>-c frpc.ini</arguments>
        <logmode>reset</logmode>
    </service>
    
    image

    以管理员的身份cmd到该文件夹下,执行如下命令
    首先执行安装:
    winsw install
    然后启动服务:
    winsw start

    这样就安装完成了

    可以使用Microsoft Remote Desktop 访问远程Windows10。

    附:winsw 常用命令

    winsw uninstall  卸载服务
    winsw start      启动服务
    winsw status     查看服务状态
    winsw stop       停止服务
    winsw restart    重启服务
    

    相关文章

      网友评论

          本文标题:frp服务配置

          本文链接:https://www.haomeiwen.com/subject/nfjdkltx.html