精华内容
下载资源
问答
  • 端口映射教程

    2014-04-03 13:42:52
    端口映射其实就是常说的NAT地址转换的一种,其功能就是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。
  • 易安端口映射教程

    2018-10-03 01:23:22
    易安端口映射教程,对计算机的端口虚拟映射到外网,可以通过互联网来与计算机通讯。
  • 端口映射教程端口映射教程端口映射教程端口映射教程
  • 路由器端口映射教程

    2008-05-04 17:14:30
    路由器端口映射教程 值得一看
  • HillStone_SA2005_端口映射教程
  • VM虚拟机端口映射教程。。。。。。。。。。。。。。。。。。。
  • 简单的端口映射教程

    2021-02-12 19:48:09
    最近写了两篇文章,一篇是在Windows下搭建Z-blog博客,一篇是在树莓派上搭建Wordpress博客,其实还有一篇,不过和建站没关系,如果真的有人跟着教程做了,会发现用外网IP是连不上你的网站的,因为没有进行端口映射,...

    https://zhuanlan.zhihu.com/p/43233032

    0x00 本文目的

    最近写了两篇文章,一篇是在Windows下搭建Z-blog博客,一篇是在树莓派上搭建Wordpress博客,其实还有一篇,不过和建站没关系,如果真的有人跟着教程做了,会发现用外网IP是连不上你的网站的,因为没有进行端口映射,访问外网IP是无法对应到你内网服务器的某台机器的某个端口的,本文篇幅比较短。

    0x01 端口映射的概念

    端口映射是把外网IP地址的某一个端口映射到内网的某台主机的某台端口,比如你的服务器内网IP是192.168.1.8,那么只需要把192.168.1.8的80端口映射到公网的80端口就可以了,但是很多地区禁用了80端口,也可以通过其他端口来访问你的网站,比如可以把192.168.1.8的80端口映射到公网的1314端口,那么通过1314端口也可以来访问你的服务器

    0x02 通过家用路由器端口映射

    首先进入路由器的管理界面,默认的网址是192.168.1.1或者192.168.0.1,默认账号密码应该都是admin,如果登陆不进去或者压根进不去网址,请找到你家的路由器,翻个面看看默认管理网址和默认账号密码是啥

    进入以后寻找端口映射这个按钮,如果你家是TPLINK或者其他常见厂商的话名字可能为"虚拟服务器",不要担心,功能都一样

    点击"添加"就可以添加一条端口映射规则,内网地址填写你服务器的内网地址,如果不知道的话,Win+R输入"cmd"输入ipconfig就可以显示出来内网IP,协议填TCP,如果支持TCP+UDP的话写TCP+UDP,内网端口要写啥取决于你需要在外网访问什么服务,比如搭建一个网站内网端口就写上"80",暂不考虑https,外网端口就是通过外网IP访问你这台服务器的80端口要通过什么端口,如果是建站的话最好填写80,如果当地服务商禁掉80端口你就不能通过外网访问你的网站服务器了,这时候可以打个投诉电话,或者妥协选择其他端口,比如使用1234端口,那么通过浏览器访问你的网站是这么写的

    你的外网IP:1234    最大是65535

    0x03 一个简单的实例

    我用树莓派搭建了一个网站,树莓派的内网IP是192.168.1.112,我要让外网的80端口可以访问到我的树莓派的80端口,我要这么写

    内网地址:192.168.1.112 内网端口80 对应 外网端口80

    映射以后直接直接在浏览器输入外网IP,发现可以访问到我的树莓派上的网站,映射成功,本文结束

    展开全文
  • 花生壳端口映射教程

    千次阅读 2019-06-19 15:21:53
    如果你想自己做网站,或者想做一个网络服务器的话,那首先得解决的就是公网访问内网的问题,这就是端口映射技术了,如果你的路由器上不能进行端口映射,那就只能借用第三方的软件来进行端口映射,现在就教你如何用...

    如果你想自己做网站,或者想做一个网络服务器的话,那首先得解决的就是公网访问内网的问题,这就是端口映射技术了,如果你的路由器上不能进行端口映射,那就只能借用第三方的软件来进行端口映射,现在就教你如何用花生壳进行端口映射。

    工具/原料

    • 电脑

    • 花生壳

    方法/步骤

    1. 首先下载新花生壳后,输入用户名密码登录。

      教你如何用花生壳进行端口映射

    2. 双击你想映射的域名,进入花生壳端口映射添加界面,点击打开内网映射。

      教你如何用花生壳进行端口映射

    3. 应用名称可以随便填个好记的,内网主机就是你想被公网访问的那台电脑IP地址,内网端口就是希望被映射的端口,如下。我的内网主机是本机,就是192.168.1.46,希望被映射的端口是4646。点击确定,就启动端口映射了。

      教你如何用花生壳进行端口映射

    4. 现在端口映射窗口就会添加一条映射记录,此时,公网只要使用花生壳分配的这个域名+端口,就可以访问内网的主机了。

      教你如何用花生壳进行端口映射

      END

    展开全文
  • 经常在做物联网数据传输,需要传输到内网中,就要用到端口映射。下面我们以工业路由器为例:罗工:一五三零五零二四七九六 本文以佰马工业级无线路由器BMR200-A为例,重点介绍工业级无线路由器在有线连接的环境下...

    工业级无线路由器 广泛应用于电力、交通、环保等行业,实现数据远程采集、无线传输、物联网/互联网接入、无线上网、数据远程监测、设备远程管理控制、图像视频远程采集传输等功能。经常在做物联网数据传输,需要传输到内网中,就要用到端口映射。下面我们以工业路由器为例:罗工:一五三零五零二四七九六

    本文以佰马工业级无线路由器BMR200-A为例,重点介绍工业级无线路由器在有线连接的环境下如何配置端口映射。旨在帮助客户对端口映射有初步了解,对于无线环境下的端口映射配置我们另作讨论。

    1.定义

    端口转发即端口映射,是通过访问对端公网IP和端口,然后跳转到内网指定的端口。

    2.配置环境

    两台路由器R1与R2的WAN口相连,R1的LAN口连接PC1,R2的LAN口连接PC2

    R1路由器网段为192.168.1.1

    R2路由器网段为192.168.2.1

    R2路由器WAN口接R1路由器WAN口,

    PC1网线接R1路由器LAN口,获取IP为192.168.1.229

    PC2网线接R2路由器LAN口,获取IP为192.168.1.160

    3.工业级无线路由器参数配置

    佰马工业级无线路由器BMR200-A提供基于Web的管理配置界面。 

    如您是第一次使用,请按以下默认来配置:

    IP地址:192.168.1.1

    用户名:admin

    密码:admin

    1)登入WEB配置界面

    A.各用一根网线将路由器R1的 LAN口与PC1的网口连接,路由器R2的 LAN口与PC2的网口连接;然后再找一根将R1和R2的WAN口相连;

    B.在PC1和PC2上打开浏览器,输入用户名和密码,然后按Enter键,即可登陆配置界面;

    C. 在您成功登录Web界面之后,您可以查看系统信息并执行配置

    2)外网设置

    A.在路由器R1和R2分别 点击“网络设置”—>选择“外网设置”

    B. 在协议选择“静态地址”,

    C. 输入IP地址和网关。本案例R1路由器的IP地址写成192.168.100.100,R2路由器的IP地址写成192.168.100.200,R1和R2的网关都写成192.168.100.1

    R1路由器外网设置

    R2路由器外网设置

    3)内网设置

    A. 点击“网络设置”—>选择“内网设置”

    B. 输入IP地址和网关。本案例R1路由器的IP地址写成192.168.1.1,R2路由器的IP地址写成192.168.2.1,

    R1路由器内网设置

    R2路由器内网设置

    3)端口转发

    A. 点击“网络设置”—>选择“内网设置”

    A. 新建端口转发

    4.数据收发

    为验证佰马无线路由器BMR200-A 的R1和R2端口映射是否成功,可在PC1、PC2各自打开网络调试助手,将PC1作为客户端,PC2作为服务端,PC1和 PC2之间互相发送数据:

    PC1作为客户端

    PC2作为服务端

    展开全文
  • Frp内网端口映射教程

    千次阅读 2018-09-10 14:48:00
    为了防止端口被滥用,可以手动指定允许哪些端口被使用,在 frps.ini 中通过  allow_ports  来指定: # frps.ini [common] allow_ports = 2000-3000,3001,3003,4000-50000 allow_ports  可以配置允许使用的...

    frp 的作用

    • 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
    • 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
    • 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

    architecture.png

    根据对应的操作系统及架构,从 Release 页面下载最新版本的程序。

    将 frps 及 frps.ini 放到具有公网 IP 的机器上。

    将 frpc 及 frpc.ini 放到处于内网环境的机器上。

     

    通过 ssh 访问公司内网机器

    • 修改 frps.ini 文件,这里使用了最简化的配置:
    # frps.ini
    [common]
    bind_port = 7000
    • 启动 frps:

    ./frps -c ./frps.ini

    • 修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x;
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    • 启动 frpc:

    ./frpc -c ./frpc.ini

    • 通过 ssh 访问内网机器,假设用户名为 test:

    ssh -oPort=6000 test@x.x.x.x

     

    通过自定义域名访问部署于内网的 web 服务

    有时想要让其他人通过域名访问或者测试我们在本地搭建的 web 服务,但是由于本地机器没有公网 IP,无法将域名解析到本地的机器,通过 frp 就可以实现这一功能,以下示例为 http 服务,https 服务配置方法相同, vhost_http_port 替换为 vhost_https_port, type 设置为 https 即可。

    • 修改 frps.ini 文件,设置 http 访问端口为 8080:
    # frps.ini
    [common]
    bind_port = 7000
    vhost_http_port = 8080
    • 启动 frps;

    ./frps -c ./frps.ini

    • 修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名 www.yourdomain.com:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [web]
    type = http
    local_port = 80
    custom_domains = www.yourdomain.com
    • 启动 frpc:

    ./frpc -c ./frpc.ini

    1. 将 www.yourdomain.com 的域名 A 记录解析到 IP x.x.x.x,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。

    2. 通过浏览器访问 http://www.yourdomain.com:8080 即可访问到处于内网机器上的 web 服务。

     

    转发 DNS 查询请求

    DNS 查询请求通常使用 UDP 协议,frp 支持对内网 UDP 服务的穿透,配置方式和 TCP 基本一致。

    • 修改 frps.ini 文件:
    # frps.ini
    [common]
    bind_port = 7000
    • 启动 frps:

    ./frps -c ./frps.ini

    • 修改 frpc.ini 文件,设置 frps 所在服务器的 IP 为 x.x.x.x,转发到 Google 的 DNS 查询服务器 8.8.8.8 的 udp 53 端口:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [dns]
    type = udp
    local_ip = 8.8.8.8
    local_port = 53
    remote_port = 6000
    • 启动 frpc:

    ./frpc -c ./frpc.ini

    • 通过 dig 测试 UDP 包转发是否成功,预期会返回 www.google.com 域名的解析结果:

    dig @x.x.x.x -p 6000 www.google.com

     

    转发 Unix域套接字

    通过 tcp 端口访问内网的 unix域套接字(例如和 docker daemon 通信)。

    frps 的部署步骤同上。

    • 启动 frpc,启用 unix_domain_socket 插件,配置如下:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [unix_domain_socket]
    type = tcp
    remote_port = 6000
    plugin = unix_domain_socket
    plugin_unix_path = /var/run/docker.sock
    • 通过 curl 命令查看 docker 版本信息

    curl http://x.x.x.x:6000/version

     

    对外提供简单的文件访问服务

    通过 static_file 插件可以对外提供一个简单的基于 HTTP 的文件访问服务。

    frps 的部署步骤同上。

    • 启动 frpc,启用 static_file 插件,配置如下:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [test_static_file]
    type = tcp
    remote_port = 6000
    plugin = static_file
    # 要对外暴露的文件目录
    plugin_local_path = /tmp/file
    # 访问 url 中会被去除的前缀,保留的内容即为要访问的文件路径
    plugin_strip_prefix = static
    plugin_http_user = abc
    plugin_http_passwd = abc
    • 通过浏览器访问 http://x.x.x.x:6000/static/ 来查看位于 /tmp/file 目录下的文件,会要求输入已设置好的用户名和密码。

     

    安全地暴露内网服务

    对于某些服务来说如果直接暴露于公网上将会存在安全隐患。

    使用 stcp(secret tcp) 类型的代理可以避免让任何人都能访问到要穿透的服务,但是访问者也需要运行另外一个 frpc。

    以下示例将会创建一个只有自己能访问到的 ssh 服务代理。

    frps 的部署步骤同上。

    • 启动 frpc,转发内网的 ssh 服务,配置如下,不需要指定远程端口:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [secret_ssh]
    type = stcp
    # 只有 sk 一致的用户才能访问到此服务
    sk = abcdefg
    local_ip = 127.0.0.1
    local_port = 22
    • 在要访问这个服务的机器上启动另外一个 frpc,配置如下:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [secret_ssh_visitor]
    type = stcp
    # stcp 的访问者
    role = visitor
    # 要访问的 stcp 代理的名字
    server_name = secret_ssh
    sk = abcdefg
    # 绑定本地端口用于访问 ssh 服务
    bind_addr = 127.0.0.1
    bind_port = 6000
    • 通过 ssh 访问内网机器,假设用户名为 test:

    ssh -oPort=6000 test@127.0.0.1

     

    点对点内网穿透

    frp 提供了一种新的代理类型 xtcp 用于应对在希望传输大量数据且流量不经过服务器的场景。

    使用方式同 stcp 类似,需要在两边都部署上 frpc 用于建立直接的连接。

    目前处于开发的初级阶段,并不能穿透所有类型的 NAT 设备,所以穿透成功率较低。穿透失败时可以尝试 stcp 的方式。

    • frps 除正常配置外需要额外配置一个 udp 端口用于支持该类型的客户端:
    bind_udp_port = 7001
    • 启动 frpc,转发内网的 ssh 服务,配置如下,不需要指定远程端口:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [p2p_ssh]
    type = xtcp
    # 只有 sk 一致的用户才能访问到此服务
    sk = abcdefg
    local_ip = 127.0.0.1
    local_port = 22
    • 在要访问这个服务的机器上启动另外一个 frpc,配置如下:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [p2p_ssh_visitor]
    type = xtcp
    # xtcp 的访问者
    role = visitor
    # 要访问的 xtcp 代理的名字
    server_name = p2p_ssh
    sk = abcdefg
    # 绑定本地端口用于访问 ssh 服务
    bind_addr = 127.0.0.1
    bind_port = 6000
    • 通过 ssh 访问内网机器,假设用户名为 test:

    ssh -oPort=6000 test@127.0.0.1

     

    功能说明

     

    配置文件

    由于 frp 目前支持的功能和配置项较多,未在文档中列出的功能可以从完整的示例配置文件中发现。

    frps 完整配置文件

    frpc 完整配置文件

     

    Dashboard

    通过浏览器查看 frp 的状态以及代理统计信息展示。

    需要在 frps.ini 中指定 dashboard 服务使用的端口,即可开启此功能:

    [common]
    dashboard_port = 7500
    # dashboard 用户名密码,默认都为 admin
    dashboard_user = admin
    dashboard_pwd = admin

    打开浏览器通过 http://[server_addr]:7500 访问 dashboard 界面,用户名密码默认为 admin

    dashboard.png

     

    身份验证

    从 v0.10.0 版本开始,所有 proxy 配置全部放在客户端(也就是之前版本的特权模式),服务端和客户端的 common 配置中的 token 参数一致则身份验证通过。

    需要注意的是 frpc 所在机器和 frps 所在机器的时间相差不能超过 15 分钟,因为时间戳会被用于加密验证中,防止报文被劫持后被其他人利用。

    这个超时时间可以在配置文件中通过 authentication_timeout 这个参数来修改,单位为秒,默认值为 900,即 15 分钟。如果修改为 0,则 frps 将不对身份验证报文的时间戳进行超时校验。

     

    加密与压缩

    这两个功能默认是不开启的,需要在 frpc.ini 中通过配置来为指定的代理启用加密与压缩的功能,压缩算法使用 snappy:

    # frpc.ini
    [ssh]
    type = tcp
    local_port = 22
    remote_port = 6000
    use_encryption = true
    use_compression = true

    如果公司内网防火墙对外网访问进行了流量识别与屏蔽,例如禁止了 ssh 协议等,通过设置 use_encryption = true,将 frpc 与 frps 之间的通信内容加密传输,将会有效防止流量被拦截。

    如果传输的报文长度较长,通过设置 use_compression = true 对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 cpu 资源。

     

    客户端热加载配置文件

    当修改了 frpc 中的代理配置,可以通过 frpc reload 命令来动态加载配置文件,通常会在 10 秒内完成代理的更新。

    启用此功能需要在 frpc 中启用 admin 端口,用于提供 API 服务。配置如下:

    # frpc.ini
    [common]
    admin_addr = 127.0.0.1
    admin_port = 7400

    之后执行重启命令:

    frpc reload -c ./frpc.ini

    等待一段时间后客户端会根据新的配置文件创建、更新、删除代理。

    需要注意的是,[common] 中的参数除了 start 外目前无法被修改。

     

    客户端查看代理状态

    frpc 支持通过 frpc status -c ./frpc.ini 命令查看代理的状态信息,此功能需要在 frpc 中配置 admin 端口。

     

    端口白名单

    为了防止端口被滥用,可以手动指定允许哪些端口被使用,在 frps.ini 中通过 allow_ports 来指定:

    # frps.ini
    [common]
    allow_ports = 2000-3000,3001,3003,4000-50000

    allow_ports 可以配置允许使用的某个指定端口或者是一个范围内的所有端口,以 , 分隔,指定的范围以 - 分隔。

     

    端口复用

    目前 frps 中的 vhost_http_port 和 vhost_https_port 支持配置成和 bind_port 为同一个端口,frps 会对连接的协议进行分析,之后进行不同的处理。

    例如在某些限制较严格的网络环境中,可以将 bind_port 和 vhost_https_port 都设置为 443。

    后续会尝试允许多个 proxy 绑定同一个远端端口的不同协议。

     

    TCP 多路复用

    从 v0.10.0 版本开始,客户端和服务器端之间的连接支持多路复用,不再需要为每一个用户请求创建一个连接,使连接建立的延迟降低,并且避免了大量文件描述符的占用,使 frp 可以承载更高的并发数。

    该功能默认启用,如需关闭,可以在 frps.ini 和 frpc.ini 中配置,该配置项在服务端和客户端必须一致:

    # frps.ini 和 frpc.ini 中
    [common]
    tcp_mux = false

     

    底层通信可选 kcp 协议

    从 v0.12.0 版本开始,底层通信协议支持选择 kcp 协议,在弱网环境下传输效率提升明显,但是会有一些额外的流量消耗。

    开启 kcp 协议支持:

    • 在 frps.ini 中启用 kcp 协议支持,指定一个 udp 端口用于接收客户端请求:
    # frps.ini
    [common]
    bind_port = 7000
    # kcp 绑定的是 udp 端口,可以和 bind_port 一样
    kcp_bind_port = 7000
    • 在 frpc.ini 指定需要使用的协议类型,目前只支持 tcp 和 kcp。其他代理配置不需要变更:
    # frpc.ini
    [common]
    server_addr = x.x.x.x
    # server_port 指定为 frps 的 kcp_bind_port
    server_port = 7000
    protocol = kcp
    • 像之前一样使用 frp,需要注意开放相关机器上的 udp 的端口的访问权限。

     

    连接池

    默认情况下,当用户请求建立连接后,frps 才会请求 frpc 主动与后端服务建立一个连接。当为指定的代理启用连接池后,frp 会预先和后端服务建立起指定数量的连接,每次接收到用户请求后,会从连接池中取出一个连接和用户连接关联起来,避免了等待与后端服务建立连接以及 frpc 和 frps 之间传递控制信息的时间。

    这一功能比较适合有大量短连接请求时开启。

    • 首先可以在 frps.ini 中设置每个代理可以创建的连接池上限,避免大量资源占用,客户端设置超过此配置后会被调整到当前值:
    # frps.ini
    [common]
    max_pool_count = 5
    • 在 frpc.ini 中为客户端启用连接池,指定预创建连接的数量:
    # frpc.ini
    [common]
    pool_count = 1

     

    负载均衡

    可以将多个相同类型的 proxy 加入到同一个 group 中,从而实现负载均衡的功能。 目前只支持 tcp 类型的 proxy。

    # fprc.ini
    [test1]
    type = tcp
    local_port = 8080
    remote_port = 80
    group = web
    group_key = 123
    
    [test2]
    type = tcp
    local_port = 8081
    remote_port = 80
    group = web
    group_key = 123

    用户连接 frps 服务器的 80 端口,frps 会将接收到的用户连接随机分发给其中一个存活的 proxy。这样可以在一台 frpc 机器挂掉后仍然有其他节点能够提供服务。

    要求 group_key 相同,做权限验证,且 remote_port 相同。

     

    修改 Host Header

    通常情况下 frp 不会修改转发的任何数据。但有一些后端服务会根据 http 请求 header 中的 host 字段来展现不同的网站,例如 nginx 的虚拟主机服务,启用 host-header 的修改功能可以动态修改 http 请求中的 host 字段。该功能仅限于 http 类型的代理。

    # frpc.ini
    [web]
    type = http
    local_port = 80
    custom_domains = test.yourdomain.com
    host_header_rewrite = dev.yourdomain.com

    原来 http 请求中的 host 字段 test.yourdomain.com 转发到后端服务时会被替换为 dev.yourdomain.com

     

    设置 HTTP 请求的 header

    对于 type = http 的代理,可以设置在转发中动态添加的 header 参数。

    # frpc.ini
    [web]
    type = http
    local_port = 80
    custom_domains = test.yourdomain.com
    host_header_rewrite = dev.yourdomain.com
    header_X-From-Where = frp

    对于参数配置中所有以 header_ 开头的参数(支持同时配置多个),都会被添加到 http 请求的 header 中,根据如上的配置,会在请求的 header 中加上 X-From-Where: frp

     

    获取用户真实 IP

    目前只有 http 类型的代理支持这一功能,可以通过用户请求的 header 中的 X-Forwarded-For 和 X-Real-IP 来获取用户真实 IP。

    需要注意的是,目前只在每一个用户连接的第一个 HTTP 请求中添加了这两个 header。

     

    通过密码保护你的 web 服务

    由于所有客户端共用一个 frps 的 http 服务端口,任何知道你的域名和 url 的人都能访问到你部署在内网的 web 服务,但是在某些场景下需要确保只有限定的用户才能访问。

    frp 支持通过 HTTP Basic Auth 来保护你的 web 服务,使用户需要通过用户名和密码才能访问到你的服务。

    该功能目前仅限于 http 类型的代理,需要在 frpc 的代理配置中添加用户名和密码的设置。

    # frpc.ini
    [web]
    type = http
    local_port = 80
    custom_domains = test.yourdomain.com
    http_user = abc
    http_pwd = abc

    通过浏览器访问 http://test.yourdomain.com,需要输入配置的用户名和密码才能访问。

     

    自定义二级域名

    在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。

    通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。

    只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务。

    # frps.ini
    [common]
    subdomain_host = frps.com

    将泛域名 *.frps.com 解析到 frps 所在服务器的 IP 地址。

    # frpc.ini
    [web]
    type = http
    local_port = 80
    subdomain = test

    frps 和 fprc 都启动成功后,通过 test.frps.com 就可以访问到内网的 web 服务。

    需要注意的是如果 frps 配置了 subdomain_host,则 custom_domains 中不能是属于 subdomain_host 的子域名或者泛域名。

    同一个 http 或 https 类型的代理中 custom_domains 和 subdomain 可以同时配置。

     

    URL 路由

    frp 支持根据请求的 URL 路径路由转发到不同的后端服务。

    通过配置文件中的 locations 字段指定一个或多个 proxy 能够匹配的 URL 前缀(目前仅支持最大前缀匹配,之后会考虑正则匹配)。例如指定 locations = /news,则所有 URL 以 /news 开头的请求都会被转发到这个服务。

    # frpc.ini
    [web01]
    type = http
    local_port = 80
    custom_domains = web.yourdomain.com
    locations = /
    
    [web02]
    type = http
    local_port = 81
    custom_domains = web.yourdomain.com
    locations = /news,/about

    按照上述的示例配置后,web.yourdomain.com 这个域名下所有以 /news 以及 /about 作为前缀的 URL 请求都会被转发到 web02,其余的请求会被转发到 web01。

     

    通过代理连接 frps

    在只能通过代理访问外网的环境内,frpc 支持通过 HTTP PROXY 和 frps 进行通信。

    可以通过设置 HTTP_PROXY 系统环境变量或者通过在 frpc 的配置文件中设置 http_proxy 参数来使用此功能。

    仅在 protocol = tcp 时生效。

    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    http_proxy = http://user:pwd@192.168.1.128:8080

     

    范围端口映射

    在 frpc 的配置文件中可以指定映射多个端口,目前只支持 tcp 和 udp 的类型。

    这一功能通过 range: 段落标记来实现,客户端会解析这个标记中的配置,将其拆分成多个 proxy,每一个 proxy 以数字为后缀命名。

    例如要映射本地 6000-6005, 6007 这6个端口,主要配置如下:

    # frpc.ini
    [range:test_tcp]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 6000-6006,6007
    remote_port = 6000-6006,6007

    实际连接成功后会创建 8 个 proxy,命名为 test_tcp_0, test_tcp_1 ... test_tcp_7

     

    插件

    默认情况下,frpc 只会转发请求到本地 tcp 或 udp 端口。

    插件模式是为了在客户端提供更加丰富的功能,目前内置的插件有 unix_domain_sockethttp_proxysocks5static_file。具体使用方式请查看使用示例

    通过 plugin 指定需要使用的插件,插件的配置参数都以 plugin_ 开头。使用插件后 local_ip 和 local_port 不再需要配置。

    使用 http_proxy 插件的示例:

    # frpc.ini
    [http_proxy]
    type = tcp
    remote_port = 6000
    plugin = http_proxy
    plugin_http_user = abc
    plugin_http_passwd = abc

    plugin_http_user 和 plugin_http_passwd 即为 http_proxy 插件可选的配置参数

     

    配置开机启动frp

    (1)本地必须先手动输入帐号密码成功登录一次;

    (2)执行“chmod +x /etc/rc.d/rc.local”命令确保有权限;

    (3)把启动程序的命令添加到/etc/rc.d/rc.local文件中,此文件内容如下,

    #!/bin/sh
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff. 
    touch /var/lock/subsys/local

    cd  /root/frpc   --本地实际安装目录

    mono  ./frpc -c ./frpc.ini  &    --自动读取上次成功登录帐号并以后台服务启动

     

    转载于:https://my.oschina.net/u/3093577/blog/2046132

    展开全文
  • 比较详细的端口映射原理及方法,初级网管的网络基础教程
  • 理解Kerio的端口映射,适合初次接触kwf的朋友使用
  • putty精彩教程 端口 映射 tunnels 教程 连接 远程
  • Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. ...Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。
  • Holer实现端口映射详细教程

    千次阅读 2019-11-25 16:42:53
    1. Holer简介 Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels....Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TC...
  • 主要介绍了迅捷路由器 端口映射设置的相关资料,这里对迅捷路由器进行了详细介绍,需要的朋友可以参考下
  • 路由器怎么映射?路由器一开始分配的是动态公网IP地址,或甚至是内网IP地址时该怎么映射?今天我们就来看看路由器端口映射在动态公网和内网IP的教程,需要的朋友可以参考下
  • 端口映射 花生壳

    2013-10-25 16:01:03
    花生壳端口映射教程-把自己的电脑做服务器从而让别人访问|猫理会 http://maolihui.com/peanut-shell-port-mapping.html 转载于:https://blog.51cto.com/fansamd/1315042...
  • 电脑搭建Minecraft服务器教程,不需要端口映射

    万次阅读 热门讨论 2018-03-03 22:20:23
    不需要端口映射,使用自己的PC就可以搭建Minecraft服务器,即使在地球的另一端也可以访问您的服务器!并且服务器运行速度非!常!快! 一般的网络服务商为了节省IP资源,会对家庭网络环境进行一些限制,导致外界...
  • 考虑这样一个场景,我们部署了若干web应用在一台云服务器上,这些web应用监听在不同的端口号上。为了方便用户访问,我们希望这些web应用最终暴露给外界访问的网址是诸如"域名/webapp1", “域名/webapp2”, “域名/...
  • 远程桌面端口映射如何设置

    千次阅读 2017-05-03 14:49:44
    原文地址::http://jingyan.baidu.com/article/495ba841df583d38b30edeab.html 相关文章 1、WIN7 端口映射----... 2、Win7下如何搭建VPN服务器+路由器端口映射教程----http://www.360
  • 端口映射

    2009-09-15 16:58:00
    端口映射详细实例图 端口映射(Port ...输入localhost可以看到,但是别人就是看不到,气人啊~没办法,只有进行端口映射了(路由器端口映射--本教程适合所有Tplink-TLR-402系列路由器下架设的网站服务器、邮件服务器
  • ftp架设系列软件教程端口映射,适合个人电脑,也适合服务器
  • ftp架设系列软件教程端口映射,适合个人电脑也可以用服务器
  • netsh windows7 自带端口映射(转发)使用教程 netsh interface portproxy add v4tov4 listenaddress=10.10.10.234 listenport=64822 connectaddress=172.168.128.68 connectport=22 1. 查看 netsh interface ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 449
精华内容 179
关键字:

端口映射教程