1. frp内网穿透配置

准备工作:

    1. 有公网ip的云服务器(推荐:https://www.xiangcaoyun.com,香港服务器无需备案)
    2. 本地服务器(需要被远程访问的电脑)
    3. 本地pc(用于远程访问的电脑)

1.1 云服务器frp配置

推荐项目:https://github.com/stilleshan/frps?tab=readme-ov-file
有两种方式实现云服务器frps部署:docker部署和源码部署 ,推荐docker部署。

首先,不管是哪种方式,都需要打开云服务器防火墙端口,假设这里主要用到两个端口:7000和7500 (可以自行配置为其它端口),以香草云服务器为例:

  • a. 购买服务器后,到控制台查看服务器ip、用户名、密码,然后ssh远程登录服务器:

    ssh -p 端口号 用户名@IP

IMG_3585

  • b. 打开防火墙端口:

    firewall-cmd --add-port=7000/tcp --permanent  # 其它需开发放端口重复此命令
    firewall-cmd --reload                         # 
    firewall-cmd --list-all                       # 查看已开放端口

image-1

  • c. 在服务器控制台打开安全组设置,开放7000和7500端口:

image-5

1.1.1 docker部署frps

首先确保服务器已安装docker,如果未安装,可采用以下方式安装docker,ssh连接到云服务器后:

curl -fsSL get.docker.com -o get-docker.sh  
curl -sSL https://get.daocloud.io/docker | sh  
sudo sh get-docker.sh
  • a. 在云服务器创建frps配置文件:

    mkdir /frp && vim /frp/frps.toml   # 如果提示没有vim,先`yum install -y vim`安装vim
  • b. 配置frps.toml文件内容如下,其它配置参数请参考官网文档

      bindAddr = "0.0.0.0"  
      bindPort = 7000  
      webServer.addr = "0.0.0.0"  
      webServer.port = 7500  
      webServer.user = "设置frp面板用户名"  
      webServer.password = "设置frp面板密码"  
      webServer.pprofEnable = false  
      log.to = "./frps.log"  
      log.level = "info"  
      log.maxDays = 3  
      auth.method = "token"  
      auth.token = "自定义token"  # 要求服务端和客户端必须配置一致,不然无法匹配,是二者碰面的暗号  
  • c. 创建容器,过程中会自动拉取使用的镜像,也可使用推荐项目中的Dockerfile自行创建镜像

      docker run -d --name=frps --restart=always --network host -v /frp/frps.toml:/frp/frps.toml stilleshan/frps
      docker ps -a # 查看容器状态,如果配置错误,容器会一直重启,可以`docker rm [frps]删除容器后重新创建
  • d. 一切准备就绪后,可浏览器打开frps监控面板验证服务是否成功配置:

    • 浏览器打开服务器IP:7500,出现登录界面,使用配置文件中设置的面板账户登录即可。

image

1.1.2 源码部署frps

与docker部署一致,先ssh远程连接到云服务

  • a. 下载frp源码并解压,此处使用版本是0.56.0:

      wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz  
      tar -zavf frp_0.56.0_linux_amd64.tar.gz
  • b. 编辑配置文件frps.toml,内容与docker配置中所示一致:

      cd frp_0.56.0_linux_amd64  
      vim frps.toml
  • c. 开启frps服务:

      ./frps -c frps.toml  # 检查是否有报错,没有报错ctrl+c关闭然后输入下列命令实现后台服务  
      nohub ./frps -c frps.toml &
  • d. 配置完成后同docker部署中一样打开监控面板验证。

1.2 本地frpc部署

Frp_XTCP

本地部署包括被控端和控制端两个部分,配置流程一致,仅配置文件frpc.toml有差别。以被控端配置xtcp为例。 使用Dockerfile自行构建镜像。

  • a. 首先准备两个文件:Dockerfile、frpc.toml,为了方式-v映射方式下主机文件修改后导致容器一致重启,直接修改镜像中的配置文件,不采用映射方式。弊端就是如果有变更需求,就需要重新做以下流程创建镜像。

      # Dockerfile内容配置如下,参考https://github.com/stilleshan/frpc/blob/master/Dockerfile:  
      FROM alpine:latest
      LABEL maintainer="xxxx"
      
      ENV VERSION 0.56.0
      ENV TZ=Asia/Shanghai
      WORKDIR /
      
      RUN apk add --no-cache tzdata \
          && ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime \
          && echo ${TZ} > /etc/timezone
      
      RUN if [ "$(uname -m)" = "x86_64" ]; then export PLATFORM=amd64 ; \
          elif [ "$(uname -m)" = "aarch64" ]; then export PLATFORM=arm64 ; \
          elif [ "$(uname -m)" = "armv7" ]; then export PLATFORM=arm ; \
          elif [ "$(uname -m)" = "armv7l" ]; then export PLATFORM=arm ; \
          elif [ "$(uname -m)" = "armhf" ]; then export PLATFORM=arm ; fi \
          && wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v${VERSION}/frp_${VERSION}_linux_${PLATFORM}.tar.gz \
          && tar xzf frp_${VERSION}_linux_${PLATFORM}.tar.gz \
          && cd frp_${VERSION}_linux_${PLATFORM} \
          && mkdir /frp \
          && mv frpc /frp \
          && cd .. \
          && rm -rf *.tar.gz frp_${VERSION}_linux_${PLATFORM}
      
      COPY ./frpc.toml /frp
      
      VOLUME /frp
      
      CMD /frp/frpc -c /frp/frpc.toml
      # frpc.toml  
      serverAddr = "你的云服务器IP"
      serverPort = 7000
      auth.method = "token"
      auth.token = "前面云服务器中配置的token"
      [[visitors]]
      name = "nomachine_visitor"
      type = "xtcp"
      serverName = "nomachine"  # 注意这里配置为被控端的`serverName`
      secretKey = "与被控端配置为一致"
      bindAddr = "127.0.0.1"
      bindPort = 4001  # 设置端口,使用时nomachine访问本地此端口即可
      
  • b. 文件准备好后即可创建镜像,开启服务[]自行配置:

      docker build -t [image-name] .  
      docker run -d --name=[container-name] --restart=always --network host [image-name]
  • c. 以上即完成了控制端的配置,被控端配置流程一样,只是将frpc.toml文件内容做如下修改:

      # frpc.toml  
      serverAddr = "你的云服务器IP"
      serverPort = 7000
      auth.method = "token"
      auth.token = "前面云服务器中配置的token"
      
      [[proxies]]  
      name = "nomachine"
      type = "xtcp"
      secretKey = "与控制端配置为一致"
      localIP = "127.0.0.1"
      localPort = 4000  # nomachine默认端口为4000

2. nomachine远程桌面

到官网https://www.nomachine.com/](https://www.nomachine.com/)下载对应系统安装包,分别在控制端和被控端安装nomachine。

  • a. 控制端打开nomachine,点击添加

image-2

  • b. 按图中配置相关内容:

image-3

  • c. 然后点击add即可添加连接,后回到主页连接远程桌面

image-4

最后修改:2024 年 04 月 13 日
如果觉得我的文章对你有用,请随意赞赏