Skip to content

既有路由器下的有線/無線 AP:關閉 DHCP、新 LAN IP、使用 LAN 埠

AP 不是「另一台路由器」:

  • 接 LAN 埠,不要接 WAN;
  • 在 AP 上關閉 DHCP;由主路由器繼續發放租約;
  • 讓 AP 的 LAN IP 位於主路由器 DHCP 位址池之外;
  • 除非你刻意要第二台路由器,否則不要做 NAT/雙重路由。

本實驗只驗證有線 AP + 上游 DHCP;Wi-Fi 的 SSID/加密/漫遊沒有硬體可測,屬於 E1。

Main router 192.168.1.1 (DHCP)
│ LAN port
│
OpenWrt AP
LAN br-lan 192.168.1.2/24
DHCP: ignore
│ LAN port
│
Client 192.168.1.136/24
gateway 192.168.1.1
  • 用戶端向主路由器取得租約;閘道是 .1,不是 AP 的 .2;
  • AP 的 .2 僅供管理使用;
  • 若用戶端的閘道變成 .2,代表有第二台 DHCP 伺服器,或設定有誤。
路由器 Shell備份並確認不需要 WAN
Terminal window
uci show network.lan
uci show dhcp.lan
uci show network.wan 2>/dev/null
cp /etc/config/network /etc/config/network.bak.$(date +%F)
cp /etc/config/dhcp /etc/config/dhcp.bak.$(date +%F)

AP 模式通常不需要 WAN;若仍保留 WAN,請確保它不會搶走預設路由或執行 NAT。

預期你知道 LAN IP、DHCP 狀態,以及是否使用 WAN。

LuCI變更 LAN IP,停用 DHCP

網路 → 介面 → LAN → 編輯:

  1. IPv4 位址:192.168.1.2/24(位於主路由器位址池之外);
  2. DHCP 伺服器 → 一般設定 → 忽略介面;
  3. 儲存並套用。

CLI:

Terminal window
uci set network.lan.ipaddr='192.168.1.2/24'
uci set dhcp.lan.ignore='1'
uci commit network
uci commit dhcp
/etc/init.d/network reload
/etc/init.d/dnsmasq restart

然後改用 192.168.1.2 重新開啟 LuCI/SSH。

預期AP 為 192.168.1.2/24,且不再發放位址。

電腦連接到主路由器的 LAN 埠

將 OpenWrt 的 LAN 埠接到主路由器的 LAN 埠;不要使用 WAN。

在用戶端重新連線/更新租約:

Terminal window
ip addr show
ip route
cat /etc/resolv.conf
ping 192.168.1.1
ping 192.168.1.2

本實驗的用戶端取得 192.168.1.136/24,閘道 192.168.1.1;AP 的 .2 可連通。

預期用戶端向主路由器取得租約,並使用主路由器的閘道。

電腦確認 AP 沒有提供 DHCP
Terminal window
# Linux example
udhcpc -i eth0 -f -q -n -t 5

檢查 server 192.168.1.1;若顯示 192.168.1.2,代表 AP 的 DHCP 仍在運作。

這個僅有 AP 的實驗沒有對外網路,所以 ping 1.1.1.1 失敗是預期的;實際的網際網路連線取決於主路由器。

預期DHCP 伺服器是主路由器,不是 AP。

沒有無線硬體,因此以下項目未驗證:

  • SSID/密碼/WPA2/WPA3;
  • 2.4/5 GHz 頻道、頻寬、發射功率;
  • 漫遊/802.11r/弱訊號踢除;
  • 無線用戶端隔離;
  • 多台 AP 共用同一個 SSID。

原則:

  • 將無線介面橋接到 br-lan;
  • 停用 DHCP;
  • 使用 WPA2/WPA3,切勿使用開放網路;
  • 錯開頻道,各 AP 重複使用相同的 SSID/密碼;
  • 先驗證有線,再加入 Wi-Fi,避免同時變更兩個層級。
  • AP 的 DHCP 仍開啟,與主路由器衝突;
  • AP 的 LAN IP 與主路由器衝突;
  • AP 的 WAN 埠被接到主路由器的 LAN;
  • 主路由器與 AP 之間形成迴圈。

先中斷 AP 的連線,恢復主路由器,再一次只改一個項目。

  • AP 沒有接到主路由器的 LAN;
  • AP 的 DHCP 已關閉,但主路由器的 DHCP 也關閉或位址已用完;
  • VLAN/隔離的連接埠;
  • 無線介面沒有橋接到 br-lan。
  • 另一台 DHCP 伺服器發出 .2;
  • 用戶端保留了舊租約;
  • AP 仍在執行 DHCP 伺服器;
  • 檢查 cat /tmp/dhcp.leases(AP 上不應有新的租約)。
  • 無線介面不在 LAN 橋接中;
  • 防火牆把無線與 LAN 區域分開;
  • 上游主路由器封鎖;
  • 用戶端隔離/訪客網路。
008 實驗:有線 AP、關閉 DHCP、用戶端從上游取得租約下載 cast
真實 OpenWrt 25.12.6 VM:AP LAN 為 .2、DHCP 已停用;用戶端從上游 192.168.1.1 取得 192.168.1.136/24 的租約,閘道為 .1,且能 ping 通 AP/上游。此實驗沒有對外網路/Wi-Fi。
  • 環境:OpenWrt 25.12.6 x86 VM 200;AP LAN 192.168.1.2/24;dhcp.lan.ignore=1;上游 netns 192.168.1.1/24 + BusyBox udhcpd;用戶端 192.168.1.136/24。
  • 用戶端 DHCP:伺服器 192.168.1.1,租約 864000s;閘道 .1。
  • 用戶端 ping 通 AP .2 與上游 .1;這個僅有 AP 的實驗沒有對外網路,所以 1.1.1.1 失敗。
  • 未測試:真實主路由器的網際網路連線、Wi-Fi/SSID/加密/漫遊、Windows/手機用戶端、IPv6/RA。
  • Cast:public/casts/008-ap.cast;測試配方:tests/recipes/ap-mode-25.12.md。
  • 這是 E2 部分驗證:已測試有線 AP/L2/DHCP;未測試無線與真實的上游網際網路。
  • 沒有獨立審閱者;結論僅限於這個 VM/netns 環境。
  • AP 模式的重點是「只用 LAN + 關閉 DHCP + LAN IP 位於位址池之外」,而不是某個特定的介面。

來源

Router.Homes

獨立的 OpenWrt 實作筆記。每頁都寫明韌體、裝置、套件管理員與復原途徑。

圖示:Solar by 480 Design, CC BY 4.0