Raspberry-Pi
DHCP 和備用 IP - 我可以在同一個網路介面上有兩個不同的設置嗎?
我有一個項目,使用者可以通過以下 Web 界面更改 RPI 的網路設置:
- DHCP WiFi
- DHCP 乙太網
- 靜態 WiFi
- 靜態乙太網
dhcpcd_conf
每個選擇都會相應地重新配置wpa_conf
。它工作得非常好。整個軟體包設計為在第一次啟動時位於 DHCP 乙太網中。但這種設計存在缺陷,因為並非每個使用者都有 DHCP 伺服器。
那是我想到製作一個備用靜態乙太網 IP的時候,這就是我想出的:
案例 1 - DHCP 乙太網
# dhcpcd_conf interface wlan0 noipv4 noipv6 interface eth0 hostname DeviceEth clientid profile static_eth0 static ip_address=192.168.1.150/24 static routers=192.168.1.1 static domain_name_servers=8.8.8.8 interface eth0 fallback static_eth0
# wpa_conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
如您所見,我設置
wlan0
為沒有 IP,然後設置eth0
為 DHCP,然後將其設置eth0
為fallback profile
.**這個對嗎 ?**我可以在同一個界面上進行兩種不同的設置嗎?
案例 2 - DHCP WiFi:
# dhcpcd_conf interface wlan0 hostname DeviceWiFi clientid interface eth0 noipv4 noipv6 profile static_eth0 static ip_address=192.168.1.150/24 static routers=192.168.1.1 static domain_name_servers=8.8.8.8 interface eth0 fallback static_eth0
# wpa_conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=RO network={ ssid="SSID" psk="password" }
在這裡我設置
wlan0
為 DHCP,然後我設置eth0
為 no ip,然後我將其設置eth0
為fallback profile
. 這個配置正確嗎?在這兩種情況下,我只希望一個介面處於活動狀態,這就是為什麼我將一個配置為 DHCP,而將另一個配置為無 IP。
在DHCP WiFi
wlan0
的情況下,回退生效後是否保持正常並不重要,因為使用者很可能會在訪問 Web 界面後配置靜態 IP,靜態配置類似於 DHCP 配置,方式如下:它一次只使一個界面處於活動狀態。
您不能
fallback
用來在不同的界面之間切換(這似乎是案例 2 的目標)。如果同一介面上的 dhpc 失敗,而不是另一個介面上的 dhcp 失敗,則在為其配置的介面上使用 dhcp 回退配置文件。不確定是否可以
arping
用於此目的(請參閱dhcpd.conf)。想法是 ping 第一個介面並指向一個“無 ip”的配置文件。然後,備用 MAC 地址配置文件將包含要在輔助介面上使用的靜態 IP 或 DHCP。但我擔心這不會可靠,因為它取決於主介面何時啟動 IP 地址的時間。