远程桌面与Samba文件传输配置指南

本文介绍如何通过RDP远程桌面和Samba文件共享服务实现远程控制和文件传输,特别适用于需要通过公网访问内网设备的场景。

一、RDP远程桌面配置

1. 服务器端配置

  1. 配置frp服务:在需要远程的服务器端配置frp服务,将内网服务映射到公网IP(具体frp服务器配置略)

  2. 开启Windows远程桌面

    • 点击系统属性 → 远程
    • 勾选「允许远程连接到此计算机」
    • 此时Windows的RDP服务已开启,默认端口号为3389
  3. 配置frpc客户端:在frpc.ini中新增以下内容,将本地3389端口映射到公网IP

1
2
3
4
5
[win_rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 13389 # 可以为任意端口号,自行定义

2. 客户端连接

  • Linux客户端:使用krdc,勾选RDP协议,通过xxx.xxx.xxx.xxx:13389进行远程访问
  • Windows客户端:打开远程桌面连接,通过xxx.xxx.xxx.xxx:13389进行远程访问

二、Samba文件传输配置

1. 服务器端配置

Windows服务器

  1. 创建共享文件夹

    • 在需要共享的文件夹上右键 → 属性 → 共享
    • 点击「高级共享」,勾选「共享此文件夹」
    • 设置「共享名」(建议使用简短易记的名称)
    • 点击「权限」设置访问权限
  2. 设置访问权限

    • 在「权限」对话框中,可以添加或删除用户/组
    • 为每个用户/组设置适当的权限(完全控制、修改、读取等)
    • 如需允许匿名访问,添加「Everyone」组并设置相应权限
    • 点击「应用」和「确定」保存设置
  3. 配置网络发现和文件共享

    • 打开「控制面板」→「网络和共享中心」
    • 点击左侧的「更改高级共享设置」
    • 确保以下选项已启用:
      • 网络发现
      • 文件和打印机共享
      • 密码保护共享(根据需求开启或关闭)
    • 点击「保存更改」
  4. 配置Windows防火墙

    • 打开「控制面板」→「Windows Defender 防火墙」
    • 点击左侧的「允许应用或功能通过Windows Defender 防火墙」
    • 确保「文件和打印机共享」已勾选(私有网络和公用网络根据需求选择)
    • 点击「确定」保存设置
  5. 创建共享用户(可选)

    • 打开「计算机管理」(右键「此电脑」→「管理」)
    • 展开「系统工具」→「本地用户和组」→「用户」
    • 右键空白处 → 「新用户」
    • 填写用户名、密码等信息,根据需求设置密码永不过期
    • 创建用户后,将其添加到相应的用户组(如「Users」组)
  6. 将Samba服务的默认端口445映射到公网IP:在frpc.ini中新增:

1
2
3
4
5
[win_samba]
type = tcp
local_ip = 127.0.0.1
local_port = 445 # Samba默认端口
remote_port = 10445 # 可以为任意端口号,自行定义

Linux服务器 (Arch Linux)

  1. 安装Samba

    1
    paru -S samba
  2. 创建配置文件

    1
    sudo nvim /etc/samba/smb.conf
  3. 配置共享文件夹

    1
    2
    3
    4
    5
    [homes]  # 文件夹名称
    comment = Home Directories # 注释
    path = /home/smb_user/ # 共享的路径
    browseable = yes # 是否显示文件夹
    writable = yes # 是否可写
  4. 创建Samba日志文件夹

    1
    sudo mkdir -p /usr/local/samba/var/
  5. 添加Samba访问用户并设置密码

    1
    sudo smbpasswd -a smb_user  # smb_user为你自己设置的用户名
  6. 启动服务

    1
    sudo systemctl enable --now smb.service nmb.service
  7. 配置frpc客户端:将本地445端口映射到公网IP,在frpc.ini中新增:

    1
    2
    3
    4
    5
    [linux_samba]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 445
    remote_port = 10445 # 可以为任意端口号,自行定义

2. 客户端访问配置

Linux客户端

使用dolphin文件管理器,在地址栏输入以下内容(xxx.xxx.xxx.xxx为服务器公网IP):

1
smb://用户名@xxx.xxx.xxx.xxx:10445/

Windows客户端

  1. 配置端口转发:以管理员身份打开CMD,输入以下命令(xxx.xxx.xxx.xxx为服务器公网IP):

    1
    netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=10445 connectaddress=xxx.xxx.xxx.xxx

    此命令的效果是:本机访问127.0.0.1的445端口时,会转发到远程IP地址的10445端口

  2. 查看端口转发配置

    1
    netsh interface portproxy show all
  3. 禁用Server服务

    • 打开系统服务管理器
    • 找到「Server」服务
    • 右键属性 → 启动类型改为「禁用」
    • 重启电脑
    • 再次查看服务状态,确认服务未运行
  4. 访问远程共享:在Windows资源管理器地址栏中输入:

    1
    \\127.0.0.1\

3. Windows 10客户端额外配置

在Windows 11系统中,微软加强了网络安全策略,导致文件共享可能无法正常工作。以下是解决方案:

  1. 启用必要的Windows功能

    • 打开「启用或关闭Windows功能」
    • 勾选「NFS服务」和「SMB1.0/CIFS文件支持」
    • 重启电脑
  2. 修改组策略安全设置

    • 按Windows+R组合键,输入「gpedit.msc」打开组策略编辑器
    • 导航至「计算机配置」→「Windows设置」→「安全设置」→「本地策略」→「安全选项」
    • 找到「Microsoft网络客户端:对通讯进行数字签名(始终)」,设置为「已禁用」
    • 如需将本机作为共享服务器,还需将「Microsoft网络服务器:对通讯进行数字签名(始终)」设置为「已禁用」
  3. 启用不安全的来宾登录

    • 导航至「计算机配置」→「管理模板」→「网络」→「Lanman工作站」
    • 找到「启用不安全的来宾登录」,设置为「已启用」
    • 完成设置后建议重启电脑并重新设置共享文件夹

家庭版用户配置

由于Windows 11家庭版没有组策略编辑器,可通过以下方法添加此功能:
安装组策略编辑器

  • 在桌面新建文本文档,粘贴以下内容:
    1
    2
    3
    4
    5
    6
    @echo off
    pushd "%~dp0"
    dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
    dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
    for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
    pause
  • 将文件后缀名从.txt改为.bat
  • 右键选择「以管理员身份运行」
  • 运行完成后重启电脑(系统会显示正在更新)

参考资料

  1. CSDN - 远程桌面和Samba配置
  2. CSDN - 解决共享文件夹访问权限问题
  3. 已解决:Win10无法访问Samba共享文件夹