当前位置: 首页 > news >正文

内网穿透实例:在 NAT 环境下通过 FRP 配置 ThinLinc 远程桌面 实现外网登录

文章目录

    • 背景
    • 配置步骤
      • 步骤 1:在腾讯云服务器上安装并配置 FRP 服务端(frps)
      • 步骤 2:在 ThinLinc 服务器上安装并配置 FRP 客户端(frpc)
      • 步骤 3:配置 ThinLinc Agent 主机名
      • 步骤 4:配置 ThinLinc 客户端(外部访问)
    • 总结

ThinLinc 是一个强大的 Linux 远程桌面解决方案,在外网可使用公司单位的 VPN 进行访问,另一种办法是配置内网穿透 NAT 环境,但在 NAT 环境下配置外部访问可能会有挑战。

本文将详细介绍如何通过经典内网穿透解决方案 FRP(Fast Reverse Proxy)在腾讯云服务器上实现 ThinLinc 的 NAT 穿透,基于实际案例(云服务器公网 IP:101.34.xx.209,内网 ThinLinc 服务器 IP:10.101.xx.21)。

背景

ThinLinc 服务器运行在内网(私有 IP:10.101.xx.21),依赖 SSH(端口 22)提供远程桌面服务。由于内网环境无法直接暴露公网 IP,我们使用腾讯云服务器(公网 IP:101.34.xx.209)运行 FRP 服务端(frps),通过 FRP 客户端(frpc)将内网服务映射到公网。

以下是实现外部访问和解决内网登录问题的完整步骤,基于以下环境:

  • 云服务器:腾讯云,公网 IP 101.34.xx.209,运行 frps,开放端口 6001(SSH)。
  • 内网 ThinLinc 服务器:Ubuntu,IP 10.101.xx.21,运行 frpc 和 ThinLinc(VSM Server、VSM Agent)。

配置步骤

步骤 1:在腾讯云服务器上安装并配置 FRP 服务端(frps)

  1. 安装 frps

    • 下载 FRP:
      wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
      tar -zxvf frp_0.58.1_linux_amd64.tar.gz
      cd frp_0.58.1_linux_amd64
      sudo mkdir /etc/frp
      sudo cp frps /usr/local/bin/
      sudo cp frps.ini /etc/frp/
      
    • 编辑 frps.ini
      sudo vim /etc/frp/frps.ini
      
      配置:
      [common]
      bind_port = 7000
      authentication_method = token
      token = 1xxxx...xxxxd #保密且重要
      
      • bind_port:FRP 服务端管理端口(默认 7000)。
      • token:设置一个安全令牌,防止未经授权的连接。
  2. 开放云服务器端口

    • 在腾讯云控制台的安全组中,添加规则允许以下端口:
      • TCP 7500(FRP 管理端口)
      • TCP 7000(FRP 服务端口)
      • TCP 6001(SSH 映射端口)
    • 如使用运维工具宝塔面板等,要确保 宝塔面板 和 腾讯云控制台 均开放了端口
      在这里插入图片描述
      在这里插入图片描述
  3. 运行 frps 并设置开机自启(也可使用容器)

    • 创建 systemd 服务:
      sudo vim /etc/systemd/system/frps.service
      
      添加:
      [Unit]
      Description=FRP Server Service
      After=network.target[Service]
      ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
      Restart=always
      User=nobody[Install]
      WantedBy=multi-user.target
      
    • 启动并启用服务:
      sudo systemctl start frps
      sudo systemctl enable frps
      
    • 验证:
      sudo systemctl status frps
      

步骤 2:在 ThinLinc 服务器上安装并配置 FRP 客户端(frpc)

  1. 安装 frpc

    • 在内网 ThinLinc 服务器(10.101.xx.21)上下载并安装 FRP:
      wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
      tar -zxvf frp_0.58.1_linux_amd64.tar.gz
      cd frp_0.58.1_linux_amd64
      sudo mkdir /etc/frp
      sudo cp frpc /usr/local/bin/
      sudo cp frpc.ini /etc/frp/
      
  2. 配置 frpc.ini

    • 编辑配置文件:
      sudo vim /etc/frp/frpc.ini
      
      添加:
      [common]
      server_addr = 101.34.xx.209
      server_port = 7000
      auth.method = "token"
      auth.token = "12345678"
      transport.tls.enable = true[[proxies]]
      name = "ssh"
      type = "tcp"
      localIP = 127.0.0.1
      localPort = 22
      remotePort = 6001
      
      • server_addrserver_port:指向云服务器的 FRP 服务端。
      • token:与 frps.ini 中的令牌一致。
      • ssh:将内网 SSH(端口 22)映射到云服务器的 6001 端口。
  3. 运行 frpc 并设置开机自启

    • 创建 systemd 服务:
      sudo vim /etc/systemd/system/frpc.service
      
      添加:
      [Unit]
      Description=FRP Client Service
      After=network.target[Service]
      ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
      Restart=always
      User=nobody[Install]
      WantedBy=multi-user.target
      
    • 启动并启用服务:
      sudo systemctl start frpc
      sudo systemctl enable frpc
      
    • 验证:
      sudo systemctl status frpc
      

