Debian

如何在不自動分配 DHCP IP 的情況下配置 raspberry 以獲取靜態 IP?

  • March 1, 2018

我在網路中有一個覆盆子 PI,所有客戶端都會自動分配一個 DHCP IP 地址。DHCP-IP 為“192.168.0.X”,子網遮罩為“255.255.255.0”

但是對於我的覆盆子(和其他設備),我想在另一個網路中使用固定的 IP 地址。具有子網遮罩“255.255.0.0”的所需 IP“192.168.XY”

覆盆子應獲得 IP 為“192.168.20.104”,子網遮罩為“255.255.0.0”。

我的“/etc/network/interfaces”看起來像

auto lo
iface lo inet loopback

iface eth0 inet static
 address 192.168.20.104
 netmask 255.255.0.0
 gateway 192.168.0.252

到目前為止,這一切正常,我的樹莓派獲得了地址“192.168.20.104”,但它也獲得了分配的 DHCP 地址(在我的情況下為“192.168.0.173”)。

“sudo ip addr show”的輸出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether b8:27:eb:37:1d:30 brd ff:ff:ff:ff:ff:ff
   inet 192.168.20.104/16 brd 192.168.255.255 scope global eth0
      valid_lft forever preferred_lft forever
   inet 192.168.0.173/24 brd 192.168.0.255 scope global eth0
      valid_lft forever preferred_lft forever
   inet6 fe80::ba27:ebff:fe37:1d30/64 scope link
      valid_lft forever preferred_lft forever

但我希望覆盆子只使用我的靜態地址。應該沒有 DHCP地址。

我的“介面”文件中有錯誤嗎?有人可以解釋為什麼儘管我配置了靜態地址但我得到了 DHCP 地址嗎?

我必須在我的配置文件中進行哪些更改才能獲得 DHCP 地址?

dhcpcd無論您擁有何種配置,您都在執行一項為您提供 IP 地址的服務。

imo您甚至不應該像dhclient通常那樣安裝它。(我假設這裡是 Debian,也許我有點偏離)你可能安裝了它,所以我們不會解除安裝它,以防你將來定義一個啟用 dhcp 的介面。

所以我們將把它從引導配置中取出,並停止它。

apt-get install chkconfig
chkconfig dhcpcd off
service dhcpcd stop

您能否將 /etc/network/interfaces 更改為:

auto eth0
iface eth0 inet static
   address 192.168.20.104
   netmask 255.255.0.0
   network 192.168.0.0
   broadcast 192.168.255.255
   gateway 192.168.0.252

然後做一個:

sudo service networking restart

引用自:https://unix.stackexchange.com/questions/244351