一根网线——Windows共享网络给Linux访问互联网

【避坑指南】一根网线让Windows共享WiFi给Linux上网:解决IP冲突与DNS问题

前言

最近遇到一个需求:我的台式机(Linux系统)没有无线网卡,且路由器端口不够用了。但是我的笔记本(Windows系统)连着WiFi。

能不能用一根网线,把Windows的WiFi网络共享给Linux,让Linux也能上网?

答案是肯定的!但这其中踩了不少坑(IP冲突、DNS配置、SSH连接失败等)。本文将记录完整的配置过程和避坑指南。


一、环境准备

  • 主机A(Windows):已连接WiFi,能正常上网。
  • 主机B(Linux/Ubuntu):通过网线连接到Windows的网口。
  • 物理连接:一根网线,连接两台电脑的以太网口。

二、Windows端配置(开启网络共享)

这是最关键的一步,Windows将充当"路由器"的角色。

  1. 按下 Win + R,输入 ncpa.cpl 打开网络连接面板。
  2. 找到你的 WLAN(WiFi适配器) ,右键点击 -> 属性
  3. 切换到 "共享" 选项卡。
  4. 勾选 "允许其他网络用户通过此计算机的Internet连接来连接"
  5. 在"家庭网络连接"下拉菜单中,务必选择 你连接Linux网线的那个网卡(通常叫"以太网")。
  6. 点击确定。

注意

开启共享后,Windows会自动将"以太网"适配器的IP地址修改为 192.168.137.1。这是Windows作为网关的默认地址,请记住这个IP!


三、Linux端配置(配置静态IP与网关)

这是最容易踩坑的地方!

常见错误:IP地址冲突

很多教程会让你把Linux的IP也设成 192.168.137.1这是绝对错误的!

Windows已经是 192.168.137.1 了,如果Linux也设成这个,会导致IP冲突,网络直接瘫痪。

正确配置步骤

我们需要给Linux设置一个同网段但不同的IP(例如 192.168.137.2.3),并指向Windows为网关。

可以直接在linux网络设置中进行配置,

  • IP:Linux的IP不能是192.168.137.1(该地址作为windows的IP,即Linux的网关),范围:192.168.137.2-254,这里设为192.168.137.3
  • 子网掩码: 255.255.255.0
  • 网关: 192.168.137.1

配置DNS(关键!!!否则能ping通IP, 但无法上网)

Ubuntu20.04及以上 使用systemd-resolved,建议直接修改配置

复制代码
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 223.5.5.5" | sudo tee -a /etc/resolv.conf

Ubuntu18.04 则略有不同

  • 使用 systemd-resolved,不能直接改 /etc/resolv.conf:

    sudo nano /etc/systemd/resolved.conf

  • 使用vim或nano打开文件,取消注释并修改:

    [Resolve]
    DNS=8.8.8.8 223.5.5.5
    FallbackDNS=1.1.1.1

  • 修改保存后,重启服务

    sudo systemctl restart systemd-resolved

  • 验证

测试外网

ping -c 4 8.8.8.8

ping -c 4 www.baidu.com

Windows通过MobaXterm连接操作Linux(ssh)

  • windows、linux、外网三者能互ping之后,安装并启动linux的ssh服务
  • ip: 192.168.137.3
  • username: robuster(注意大小写)
  • password: *********
相关推荐
kebidaixu1 天前
BCU 平台 RS485 驱动适配:从 THVD1406 到 ISO3082
linux
果丁智能1 天前
智能锁赋能网约房民宿数字化管控:身份核验+远程授权,筑牢安全防线、降本增效
网络·数据库·人工智能·安全·智能家居
wp123_11 天前
射频前端无源器件观察:Coilcraft WBC1-1TLC vs TONEVEE WBT1-1CT 国产与进口巴伦变压器的技术博弈
网络
映翰通朱工1 天前
工业4G网关无公网IP远程运维实战(内网终端异地访问方案)
运维·服务器·网络·安全·智能路由器
天南散修1 天前
MT7916 BA流程
网络·驱动开发·wifi·802.11
z落落1 天前
C#WinForm 窗体切换与窗体传值(登录跳转案例)+WinForm 窗体传值(从上往下传、从下往上传)
开发语言·windows·c#
Yang96111 天前
多功能一体化,成都鼎讯 LDMN-JM1 满足石油煤矿设备检定与训练需求
网络·能源
Dontla1 天前
git bash打开Claude code报错:Claude Code on Windows requires git-bash.(别把git装其他位置,严格按照默认安装)找不到claude code
windows·git·bash
谢平康1 天前
解决用 rm 报bash: /usr/bin/rm: Argument list too long错
linux·运维·运维开发
IP老炮不瞎唠1 天前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络