frp内网穿透工具实现局域网服务访问

frp内网穿透工具实现局域网服务访问_第1张图片

frp工具实现内网穿透

frp主要作用是实现内网穿透,将内外网端口进行映射,这样如果我想访问局域网内的某项服务,那么我直接访问公网上相对应的映射端口即可。

frp安装配置较复杂,这里我们直接使用frp docker容器安装。所以如果主机上未安装docker的,请先安装docker。

  1. 安装Docker:在Ubuntu上安装Docker,可以通过以下命令进行操作:
sudo apt update
sudo apt install docker.io

验证是否安装成功,请使用

docker -v

  1. 获取frp Docker镜像:使用以下命令从Docker Hub上获取frp镜像:
sudo docker pull snowdreamtech/frps
  1. 创建frp配置文件:创建一个名为frps.ini的配置文件,并根据您的需求进行配置。
    假设我们的公网服务器的地址example.com,ubuntu 20.04系统,各个端口都可用。准备好frp服务端的配置文件/opt/frps.ini,注意文件权限。
    以下是一个示例配置文件的内容:
[common]
bind_addr = 0.0.0.0
bind_port = 7000
dashboard_addr = 0.0.0.0

# 管理端口
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 3
disable_log_color = false

# 客户端连接token
token = 12345678
allow_ports = 2000-3000,3001,3003,4000-50000
max_pool_count = 5
max_ports_per_client = 0
subdomain_host = frps.com
tcp_mux = true

您可以根据需要添加更多的配置选项和转发规则。

  1. 运行frp容器:使用以下命令在Docker中运行frp容器:
sudo docker run -d --name=frps     --restart=always     -v /opt/frps.ini:/etc/frp/frps.ini     -p 7000:7000 -p 7500:7500 -p 7001:7001   snowdreamtech/frps

/opt/frps.ini替换为您实际的配置文件路径。
注意:上7000是frp服务端口,7500为frp dashboard管理端口, 7001端口是用于映射本地web服务的80端口。

  1. 客户端docker安装配置
    同样,我们client端工具frpc同样采用docker安装,运行命令如下:
docker run --restart=always -d   --network host   -v /opt/frpc.ini:/etc/frp/frpc.ini   -p 80:80/tcp  -p 1194:1194/udp  --name frpc   snowdreamtech/frpc

上述命令会先检测本地是否已下载frpc工具,如果没有会先从docker官方下载对于的docker容器,另外如果容器正在运行,那么需要先清除当前docker,然后再运行。

docker stop /frpc
docker rm /frpc

frpc成功运行:

  1. 验证内网穿透:通过访问公网IP或域名的对应端口来验证内网穿透是否成功。根据上面的示例配置,您可以通过example.com访问内网的HTTP服务。

我们使用公网地址及本地Web服务80端口在远端映射的端口7001成功访问内网Web服务。
frp内网穿透工具实现局域网服务访问_第2张图片
注意:在映射端口过程中,注意公网服务器防火墙设置,开放相应的端口,否则无法访问Web服务。

你可能感兴趣的:(智能路由器开发,linux)