美文网首页
frp内网穿透试验

frp内网穿透试验

作者: 大飞歌 | 来源:发表于2018-07-09 14:39 被阅读0次

    1.实验工具和平台


    2.软件下载、安装


    3.配置软件

    frps.ini的配置

    #[common]是不可分割的部分

    [共同]

    #必须包含IPv6的文字地址或主机名

    #在方括号中,如“[:: 1]:80”,“[ipv6-host]:http”或“[ipv6-host%zone]:80”

    bind_addr = 0.0.0.0

    bind_port = 7000

    #udp port帮助让udp孔穿透nat

    bind_udp_port = 7001

    #udp port用于kcp协议,它可以与'bind_port'相同

    #如果未设置,则在frps中禁用kcp

    kcp_bind_port = 7000

    #指定哪个地址代理将侦听,默认值与bind_addr相同

    #proxy_bind_addr = 127.0.0.1

    #如果要支持虚拟主机,必须设置http端口进行监听(可选)

    #注意:http端口和https端口可以与bind_port相同

    vhost_http_port = 80

    vhost_https_port = 443

    #set dashboard_addr和dashboard_port查看frps的仪表板

    #smsboard_addr的默认值与bind_addr相同

    仅当设置了dashboard_port时,#dashboard才可用

    dashboard_addr = 0.0.0.0

    dashboard_port = 7500

    #msmsboard用户和passwd用于基本身份验证保护,如果未设置,则默认值均为admin

    dashboard_user = admin

    dashboard_pwd = admin

    #spamboard assets目录(仅适用于调试模式)

    #assets_dir = ./static

    #console或真正的logFile路径,如./frps.log

    log_file = ./frps.log

    #trace,debug,info,warn,error

    log_level = info

    log_max_days = 3

    #auth令牌

    token = 12345678

    #heartbeat configure,不建议修改默认值

    #hearbeat_timeout的默认值为90

    #heartbeat_timeout = 90

    #只允许frpc绑定你列出的端口,如果你没有设置,就不会有任何限制

    allow_ports = 2000-3000,3001,3003,4000-50000

    如果每个代理中的#pool_count超过最大值,则会更改为max_pool_count

    max_pool_count = 5

    #max ports可用于每个客户端,默认值为0表示无限制

    max_ports_per_client = 0

    #cognification_timeout表示frpc连接frps时的超时间隔(秒)

    #iify authentication_timeout为零,时间未验证,默认为900s

    authentication_timeout = 900

    #if subdomain_host不为空,可以在frpc配置文件中键入http或https时设置子域

    #子域名测试时,路由使用的主机是test.frps.com

    subdomain_host = frps.com

    #if如果使用tcp stream multiplexing,则默认为true

    tcp_mux = true


    frpc.ini

    #[common]是不可分割的部分

    [共同]

    #必须包含IPv6的文字地址或主机名

    #在方括号中,如“[:: 1]:80”,“[ipv6-host]:http”或“[ipv6-host%zone]:80”

    server_addr = 0.0.0.0

    server_port = 7000

    #如果要通过http代理或socks5代理连接frps,可以在此处或在全局环境变量中设置http_proxy

    #它仅在协议为tcp时有效

    #http_proxy = http:// user:passwd@192.168.1.128:8080

    #http_proxy = socks5:// user:passwd@192.168.1.128:1080

    #console或真正的logFile路径,如./frpc.log

    log_file = ./frpc.log

    #trace,debug,info,warn,error

    log_level = info

    log_max_days = 3

    #用于身份验证

    token = 12345678

    #设置管理地址,用于通过http api控制frpc的动作,如重新加载

    admin_addr = 127.0.0.1

    admin_port = 7400

    admin_user = admin

    admin_passwd = admin

    #connections将提前建立,默认值为零

    pool_count = 5

    #if如果使用tcp stream multiplexing,默认为true,它必须与frps相同

    tcp_mux = true

    #您的代理名称将更改为{user}。{proxy}

    user = your_name

    #决定首次登录失败时退出程序,否则连续重新登录到frps

    #default为true

    login_fail_exit = true

    #用于连接服务器的通信协议

    #现在它支持tcp和kcp,默认是tcp

    protocol = tcp

    #指定一个dns服务器,因此frpc将使用它而不是默认值

    #dn_server = 8.8.8.8

    #您要开始的代理名称除以','

    #default为空,表示所有代理

    #start = ssh,dns

    #heartbeat configure,不建议修改默认值

    #hearbeat_interval的默认值为10,heartbeat_timeout为90

    #heartbeat_interval = 30

    #heartbeat_timeout = 90

    #'ssh'是唯一的代理名称

    #如果[common]部分中的用户不为空,则会更改为{user}。{proxy},例如'your_name.ssh'

    [SSH]

    #tcp | udp | http | https | stcp | xtcp,默认为tcp

    type = tcp

    local_ip = 127.0.0.1

    local_port = 22

    #true或false,如果为true,frps和frpc之间的消息将被加密,默认为false

    use_encryption = false

    #if如果为true,将压缩消息

    use_compression = false

    #remout端口通过frps监听

    remote_port = 6001

    #frps将为同一组中的代理加载平衡连接

    group = test_group

    #group应该具有相同的组密钥

    group_key = 123456

    [ssh_random]

    type = tcp

    local_ip = 127.0.0.1

    local_port = 22

    #if remote_port为0时,frps将为您分配一个随机端口

    remote_port = 0

    #如果要公开多个端口,请在节名称中添加“range:”前缀

    #frpc将生成多个代理,例如'tcp_port_6010','tcp_port_6011'等。

    [范围:TCP_PORT]

    type = tcp

    local_ip = 127.0.0.1

    local_port = 6010-6020,6022,6024-6028

    remote_port = 6010-6020,6022,6024-6028

    use_encryption = false

    use_compression = false

    [DNS]

    type = udp

    local_ip = 114.114.114.114

    local_port = 53

    remote_port = 6002

    use_encryption = false

    use_compression = false

    [范围:udp_port]

    type = udp

    local_ip = 127.0.0.1

    local_port = 6010-6020

    remote_port = 6010-6020

    use_encryption = false

    use_compression = false

    #将您的域名解析为[server_addr],以便您可以使用http://web01.yourdomain.com浏览web01和http://web02.yourdomain.com来浏览web02

    [WEB01]

    type = http

    local_ip = 127.0.0.1

    local_port = 80

    use_encryption = false

    use_compression = true

    #http用户名和密码是http协议的安全认证

    #如果未设置,您可以在没有认证的情况下访问此custom_domains

    http_user = admin

    http_pwd = admin

    #如果frps的域名是frps.com,那么您可以通过URL http://test.frps.com访问[web01]代理

    subdomain = web01

    custom_domains = web02.yourdomain.com

    #locations仅适用于http类型

    locations = /,/ pic

    host_header_rewrite = example.com

    带有前缀“header_”的#params将用于更新http请求标头

    header_X-From-Where = frp

    [web02]

    type = https

    local_ip = 127.0.0.1

    local_port = 8000

    use_encryption = false

    use_compression = false

    subdomain = web01

    custom_domains = web02.yourdomain.com

    [plugin_unix_domain_socket]

    type = tcp

    remote_port = 6003

    #if如果定义了插件,local_ip和local_port就没用了

    #lugin将处理从frps获得的连接

    plugin = unix_domain_socket

    #params前缀为“plugin_”,插件需要

    plugin_unix_path = /var/run/docker.sock

    [plugin_http_proxy]

    type = tcp

    remote_port = 6004

    plugin = http_proxy

    plugin_http_user = abc

    plugin_http_passwd = abc

    [plugin_socks5]

    type = tcp

    remote_port = 6005

    plugin = socks5

    plugin_user = abc

    plugin_passwd = abc

    [plugin_static_file]

    type = tcp

    remote_port = 6006

    plugin = static_file

    plugin_local_path = / var / www / blog

    plugin_strip_prefix = static

    plugin_http_user = abc

    plugin_http_passwd = abc

    [secret_tcp]

    #如果类型是秘密tcp,则remote_port是无用的

    #谁想要连接本地端口应该使用stcp代理部署另一个frpc,角色是访问者

    type = stcp

    #sk用于访问者的身份验证

    sk = abcdefg

    local_ip = 127.0.0.1

    local_port = 22

    use_encryption = false

    use_compression = false

    #pcpc的用户在stcp服务器和stcp访问者中应该相同

    [secret_tcp_visitor]

    #frpc角色访问者 - > frps - > frpc角色服务器

    role = visitor

    type = stcp

    #您要访问的服务器名称

    server_name = secret_tcp

    sk = abcdefg

    #将此地址连接到访问者stcp服务器

    bind_addr = 127.0.0.1

    bind_port = 9000

    use_encryption = false

    use_compression = false

    [p2p_tcp]

    type = xtcp

    sk = abcdefg

    local_ip = 127.0.0.1

    local_port = 22

    use_encryption = false

    use_compression = false

    [p2p_tcp_visitor]

    role = visitor

    type = xtcp

    server_name = p2p_tcp

    sk = abcdefg

    bind_addr = 127.0.0.1

    bind_port = 9001

    use_encryption = false

    use_compression = false


    4.运行、测试


    相关文章

      网友评论

          本文标题:frp内网穿透试验

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