Debian one 介面有兩個 IP 位址

Debian one 介面有兩個 IP 位址

我剛剛安裝了新的 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。

相關內容