步骤 3:配置 ThinLinc Agent 主机名

  1. 修改 agent_hostname
    • 在 ThinLinc 服务器上编辑配置文件:
      sudo vim /opt/thinlinc/etc/conf.d/vsmagent.hconf
      
      设置:
      [/vsmagent]
      agent_hostname = 101.34.xx.209
      
    • 保存并重启 VSM Agent:
      sudo systemctl restart vsmagent
      sudo systemctl status vsmagent   #检查服务状态
      

步骤 4:配置 ThinLinc 客户端(外部访问)

  1. 外部客户端配置

    • 下载并安装 ThinLinc 客户端(支持 Windows、macOS、Linux)。
    • 配置:
      • 服务器:101.34.xx.209
      • 端口:6001(FRP 映射的 SSH 端口,在Options中更改)
      • 用户名:myname(替换为你的用户名)
      • 密码:对应密码
        在这里插入图片描述
        在这里插入图片描述
  2. 测试连接

    • SSH 测试:
      ssh -p 6001 myname@101.34.xx.209
      
    • ThinLinc 客户端测试:
      • 启动客户端,如上图所示连接到 101.34.xx.209:6001,确认登录成功。

总结

通过 FRP 和 ThinLinc 的配置,成功实现了 NAT 环境下的远程桌面访问:

  • 外部访问:通过云服务器的公网 IP(101.34.xx.209:6001)访问 ThinLinc。
  • 安全优化建议:配置 TLS 证书、限制访问来源、禁用弱认证方式。
  • 参考
    frp配置详解
    ThinLinc 官方:如何在NAT后面使ThinLinc服务器

文章转载自:
http://bonus.gbfuy28.cn
http://almonry.gbfuy28.cn
http://blackmarket.gbfuy28.cn
http://amphiprostyle.gbfuy28.cn
http://archie.gbfuy28.cn
http://bravissimo.gbfuy28.cn
http://amoretto.gbfuy28.cn
http://archangelic.gbfuy28.cn
http://cassareep.gbfuy28.cn
http://campbellism.gbfuy28.cn
http://breslau.gbfuy28.cn
http://atlantic.gbfuy28.cn
http://alep.gbfuy28.cn
http://agrimotor.gbfuy28.cn
http://cacomistle.gbfuy28.cn
http://catachresis.gbfuy28.cn
http://antioch.gbfuy28.cn
http://backless.gbfuy28.cn
http://adjoin.gbfuy28.cn
http://cha.gbfuy28.cn
http://chili.gbfuy28.cn
http://chrysocarpous.gbfuy28.cn
http://chromide.gbfuy28.cn
http://angularity.gbfuy28.cn
http://acantha.gbfuy28.cn
http://casebearer.gbfuy28.cn
http://aeolotropy.gbfuy28.cn
http://bulhorn.gbfuy28.cn
http://ceng.gbfuy28.cn
http://chernozem.gbfuy28.cn
http://www.dtcms.com/a/281358.html

相关文章:

  • zynq串口的例子
  • 自己训练大模型?MiniMind 全流程解析 (一) 预训练
  • 如何科学做好企业软件许可优化?
  • Day03_C语言网络编程20250715
  • Datawhale AI 夏令营第一期(机器学习方向)Task2 笔记:用户新增预测挑战赛 —— 从业务理解到技术实现
  • 如何理解flex: 1 1 50%
  • 【Unity基础】Unity中元素的层级排序
  • WPF,Winform,HTML5网页,哪个UI开发速度最快?
  • 线程(一) linux
  • 前端医疗生命体征
  • MIPI DSI(四) video 和 command 模式
  • 比较vue和react框架
  • Windows 下 Visual Studio 开发 C++ 项目的部署流程
  • Spring Boot 启动原理揭秘:从 main 方法到自动装配
  • 判断QMetaObject::invokeMethod()里的函数是否调用成功
  • Process Lasso:提升电脑性能的得力助手
  • C++20 协程参考手册详解 - 源自 cppreference.com
  • Expression 类的静态方法
  • PostgreSQL 大数据量(超过50GB)导出方案
  • 国产化Excel处理组件Spire.XLS教程:在 C# 中生成 Excel文件
  • 关于LM74700-Q1低IQ理想二极管的应用与参数极限
  • saltstack安装部署
  • 对象数组列表转成树形结构--树形结构转成列表(处理菜单)
  • ORA-06413: 连接未打开
  • 设计网站集:经济信息数据 统计数据 + 农业 + 金属 + 药品 + 电子 + 加密货币 + 债券 + 期货 + 其他
  • 构建企业级项目管理全面数字化运营体系︱易趋(蓝云软件)总裁唐智勇
  • 东鹏饮料牵手盈飞无限质量管理系统(QMS)
  • 多方学习与安全多方计算
  • 电动汽车制动系统及其工作原理
  • 梁的振动特征函数分析