
我剛剛安裝了新的 debian 10.4.0-amd64-standard。
我將網路介面 ip 配置為靜態 (eth0):
iface eth0 inet static
address 10.1.1.41/24
gateway 10.1.1.1
dns-nameservers 10.1.1.20
但是當我輸入時,ip addr
我在同一介面上得到兩個 IP 位址。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 mq state UP group default qlen 1000
link/ether 00:15:5d:01:0a:09 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.103/24 brd 10.1.1.255 scope global dynamic eth0
valid_lft 549236sec preferred_lft 549236sec
inet 10.1.1.41/24 brd 10.1.1.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe01:a09/64 scope link
valid_lft forever preferred_lft forever
我需要做什麼才能擺脫 DHCP IP“10.1.1.103”?
根據要求輸出ps aux | grep dhcp
:
root 381 0.0 0.2 9488 5736 ? Ss Aug12 0:00 /sbin/dhclient -4 -v -i -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0
root 12551 0.0 0.0 6076 828 pts/0 S+ 07:43 0:00 grep dhcp
禁用 dhcp 服務後。當我輸入ifup eth0
:
sudo ifup eth0
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:15:5d:01:0a:09
Sending on LPF/eth0/00:15:5d:01:0a:09
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 10.1.1.103 from 10.1.1.20
DHCPREQUEST for 10.1.1.103 on eth0 to 255.255.255.255 port 67
DHCPACK of 10.1.1.103 from 10.1.1.20
bound to 10.1.1.103 -- renewal in 1523 seconds.
看起來它仍在請求 dhcp 取得 ip。
答案1
我剛剛在 5 台 Mac Mini 上全新安裝 Debian 11 時也遇到了這個問題,並想分享我的發現。深入研究後/var/log/syslog
,我注意到它connmand
正在啟動我的乙太網路並請求 DHCP。大約 5 秒後,又dhclient
做了同樣的事情。
這導致兩個 IP 位址被分配給我的機器。我刪除了connman
軟體包,重新啟動,一切都很順利,現在只提取了一個 DHCP 請求。
答案2
最有可能的是,您的網路管理員仍在運行:額外的你的ip位址乙太網路0介面取得只能來自 DHCP 請求(也可以透過存在dhclient在輸出中輔助鍵)。
禁用它即可,
sudo systemctl disable network-manager
並重新啟動以檢查現在您確實獲得了 IP 位址。
答案3
最近遇到同樣的問題:
systemd
您可以這樣解決:
您不需要新增/修改檔案/etc/network/interfaces
來設定IP
mv /etc/systemd/network/99-dhcp.network /etc/systemd/network/99-static.network
編輯重新命名的檔案:
內部替換[network]
部分從DHCP
到:
[NETWORK]
Address=xxx.xxx.xxx.xxx/yy
Gateway=xxx.xxx.xxx.xxx
DNS=xxx.xxx.xxx.xxx.xxx
(以防萬一,請檢查該[MATCH]
部分是否有正確的表達式來匹配您的 iface 名稱,例如Name=e*
:)
然後重新啟動
答案4
我剛剛找到了一個解決方案,並將分享一個關於我認為正在發生的事情的理論。
至少在我的系統上,該介面看起來是從 NetworkManager 分配的連接,/etc/網路/接口。我正在深入研究 NetworkManager 手冊頁和 NetworkManager.conf(5) 部分IFUPDOWN 部分,它說如果管理變數設定為錯誤的,“NetworkManager 將忽略 /etc/network/interfaces 中列出的任何介面。”
當我設定管理到真的,兩個連接中的第一個消失了(重新啟動網路後),留下了我在其中定義的唯一定義的連接/etc/網路/接口。
我猶豫是否要進一步推測,因為我經常誤解我認為的線索,但我無法控制自己。
我的目標是擁有一個靜態 IP 位址,我在/etc/網路/接口,但是調用IP位址始終顯示 DHCP 定義的位址。我安裝了isc-dhcp-客戶端並且不斷嘗試獲取靜態位址,直到我注意到(誰知道多久)列出了多個 IP 位址,其中一個是我在/etc/網路/接口。這與 NetworkManager.conf(5) 相矛盾,後者表示如果管理被設定為錯誤的。也許安裝 DHCP 用戶端會覆蓋 NetworkManager。