linux/windows共享文件夹 windows共享文件夹linux访问1、在windows中设置共享文件选择对应的文件夹右键属性点击共享对文件进行共享共享之后显示如下2、在linux端使用mount命令进行挂载进入到自己想共享到的文件夹执行命令sudo mount -t cifs -o usernameadmin,password123456 //169.254.200.208/image ~/templinux下若有图形化界面则有以下内容上面通过查看temp文件夹内容也可以看出共享成功3、基于以上挂载成功但是如果重启设备则没有对应的挂载若想实现长期挂载可以进行配置文件取消挂载前面执行的mount命令发现没有共享的东西了执行命令配置文件sudo vim /etc/fstab执行命令应用配置文件:sudo mount -a查看配置成功实现linux在windows端该文件夹中的读写工作linux共享文件夹供windows使用Samba 可实现 Windows 和 Linux 系统间的文件共享1、安装 Samba 服务sudo apt-get install samba # Ubuntu/Debian sudo yum install samba # CentOS/RHEL2、创建共享目录sudo mkdir /data/samba sudo chmod 777 /data/samba3、编辑/etc/samba/smb.conf文件添加以下内容[shared] comment Shared Folder path /data/samba browseable yes read only no guest ok yes[shared]: 这是共享目录的名称在网络中访问该共享目录时会用到这个名称comment: 这是对共享目录的描述信息它的作用是让用户在浏览共享目录时能快速了解其用途。不过该描述信息不会对共享目录的功能产生影响。path:此参数指定了服务器上要共享的实际目录路径。当用户访问这个共享目录时实际上访问的就是服务器上的/data/samba目录。browseable:若设置为yes共享目录会在网络浏览时显示出来方便用户查找。若设置为no则需要用户手动输入共享名称才能访问。read only: 该参数决定了用户对共享目录的访问权限。设置为no时用户可以对共享目录进行读写操作若设置为yes用户就只能读取共享目录中的文件无法进行写入或修改。guest ok: 当设置为yes时用户无需提供用户名和密码就能访问共享目录这实现了匿名访问。若设置为no用户则必须通过身份验证才能访问共享目录4、重启 Samba 服务sudo systemctl restart smbd sudo systemctl enable smbd5、windows访问配置好上述之后windows执行如相爱操作获得对应文件夹在此电脑右键点击映射网络驱动器在文件夹部分输入共享的文件夹及ip注意对应的文件名为上述配置中中括号中的名字完成之后即可访问同时发现网络位置多了一个目录Linux/Windows 跨网段、双网卡电脑互通共享文件夹一、组网拓扑说明网段1192.168.11.0/24 电脑A192.168.11.11 单网卡客户端需要访问电脑C共享 电脑B双网卡路由中转 网口1(eth0)192.168.11.12 接入网段1 网口2(eth1)192.168.10.10 接入网段2 网段2192.168.10.0/24 电脑C192.168.10.11 共享服务器Windows/Linux Samba均可 目标电脑A ↔ 电脑C跨网段互通A读写C共享文件夹核心前提电脑 B 开启 IP 转发A、C 分别添加静态路由指向对方网段防火墙放行 SMB 139/445 端口新增跨网段路由、中转主机转发、防火墙三部分。二、第一部分电脑 B双网卡中转主机配置Linux 系统最常用1. 网卡静态 IP 配置确保两块网卡分属不同网段编辑网卡配置Ubuntu netplan 示例# /etc/netplan/00-installer-config.yaml network: ethernets: eth0: # 连接电脑A网段11段 addresses: [192.168.11.12/24] eth1: # 连接电脑C网段10段 addresses: [192.168.10.10/24] version: 2应用配置sudo netplan apply2. 开启 Linux 内核 IP 转发跨网段通信核心临时生效重启失效echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward永久生效sudo vim /etc/sysctl.conf # 修改/新增一行 net.ipv4.ip_forward1 # 加载生效 sudo sysctl -p3. 防火墙放行跨网段转发流量ufw 示例# 允许两个网段互相转发 sudo ufw allow from 192.168.11.0/24 to 192.168.10.0/24 sudo ufw allow from 192.168.10.0/24 to 192.168.11.0/24 # 放行SMB共享端口139/445 sudo ufw allow proto tcp from any to any port 139,445 sudo ufw reload三、第二部分电脑 A192.168.11.11客户端添加静态路由场景 1电脑 A 是 Windows 系统1. 以管理员身份打开 CMD2. 添加永久路由访问 10 段全部设备网关为电脑 B 网口 1 IProute -p add 192.168.10.0 mask 255.255.255.0 192.168.11.12-p永久路由重启不丢失目标网段192.168.10.0掩码255.255.255.0下一跳网关电脑 B192.168.11.123. 验证路由route print | findstr 192.168.10.04. 测试连通性ping 192.168.10.11场景 2电脑 A 是 Linux 系统1. 临时路由重启失效sudo ip route add 192.168.10.0/24 via 192.168.11.122. 永久路由netplan 持久化# netplan配置新增routes routes: - to: 192.168.10.0/24 via: 192.168.11.12sudo netplan apply # 验证 ip route ping 192.168.10.11四、第三部分电脑 C192.168.10.11共享服务端添加回程路由电脑 C 必须配置回程路由否则无法回复电脑 A 的数据包。场景 1电脑 C 是 Windows 系统管理员 CMD 执行永久路由route -p add 192.168.11.0 mask 255.255.255.0 192.168.10.10下一跳网关为电脑 B 网口 2 IP192.168.10.10场景 2电脑 C 是 LinuxSamba 服务端临时路由sudo ip route add 192.168.11.0/24 via 192.168.10.10永久路由写入 netplan同电脑 A 配置逻辑。五、第四部分共享配置适配跨网段两种共享模式模式 1电脑 C 为 Windows 共享文件夹电脑 A Linux 访问Windows C 按第一章节步骤完成文件夹共享开启文件和打印机共享防火墙规则Windows C 防火墙放行 SMB 端口入站规则启用「文件和打印机共享」电脑 ALinux挂载跨网段共享# 安装依赖未装时执行 sudo apt install cifs-utils # 临时挂载 sudo mount -t cifs -o usernameWindowsC账号,passwordWindowsC密码 //192.168.10.11/共享名 ~/temp_c # 永久开机挂载 /etc/fstab //192.168.10.11/共享名 /home/xxx/temp_c cifs defaults,usernamexxx,passwordxxx 0 0 sudo mount -a模式 2电脑 C 为 Linux Samba 共享Windows 电脑 A 访问1. 电脑 C 安装 Samba、配置smb.conf共享目录2.Samba 新增跨网段允许配置关键否则拒绝 11 段 IP 访问# /etc/samba/smb.conf 全局段添加 [global] workgroup WORKGROUP security user hosts allow 192.168.11.0/24 192.168.10.0/24 # 放行两个网段所有IP hosts deny all # 下方保留原有共享配置 [shared] comment Cross-Network Share path /data/samba browseable yes read only no guest ok yes3. 重启 Samba 服务sudo systemctl restart smbd sudo systemctl enable smbd4. 电脑 AWindows映射网络驱动器路径填写电脑 C IP\\192.168.10.11\shared六、Windows 中转方案补充电脑 B 是 Windows 双网卡若中转主机 B 为 Windows替代 Linux 转发步骤1. 开启 Windows IP 路由转发 注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters新增IPEnableRouterDWORD 值 1重启电脑生效2. 管理员 CMD 添加静态路由Windows 自带路由转发无需额外配置# 本机自动转发11段与10段流量无需额外路由A、C路由不变3. Windows 防火墙放行「文件和打印机共享」入站规则七、常见跨网段报错排查1. ping不通192.168.10.11检查电脑 B IP 转发是否开启、A/C 静态路由网关是否写错关闭所有电脑第三方杀毒 / 防火墙测试基础连通2. mount error(112): Host is down/ Windows 无法访问共享目标主机防火墙未放行 139/445 端口Sambahosts allow未添加远端网段拒绝跨网段 IP跨网段 NetBIOS 解析失效必须用 IP 地址访问不要用计算机名3. 能 ping 通但无法读写共享Windows 共享权限、安全权限双重放开Linux Samba 目录本地权限chmod 777 /data/sambafstab 挂载添加vers3.0兼容参数//192.168.10.11/share /mnt/c cifs usernamexx,passwordxx,vers3.0 0 0