原创

内网穿透技术实战(通过frp0.11实现)

第一章 引言

首先,什么是内网穿透?

内网穿透是指在外网访问运行局域网电脑搭建的服务。举个例子,你在公司搭建一个Tomcat服务,通过localhost:8080访问,回家后就无法通过局域网ip访问,这就需要将本地ip映射到一个公网ip(比如阿里云、腾讯云之类),就可以实现在家访问公司里搭建的服务

第二章 相关工作

1.公网ip哪里来?

一般部分运营商会给民用公网ip。但据博主所知,大部分地区电信会提供公网ip,目前移动只提供局域网ip。不过即使有了运营商的公网ip,相关外网端口也被运营商封闭,除非你跟他交涉开启相关外网端口。所以一般都是使用阿里云等提供的服务器对应的公网ip

2. 准备frp软件

下载地址:https://github.com/fatedier/frp/releases
本文以0.11版本为例,服务端是阿里云的Linux服务器,客户端是Windows。客户端相当于公司电脑,能够访问内网,而服务端则是做端口转发使用


FRP的好处:

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

第三章 方法

1. 服务端(以Linux服务器为例)

  • 解压上面的下载好的frp软件包:tar zxvf frp_0.11.0_linux_amd64.tar.gz
  • 然后进入解压到的文件夹: cd frp_0.11.0_linux_amd64
  • 修改服务端配置文件vi frps.ini
    [common]
    #绑定端口
    bind_port = 9000
    
    #http和https服务的端口号
    vhost_http_port = 8001
    vhost_https_port = 444
    
    #frp后台管理
    #frp后台管理的端口、用户、密码,自行设置
    dashboard_port = 8000
    dashboard_user = admin
    dashboard_pwd = passwd
    
    #token值,与客户端对应,自行设置
    privilege_token =123
    
  • 启动服务端(下列二选一)
    1.正常启动(注意:会话窗口一旦关闭,服务也会中断,推荐使用第二种方法)
    frps -c frps.ini
    2.后台打开
    nohup ./frps -c frps.ini &
  • 启动完成可以在web端看到frp后台界面
    浏览器输入 '服务器ip:8000' 访问

2. 客户端(以Windows为例)

  • 下载与服务器相同版本的frp,本文以0.11版本为例,文件目录如下。
  • 修改客户端配置文件frpc.ini
[common]
#服务器ip地址
server_addr = 填写ip地址或域名
#服务端绑定端口,与上面的设置一致
server_port = 9000
#服务端设置的密钥
privilege_token=123

#tomcat穿透实例
[tomcat]
#通讯协议
type = tcp
#本地ip(局域网ip)
local_ip = 127.0.0.1
#本地访问的端口
local_port = 8080
#转发到服务器的端口
remote_port = 8084

#ssh穿透实例
[ssh]
#通讯协议
type = tcp
#本地ip(局域网ip)
local_ip = 127.0.0.1
#本地ssh服务端口
local_port = 22
#转发到服务器的端口
remote_port = 6000
  • 启动客户端
    在文件夹空白处按住shift点鼠标右键,选择在此处打开powershell窗口
    然后键入命令 .\frpc.exe -c .\frpc.ini即可打开客户端

第四章 实际使用及注意事项

  • 设置完成后,如果客户端电脑访问tomcat是通过localhost:8080来实现,那么在不同网段的计算机上就可以通过 服务器地址:8084来打开客户端电脑上的tomcat服务器
  • 下图这部分代码实际上是将本地端口与服务器端做映射,仿照这种写法可以写多个代码块,具体情况具体分析
  • 如果服务端各种界面打不开,请自行查看云服务器安全组及其各自的防火墙,设置好相应的出站规则,小问题请自行百度解决
正文到此结束
本文目录