适用场景 :笔记本通过 Wi-Fi 上网,用网线连接机器狗,让机器狗临时访问互联网。
环境 :笔记本 Ubuntu 20.04 + 机器狗 Ubuntu 20.04
特点 :重启后配置全部失效,不影响设备原有网络设置。
第一部分:笔记本端配置(只需做一次,重启前一直有效)
这部分配置完成后,只要笔记本不重启,机器狗随时可以按第二部分的方法上网。
-
确认网卡名称
打开终端,执行
ip addr show,记录:-
无线网卡名(通常是
wlo1或wlp0s20f3) -
有线网卡名(连接机器狗的那个,例如
eno1)
-
-
为有线网卡设置静态 IP
bashsudo ip addr add 192.168.123.222/24 dev eno1 sudo ip link set eno1 up -
开启 IP 转发
bashsudo sysctl net.ipv4.ip_forward=1 -
配置 NAT 转发规则 (假设无线网卡为
wlo1,请替换为实际名称)bashsudo iptables -t nat -A POSTROUTING -o wlo1 -j MASQUERADE sudo iptables -A FORWARD -i wlo1 -o eno1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i eno1 -o wlo1 -j ACCEPT -
(可选)放行 DNS 端口,确保域名解析畅通
bashsudo iptables -I FORWARD -p udp --dport 53 -j ACCEPT
📌 注意:笔记本重启后,以上所有配置都会丢失,届时只需重新执行一遍本部分命令即可恢复共享环境。
第二部分:机器狗端配置(每次需要上网时执行)
将机器狗用网线连接到笔记本后,在机器狗终端按顺序执行以下命令:
bash
# 1. 修改默认网关为笔记本有线网卡 IP(若旧网关不是 192.168.123.1 可跳过删除步骤)
sudo ip route del default via 192.168.123.1 2>/dev/null
sudo ip route add default via 192.168.123.222
# 2. 临时写入 DNS 服务器地址
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
# 3. 验证上网功能
ping -c 4 baidu.com
看到类似 64 bytes from ... 的回复即表示成功。之后即可正常使用 apt update、wget、git clone 等网络命令。
💡 提示:机器狗重启后,网关和 DNS 都会恢复原状,如需再次上网,只需重新执行本部分三条命令。
🔁 快捷脚本(机器狗端一键上网)
如果觉得每次输入多条命令麻烦,可以在机器狗上创建一个临时脚本 ~/online.sh:
打开一个终端并输入 nano online.sh
把下面内容粘贴进去
bash
#!/bin/bash
sudo ip route del default via 192.168.123.1 2>/dev/null
sudo ip route add default via 192.168.123.222
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "✅ 机器狗已联网,测试中..."
ping -c 2 baidu.com
修改完毕后,按以下顺序保存退出:
-
按
Ctrl+O(字母 O),然后按回车确认保存。 -
按
Ctrl+X退出编辑器。
回到终端,执行:
bash
#赋予权限
chmod +x ~/online.sh
以后每次连接后,只需执行:
bash
./online.sh
❓ 常见问题排查
| 现象 | 检查项 | 解决命令(在笔记本执行) |
|---|---|---|
| 机器狗 ping 不通 192.168.123.222 | 笔记本防火墙阻挡,或网线未接好 | sudo ufw disable;检查网口指示灯 |
| 能 ping 通网关但无法 ping 通 8.8.8.8 | 笔记本 IP 转发未开启 | sudo sysctl net.ipv4.ip_forward=1 |
| 能 ping 通 8.8.8.8 但域名解析失败 | 笔记本 DNS 转发被拦截 | sudo iptables -I FORWARD -p udp --dport 53 -j ACCEPT |
| 修改网关后立即恢复原状 | NetworkManager 自动管理路由 | 临时用 ip route 命令即可,无需永久修改 |
📝 附:笔记本恢复网络共享环境(重启后一键执行)
将以下内容保存为笔记本上的脚本 ~/share_net.sh,重启后执行一次即可重建共享环境:
首先 打开终端并输入 nano share_net.sh
把下面内容粘贴进去
bash
#!/bin/bash
# 笔记本网络共享快速配置脚本
sudo ip addr add 192.168.123.222/24 dev eno1
sudo ip link set eno1 up
sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o wlo1 -j MASQUERADE
sudo iptables -A FORWARD -i wlo1 -o eno1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eno1 -o wlo1 -j ACCEPT
sudo iptables -I FORWARD -p udp --dport 53 -j ACCEPT
echo "✅ 笔记本网络共享环境已就绪,机器狗可连接上网。"
粘贴后,检查最前面两行变量 WIFI="wlo1" 和 ETHERNET="eno1" 是否和你实际的网卡名一致。如果不一致,用键盘方向键移动光标修改。
修改完毕后,按以下顺序保存退出:
-
按
Ctrl+O(字母 O),然后按回车确认保存。 -
按
Ctrl+X退出编辑器。
回到终端,执行:
bash
# 赋予脚本可执行权限
chmod +x ~/share_net.sh
# 运行脚本(需要输入密码,因为里面用了 sudo)
./share_net.sh
运行过程中会要求输入你的用户密码(输入时屏幕不显示是正常的)。执行完毕后看到 ✅ 笔记本网络共享环境已就绪 就说明成功了。
🔁 以后每次笔记本重启后
只需要在终端执行:
bash
./share_net.sh
即可一键恢复网络共享环境,然后机器狗那边再运行它的三条命令就能上网了。
成功上网

