在断网情况下,网线直接连接 Windows 笔记本和 Ubuntu 服务器进行数据传输

在断网情况下,通过网线直接连接 Windows 笔记本Ubuntu 服务器上的容器 进行数据传输,可以按照以下步骤操作:


1. 物理连接

  • 使用网线直连 :用一根 普通网线(直通线) 连接 Windows 笔记本和 Ubuntu 服务器的网口(现代网卡一般支持自动翻转,无需交叉线)。
  • 检查网口状态
    • Windows:右下角网络图标应显示 "未识别的网络"
    • Ubuntu:运行 ip aifconfig 查看网卡是否已连接(如 eth0ens33)。

2. 配置静态 IP(关键步骤)

由于没有 DHCP,需手动设置 同网段 的静态 IP。

Windows 端设置

  1. 打开"网络和共享中心""更改适配器设置" → 右键 以太网属性
  2. 选择 "Internet 协议版本 4 (TCP/IPv4)"属性
  3. 设置:
    • IP 地址192.168.1.2
    • 子网掩码255.255.255.0
    • 默认网关 :可留空(或填服务器 IP 192.168.1.1
  4. 点击 确定 保存。

Ubuntu 服务器端设置

bash 复制代码
sudo ip addr add 192.168.1.1/24 dev eth0  # 设置 IP
sudo ip link set eth0 up                   # 启用网卡

eth0 可能是 ens33 或其他名称,用 ip a 确认)

测试连通性

  • Windows 端

    cmd 复制代码
    ping 192.168.1.1
  • Ubuntu 端

    bash 复制代码
    ping 192.168.1.2

如果 能 ping 通,说明连接成功。


3. 访问 Ubuntu 服务器上的容器

容器的网络模式影响访问方式:

情况 1:容器使用 bridge 模式(默认)

  • Ubuntu 服务器 需将容器的端口映射到主机:

    bash 复制代码
    docker run -d -p 8080:80 nginx  # 示例:映射 80 → 8080
  • Windows 访问

    • 浏览器访问 http://192.168.1.1:8080

    • 或用 curl(需安装):

      cmd 复制代码
      curl http://192.168.1.1:8080

情况 2:容器使用 host 模式

  • 容器直接使用服务器网络:

    bash 复制代码
    docker run -d --network=host nginx  # 直接监听服务器 80 端口
  • Windows 访问

    cmd 复制代码
    curl http://192.168.1.1:80

4. 数据传输方法

方法 1:SCP(需 Ubuntu 开启 SSH)

  1. Ubuntu 启动 SSH 服务

    bash 复制代码
    sudo apt update && sudo apt install openssh-server
    sudo systemctl start ssh
  2. Windows 使用 WinSCP 或命令行 SCP

    cmd 复制代码
    scp C:\path\to\file.txt username@192.168.1.1:/home/username/

方法 2:HTTP 临时下载(Python 快速启动)

  1. Ubuntu 运行 HTTP 服务器

    bash 复制代码
    python3 -m http.server 8000  # 默认监听 8000 端口
  2. Windows 浏览器访问

    复制代码
    http://192.168.1.1:8000

    或使用 wget(需安装):

    cmd 复制代码
    wget http://192.168.1.1:8000/file.txt

方法 3:Netcat(无服务传输)

  1. Ubuntu 接收文件

    bash 复制代码
    nc -l -p 1234 > received_file
  2. Windows 发送文件

    cmd 复制代码
    nc 192.168.1.1 1234 < C:\path\to\file.txt

    (Windows 需安装 netcat 或使用 ncat

方法 4:共享文件夹(Samba)

  1. Ubuntu 安装 Samba

    bash 复制代码
    sudo apt install samba
    sudo smbpasswd -a username  # 设置 Samba 密码
  2. 创建共享目录

    bash 复制代码
    sudo nano /etc/samba/smb.conf

    添加:

    ini 复制代码
    [shared]
    path = /home/username/shared
    writable = yes
    valid users = username
  3. 重启 Samba

    bash 复制代码
    sudo systemctl restart smbd
  4. Windows 访问

    • 打开 文件资源管理器 → 地址栏输入:

      复制代码
      \\192.168.1.1\shared
    • 输入 Ubuntu 的 用户名和 Samba 密码 访问。


5. 注意事项

  • 防火墙
    • Ubuntu 检查 ufw

      bash 复制代码
      sudo ufw allow 22/tcp  # 允许 SSH
      sudo ufw allow 8000/tcp  # 允许 Python HTTP
    • Windows 防火墙:临时关闭或添加规则。

  • 网卡名称 :Ubuntu 可能是 ens33eth0,用 ip a 确认。
  • 容器 IP :如果容器使用自定义网络,需额外路由或 docker exec 进入容器操作。

总结

步骤 操作
1. 物理连接 网线直连 Windows 和 Ubuntu
2. 设置 IP Windows: 192.168.1.2,Ubuntu: 192.168.1.1
3. 访问容器 bridge 模式用 -p 映射端口,host 模式直接访问
4. 传文件 SCP / HTTP / Netcat / Samba
5. 防火墙 确保端口开放

这样即使 完全断网,也能通过网线高速传输数据! 🚀

相关推荐
简单点了1 小时前
Docker部署kafka实操+Java中访问
docker·容器·kafka
朱小弟cs61 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
CIb0la2 小时前
kali linux 2025.2安装WPS并设置无报错的详细步骤
linux·运维·wps
醉方休3 小时前
Node.js 精选:50 款文件处理与开发环境工具库
linux·运维·node.js
代码老y4 小时前
从裸机到云原生:Linux 操作系统实战进阶的“四维跃迁”
linux·运维·云原生
CMCST4 小时前
CentOS 7.9 升级 GLibc 2.34
linux·运维·centos
IT成长日记5 小时前
【自动化运维神器Ansible】playbook案例解析:Tags组件实现任务选择性执行
运维·自动化·ansible·playbook·tags
IT成长日记5 小时前
【自动化运维神器Ansible】playbook实践示例:HTTPD安装与卸载全流程解析
运维·自动化·ansible·playbook·httpd·案例解析
xiep14383335105 小时前
Rocky Linux 10 部署 Kafka 集群
linux·运维·kafka
喵叔哟5 小时前
42.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成认证(一)
运维·微服务·.net