You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

  1. 先找你的LAN口接口名称:终端敲ifconfig,找en开头的接口(比如en0),对应你刚才创建的「LAN共享」那个以太网接口
  2. 备份默认配置(以防改坏了能恢复):
sudo cp /usr/local/etc/nodogsplash/nodogsplash.conf /usr/local/etc/nodogsplash/nodogsplash.conf.bak
  1. 编辑配置文件:
sudo nano /usr/local/etc/nodogsplash/nodogsplash.conf

找到下面几个参数改一下:

  • GatewayInterface:改成你找到的LAN口接口名(比如en0
  • GatewayAddress:改成Mac的LAN口IP(比如192.168.2.1ifconfig里能看到)
  • 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

火山引擎 最新活动