问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

学会内网穿透,看这篇就够了!

创作时间:
作者:
@小白创作中心

学会内网穿透,看这篇就够了!

引用
CSDN
1.
https://m.blog.csdn.net/ewii12567/article/details/146398228

内网穿透是一种通过公网服务器中转,实现外网设备访问内网设备的技术。通过内网穿透,用户可以远程访问NAS、部署私人服务、搭建网盘、控制家中设备等。本文将详细介绍内网穿透的原理和具体实现步骤。

内网穿透原理

内网穿透的基本原理是使用一台具备公网IP的服务器作为中转站,让外部设备通过它访问内网设备。具体来说,内网设备(如NAS、电脑等)通过内网穿透软件与公网服务器建立连接,然后公网设备通过服务器转发数据包,实现与内网设备的通信。

实现步骤

内网穿透的实现主要分为两大部分:云服务器配置和本地环境配置。

第一部分:云服务器配置

  1. SSH登录服务器
  • Windows用户:使用CMD或PowerShell

  • 打开CMD:按下 Win+R 输入 cmd,然后回车

  • 打开PowerShell:按下 Win+X,选择Windows PowerShell

  • Mac用户:使用终端(Terminal)

  • 按下 Command+Space 打开 Spotlight,搜索“终端”并打开

    在终端输入以下命令后回车:

    ssh 用户名@服务器IP地址
    

    ssh和用户名之间有空格,用户名通常默认是root。可以通过浏览器搜索“我的IP”来找到提供查询IP地址的网站。

    首次连接会提示确认,输入 yes,回车。之后会来到密码输入页面,输入密码不会显示字符,输完直接回车即可。密码输入正确后,提示类似图示信息代表成功连接到服务器。

  1. 查看服务器信息

    成功登录后可输入 uname -a 查看服务器信息。服务器运行的是 Ubuntu 操作系统,留意自己的,接下来会用到。

  2. 安装1Panel管理面板

  • 打开1Panel官网,点击下载安装
    https://1panel.cn/index.html
    
  • 下划找到安装部署,根据服务器系统获取安装命令
  • 在终端中执行刚才拷贝好的安装命令
  • 国内服务器用户:安装时需要选择y设置Docker镜像,切换到国内加速源,可以解决访问国外镜像慢或失败的问题,加速安装流程
  • 设置访问端口、安全入口和密码,也可以直接回车使用默认参数
  • 如果忘记保存密码,可以使用 1pctl user-info 命令获取安全入口,使用 1pctl update password 修改密码
  1. 登录面板

    将外网地址拷贝到浏览器地址栏中打开,输入我们刚刚设置好的面板用户账号和密码,成功登录之后的页面如图所示。

  2. 容器配置

    点击“容器”后,点击“配置”,将 https://docker.1panel.live 添加进去,然后手动输入“立即重启”后确认。

  3. 安装配置FRP服务端

  • 配置防火墙

    防火墙默认是关闭的,我们需要手动打开系统防火墙。新建端口规则,协议选择 TCP/UDP,端口输入7000,然后点击确认。配置 FRP 时,如果没有特别修改,7000 端口就是默认值。

  • 创建配置文件

    回到命令行窗口,运行 mkdir -p dockers/frps,创建多级文件夹。然后 cd dockers/frps 进入 frps 文件夹。输入 vi docker-compose.yml 命令,创建 docker-compose.yml 文件。

    复制粘贴以下代码,编写 docker-compose.yml 文件:

    version: '3'
    services:
      frps:
        image: snowdreamtech/frps
        container_name: frps
        restart: always
        network_mode: host
        volumes:
    
  • ./frps.toml:/etc/frp/frps.toml
    environment:

  • FRP_CONFIG_FILE=/etc/frp/frps.toml

    
    按一下 `esc` 进入命令行模式,输入 `:wq`,回车。按 `esc` 切换到命令模式,输入 `:wq` 是告诉编辑器保存当前文件并退出。
    
    输入 `vi frps.toml` 创建 frps.toml 文件,复制粘贴以下代码:
    
    ```toml
    # frps.toml
    # 基本配置
    bindPort = 7000           # frps 监听的端口,用于接收 frpc 的连接
    
    # 认证配置
    [auth]
    method = "token"          # 认证方法,这里使用 token
    token = "token1234xyz"    # 用于验证 frpc 的 token,请使用安全的随机字符串
    
    # Web 管理界面配置(如果不需要 Web 管理界面,可以删除这部分)
    [webServer]
    addr = "0.0.0.0"          # Web 界面监听的地址,0.0.0.0 表示所有地址
    port = 7500               # Web 界面的端口
    user = "user"             # Web 界面的登录用户名
    password = "passwordxxx"  # Web 界面的登录密码
    
    # 日志配置
    [log]
    to = "console"            # 日志输出位置,console 表示输出到控制台
    level = "info"            # 日志级别:debug, info, warn, error
    

    这里需要修改三个地方,token、user 和 password,要修改成自己的,然后同样按下 esc 后输入 :wq,回车。

  • 启动FRP服务

    输入 docker compose up -d 后回车,启动 FRP 服务,此时前面开放的 7000 端口也会变成已使用。

第二部分:本地环境配置

使用 Docker 快速运行 FRP 客户端(frpc),将本地服务映射到云服务器,完成内网与外网的安全连接,正式实现内网穿透。

  1. 安装Docker环境

    按照自己系统的型号下载对应版本的 Docker:

    https://www.docker.com/
    

    如何区分电脑型号:

  • 第一次打开 Docker 会让我们登录,直接按“skip”跳过就好
  • 新建终端窗口,在命令行中输入 docker -v 出现版本号就代表 Docker 安装成功了
  1. 配置FRP客户端
  • 创建项目目录

    在电脑上创建文件夹并命名为 docker_project,然后创建子文件夹并命名为 frpc。并且将两个配置文件放进去:docker-compose.ymlfrpc.toml

  • 配置文件准备

    你需要修改的有 serverAddr(服务器的 IP 地址)、serverPort(服务器当时开放的端口)以及设置的 token(验证信息),这几个都需要和自己服务器的实际信息保持一致。

  1. 部署测试服务并验证
  • 创建测试网站

    在刚才创建的存放 Docker 项目的文件夹,创建一个 website-demo 用于存放网站的文件夹,在里面创建一个 docker-compose.yml 文件,代码文件直接复制进去即可,然后创建一个存放网站的目录 www 同样将 index.html 的网页粘贴进去。

    设置好后,可以直接通过浏览器打开 index.html

    返回到有 Docker compose 文件的目录,右键底部的地址栏拷贝为路径名称。如果 Mac 电脑不显示地址栏,则需保持访达为活跃窗口,点击“显示”,选择“显示路径栏”。Win 电脑的地址栏在窗口顶部。

  • 启动服务

    打开终端,输入指令 cd+空格+刚刚拷贝的路径,进入到该目录中,然后输入 docker compose up -d 进入程序,没有报错就代表成功运行。

  • 验证测试

    验证一下,在浏览器地址栏输入 http://localhost:8080/

    打开刚才创建的 frpc 文件夹,然后使用 VS Code 编辑器编辑 frpc.toml 文件:

    https://code.visualstudio.com/download
    

    这里需要修改的就是配置的注释、name、和本地的端口以及服务器的端口。name 从 mac-vnc 改成 mac-web。本地 IP 就是 8080,远程的 IP 随意,例如我们就 +10000,改为 18080。然后保存(⌘command+s)后退出。

    同样在终端中打开这个目录,运行 docker compose up -d 启动 frpc 客户端。

    因为我们是通过服务器的 18080 端口访问本地的 8080 端口的程序,所以还需要在服务器中开放 18080 端口,点击确认后退出即可。

    我们在浏览器中访问服务器的 IP+:18080 端口,回车,现在所有人都可以访问这个网站。我们还可以修改网页代码,让这个网址呈现不一样的画面。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号