【避坑指南】一根网线让Windows共享WiFi给Linux上网:解决IP冲突与DNS问题
前言
最近遇到一个需求:我的台式机(Linux系统)没有无线网卡,且路由器端口不够用了。但是我的笔记本(Windows系统)连着WiFi。
能不能用一根网线,把Windows的WiFi网络共享给Linux,让Linux也能上网?
答案是肯定的!但这其中踩了不少坑(IP冲突、DNS配置、SSH连接失败等)。本文将记录完整的配置过程和避坑指南。
一、环境准备
- 主机A(Windows):已连接WiFi,能正常上网。
- 主机B(Linux/Ubuntu):通过网线连接到Windows的网口。
- 物理连接:一根网线,连接两台电脑的以太网口。
二、Windows端配置(开启网络共享)
这是最关键的一步,Windows将充当"路由器"的角色。
- 按下
Win + R,输入ncpa.cpl打开网络连接面板。 - 找到你的 WLAN(WiFi适配器) ,右键点击 -> 属性。
- 切换到 "共享" 选项卡。
- 勾选 "允许其他网络用户通过此计算机的Internet连接来连接"。
- 在"家庭网络连接"下拉菜单中,务必选择 你连接Linux网线的那个网卡(通常叫"以太网")。
- 点击确定。
注意 :
开启共享后,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: *********
