You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无交换机或路由器时,如何通过Linux共享iPhone网络给RJ45连接的Windows

实现Windows通过Linux共享iPhone网络的方法

1. 确认Linux网络接口

先找出iPhone共享网络对应的接口名,执行命令:

ip addr show

通常接口名为usb0或类似enp0s20u1的格式,记为$USB_IF;同时确认直连Windows的接口(比如eth0),记为$LAN_IF。

2. 开启Linux IP转发

  • 临时生效(重启后失效):
echo 1 > /proc/sys/net/ipv4/ip_forward
  • 永久生效:
    编辑/etc/sysctl.conf,将net.ipv4.ip_forward=0修改为net.ipv4.ip_forward=1,然后执行:
sysctl -p

3. 配置NAT规则

通过iptables设置地址转换,让局域网流量通过USB接口转发:

iptables -t nat -A POSTROUTING -o $USB_IF -j MASQUERADE
iptables -A FORWARD -i $LAN_IF -o $USB_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $USB_IF -o $LAN_IF -j ACCEPT

保存规则(依发行版不同):

  • Debian/Ubuntu系:iptables-save > /etc/iptables/rules.v4
  • RHEL/CentOS系:service iptables save

4. 调整网络配置

Linux端:

  • 直连Windows的接口保持静态IP:192.168.0.1/24,无需设置网关(USB接口自动获取IP时已生成默认路由)
  • 用ip route show确认USB接口存在默认路由(格式类似default via x.x.x.x dev $USB_IF)

Windows端:

  • 静态IP保持192.168.0.2/24
  • 网关设置为192.168.0.1
  • DNS服务器设置为Linux /etc/resolv.conf中显示的nameserver值(比如8.8.8.8)

5. 测试连通性

在Windows命令行执行:

ping 8.8.8.8
ping google.com

能正常ping通则配置生效。

排查要点

  • 若ping不通IP:检查IP转发是否开启、iptables规则是否正确
  • 若能ping通IP但无法解析域名:核对Windows的DNS设置
  • 先确认Linux自身可正常访问互联网(执行ping google.com测试)

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 10:30:16