在断网情况下,网线直接连接 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. 防火墙 确保端口开放

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

相关推荐
滴答滴答嗒嗒滴2 分钟前
Ubuntu 终端音量调节 | 提高音量、查看设备、避免爆破声
linux·运维·ubuntu
Y第五个季节9 分钟前
Docker常见命令
docker
小码过河.16 分钟前
centos 新加磁盘分区动态扩容
linux·运维·centos
爱做梦Di猪1 小时前
openEuler 22.03 LTS Rootless Docker 安装指南
docker·eureka·openeuler
羊狗狗一只2022年1 小时前
x86上编译jetson nano的docker
运维·docker·容器
香蕉可乐荷包蛋1 小时前
私有服务器AI智能体搭建配置选择记录
运维·服务器·人工智能
ASDyushui2 小时前
Kubernetes 架构原理与集群环境部署
容器·架构·kubernetes
十步杀一人_千里不留行2 小时前
RustDesk 自建中继服务器教程(Mac mini)
运维·服务器·macos
岚天start3 小时前
Kubernetes (k8s)环境重启Pod方式总结
云原生·容器·kubernetes
_可乐无糖3 小时前
使用 sudo iftop -i 分析服务器带宽使用情况
运维·服务器·网络