MacOS搭建基础Captive Portal:Mac Mini作为路由器管控Ubuntu流量
从零搭建Captive Portal:Mac Mini作为路由器管控Ubuntu流量(新手友好指南)
别慌!作为网络新手从零搭建这个环境其实没那么复杂,我给你一步步拆解,保证你能跟着做出来。
第一步:把Mac Mini配置成互联网网关
首先得让Mac把WiFi的网络共享给LAN口连接的Ubuntu笔记本,这一步用Mac自带的共享功能就能搞定:
- 打开Mac的「系统设置」→「网络」,先确认WiFi已经连上192.168.1.1的网络,并且能正常上网
- 点击左下角的「⋯」→「添加服务」,接口选「以太网」,随便起个名字(比如「LAN共享」),点「创建」
- 切换到「系统设置」→「通用」→「共享」
- 左侧勾选「互联网共享」,然后在「共享以下来源的连接」里选你的WiFi,「至电脑使用」里勾选刚才创建的以太网服务
- 点右上角「启动」,确认弹出的提示框就行
这时候Ubuntu插上网线连Mac,应该会自动拿到IP(一般是192.168.2.x网段,Mac默认的共享网段)。你可以在Ubuntu终端敲ip a看看,能ping通Mac的LAN口IP(比如192.168.2.1)和外网(比如8.8.8.8),就说明网关配置成了。
第二步:搭建轻量Captive Portal(用Nodogsplash,新手友好)
Nodogsplash是个开源的轻量工具,不用复杂配置就能快速搭起Captive Portal,适合新手:
先装Homebrew(如果没装的话)
Mac上打开「终端」,敲这条命令装Homebrew(Mac的包管理器,装软件很方便):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装Nodogsplash
装完Homebrew,敲这条命令装Nodogsplash:
brew install nodogsplash
配置Nodogsplash
- 先找你的LAN口接口名称:终端敲
ifconfig,找en开头的接口(比如en0),对应你刚才创建的「LAN共享」那个以太网接口 - 备份默认配置(以防改坏了能恢复):
sudo cp /usr/local/etc/nodogsplash/nodogsplash.conf /usr/local/etc/nodogsplash/nodogsplash.conf.bak
- 编辑配置文件:
sudo nano /usr/local/etc/nodogsplash/nodogsplash.conf
找到下面几个参数改一下:
GatewayInterface:改成你找到的LAN口接口名(比如en0)GatewayAddress:改成Mac的LAN口IP(比如192.168.2.1,ifconfig里能看到)AuthIdleTimeout:可以设成3600(1小时,认证后闲置1小时就需要重新认证)RedirectURL:改成你想让用户认证后跳转的网址(比如https://www.google.com)
改完按Ctrl+O回车保存,再按Ctrl+X退出编辑器。
启动Nodogsplash
终端敲这条命令启动服务:
sudo nodogsplash
测试一下
在Ubuntu上打开浏览器,随便输个网址(比如https://github.com),应该会自动跳转到Nodogsplash的认证页面,点一下「Continue」就能正常上网了。
停止服务(如果需要的话)
敲这条命令就能停掉Nodogsplash:
sudo nodogsplash -k
新手踩坑提醒
- 确保Mac防火墙没拦Nodogsplash:打开「系统设置」→「网络」→「防火墙」,允许Nodogsplash的入站连接
- 如果Ubuntu拿不到IP,手动设一下:IP填
192.168.2.2,子网掩码255.255.255.0,网关192.168.2.1,DNS填8.8.8.8就行 - 要是想搞复杂点的认证(比如用户名密码),可以改Nodogsplash的
htdocs目录里的网页,或者用它的插件,不过新手先从简单的点击认证开始就行
内容的提问来源于stack exchange,提问作者Arzoo




