Linux

配置 dnsmasq 以給出不同範圍內的地址

  • November 15, 2021

我想給未知客戶端一個範圍內的IP地址和另一個範圍內的已知客戶端(這是一個靜態的)。

我現在嘗試了很多,但似乎無法正常工作。我得到的只是“沒有可用的地址”錯誤。

我的網路是 10.1.0.0/22 (<-!!!) 應為訪客分配一個範圍為 10.1.3.1-10.1.3.254 的地址 靜態地址範圍為 10.1.2.1-10.1.2.254

所以這是我的配置:

iface eth0 inet static
   address 10.1.0.2/22
   gateway 10.1.0.1

eth0@if17: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc noqueue state UP group default qlen 1000
   link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff link-netnsid 0
   inet 10.1.0.2/22 brd 10.1.3.255 scope global eth0
       valid_lft forever preferred_lft forever

dhcp-range=tag:guests,10.1.3.1,10.1.3.254,255.255.252.0,12h
dhcp-range=tag:known,10.1.2.0,static,24h
dhcp-option=option:router,10.1.0.1
dhcp-option=option:dns-server,10.1.0.3
dhcp-option=option:ntp-server,10.1.0.1

dhcp-host=aa:bb:cc:dd:ee:ff,10.1.2.1
dhcp-host=11:22:33:44:55:66,10.1.3.2

已知主機會獲得它們的地址(無論它是 .2. 還是 .3. 地址),但未知主機不會得到任何資訊。

似乎有問題的部分是:標籤:已知。出於某種原因,當我刪除 dnsmasq 時,它在啟動日誌消息中沒有顯示不同的內容,但現在似乎可以工作了。(我不知道它是否適用於 /22,因為我停止使用它。)

您沒有為該tag:known範圍提供網路遮罩,因此 dnsmasq 將假定它是整個 /22,完全覆蓋該tag:guests範圍。

引用自:https://serverfault.com/questions/1083280