在Mac上使用UTM虚拟机搭建OpenWrt软路由

10 天前
/ ,
26
摘要
本文介绍如何在macOS系统上使用UTM虚拟机软件搭建OpenWrt软路由,实现网络共享和管理。这种方案特别适合需要在Mac设备上创建独立网络环境的场景,例如校园网环境下的网络共享。

阅读此文章之前,你可能需要首先阅读以下的文章才能更好的理解上下文。

在Mac上使用UTM虚拟机搭建OpenWrt软路由

前言

本文介绍如何在macOS系统上使用UTM虚拟机软件搭建OpenWrt软路由,实现网络共享和管理。这种方案特别适合需要在Mac设备上创建独立网络环境的场景,例如校园网环境下的网络共享。

环境准备

1. 安装UTM虚拟机

UTM是一款基于QEMU的macOS虚拟机软件,支持ARM架构的Mac设备(M1/M2/M3等)。

2. 下载OpenWrt固件

本文推荐使用ImmortalWrt(OpenWrt的中国分支),它对国内网络环境和常用软件包支持更好。

  • 固件下载地址:ImmortalWrt ARM64版本
  • 选择文件:immortalwrt-24.10.0-armsr-armv8-generic-ext4-combined-efi.img.gz

下载后使用以下命令解压:

gunzip immortalwrt-24.10.0-armsr-armv8-generic-ext4-combined-efi.img.gz

创建虚拟机

1. 新建虚拟机

  1. 打开UTM,点击"添加虚拟机"
  2. 选择"虚拟化" → "其他"
  3. 启动设备选择"无"
  4. 内存和CPU根据需求配置(建议至少1GB内存,2核CPU)
  5. 存储先不配置,稍后手动添加

2. 配置虚拟机

右键点击创建的虚拟机,选择"编辑",进行以下配置:

2.1 添加串行设备

在"设备"中添加一个串行设备,用于控制台访问。

2.2 查看主机网络接口

在Mac系统中查看网络接口信息:

  • 打开"关于本机" → "更多信息" → "系统报告" → "网络"
  • 记录各网络接口的BSD设备名称(如en0、en1等)

2.3 添加网络接口

添加两个网络接口,分别用于WAN和LAN:

  1. WAN接口(连接上游网络)
    • 桥接模式:选择Mac的WiFi接口(通常是en1)
    • 模拟网卡:virtio-net-pci
    • 记录MAC地址(例如:AA:10:CE:BC:8C:BC)
  2. LAN接口(连接下游设备)
    • 桥接模式:选择Mac的以太网接口(通常是en0)
    • 模拟网卡:virtio-net-pci
    • 记录MAC地址(例如:CE:15:05:F8:E9:89)

2.4 添加存储驱动器

  1. 新建驱动器,类型选择VirtIO
  2. 导入之前解压的OpenWrt镜像文件

3. 启动虚拟机

配置完成后启动虚拟机,OpenWrt将自动启动。

配置OpenWrt网络

1. 识别网络接口

首次启动后,通过串行控制台登录OpenWrt(默认无密码),使用以下命令查看网络接口:

ip addr

根据MAC地址对应关系识别接口:

  • eth0: AA:10:CE:BC:8C:BC(对应WAN)
  • eth1: CE:15:05:F8:E9:89(对应LAN)

2. 配置网络接口

使用UCI命令配置网络:

# 配置WAN接口(eth0)- 从上游网络获取IP
uci set network.wan=interface
uci set network.wan.device='eth0'
uci set network.wan.proto='dhcp'

# 配置LAN接口(eth1)- 为下游设备提供服务
uci set network.lan=interface
uci set network.lan.device='eth1'
uci set network.lan.proto='static'
uci set network.lan.ipaddr='192.168.31.1'
uci set network.lan.netmask='255.255.255.0'

# 提交配置并重启网络
uci commit network
/etc/init.d/network restart

3. 验证配置

再次运行ip addr,确认接口配置正确:

  • eth0应该获取到上游网络分配的IP地址
  • eth1应该显示配置的静态IP地址(192.168.31.1)

配置Mac主机路由

为了让Mac能够访问OpenWrt的管理界面,需要配置路由:

# 1. 清理可能存在的旧路由
sudo route delete 192.168.31.0/24 2>/dev/null
sudo route delete -net 192.168.31.0/24 2>/dev/null  
sudo route delete 192.168.31.1 2>/dev/null

# 2. 配置en0接口IP地址
sudo ifconfig en0 down
sudo ifconfig en0 192.168.31.100 netmask 255.255.255.0 up

# 3. 添加路由
sudo route add -net 192.168.31.0/24 -interface en0

# 4. 验证连接
ping 192.168.31.1

成功后,可以通过浏览器访问 http://192.168.31.1 进入OpenWrt管理界面。

IPv6配置(校园网环境)

对于支持IPv6的校园网环境,需要进行额外配置以支持IPv6:

1. WAN6接口配置

在LuCI界面中,进入"网络" → "接口" → "WAN6":

常规设置:

  • 勾选"拓展前缀"(获取IPv6-PD)
  • 设备选择eth0

DHCP服务器 → IPv6设置:

  • RA服务:中继模式
  • DHCPv6服务:中继模式
  • NDP代理:中继模式

2. LAN接口IPv6配置

在"网络" → "接口" → "LAN":

高级设置:

  • IPv6前缀分配:::156(根据实际情况调整)
  • 勾选"强制链路"

DHCP服务器:

  • 高级设置:勾选"强制"
  • IPv6设置:
    • RA服务:服务器模式
    • DHCPv6服务:服务器模式
    • NDP代理:混合模式

总结

通过UTM虚拟机在Mac上搭建OpenWrt软路由,可以实现灵活的网络管理和共享。这种方案特别适合:

  • 需要在Mac上创建独立网络环境
  • 校园网多设备共享
  • 学习和测试网络配置

本文介绍的配置方法经过实际测试,能够稳定运行。根据具体网络环境,可能需要调整部分配置参数。

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...