
私は宿題で DHCP のタスクをいくつかやっていたのですが、ある演習で、1 つのクライアントで IP を解放し、サーバーで tcpdump を使用して DHCP 通信全体を記述するパッケージをキャプチャする必要がありました。
もちろん、これは問題なく機能しましたが、問題は、クライアントに古い IP と新しい IP の 2 つの IP が割り当てられたことです。
私のタスクではこれを知る必要はまったくありませんが、インターフェースに二重の IP が存在する理由と、そのうちの 1 つだけを解放する方法が知りたいと思いました。
ip a
さらに詳しい情報についてはクライアントの出力をお見せします
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 pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8d:c0:4d brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
valid_lft 81584sec preferred_lft 81584sec
inet6 fe80::a00:27ff:fe8d:c04d/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:e8:5c:2a brd ff:ff:ff:ff:ff:ff
inet 192.168.100.10/24 brd 192.168.100.255 scope global dynamic eth1
valid_lft 16802sec preferred_lft 16802sec
inet 192.168.100.11/24 brd 192.168.100.255 scope global secondary dynamic eth1
valid_lft 19310sec preferred_lft 19310sec
inet6 fe80::a00:27ff:fee8:5c2a/64 scope link
valid_lft forever preferred_lft forever
追伸
もしかしたら古い IP が今は機能しないだけかもしれないし、単にip a
一種の「履歴」を表示しているだけかもしれないと思ったのですが、両方の IP が機能しています。それでも、なぜこれが許可されているのかわかりません。
答え1
インターフェースに二重のIPが設定できる理由が知りたいです
インターフェースにはどれでも必要な IP アドレスの数は 0 から数百までです。
ただし、DHCP クライアントが複数のリースを取得することはまれです。おそらく、2 つの DHCP クライアントを同時に実行しているのではないでしょうか (たとえば、systemd-networkd と NetworkManager)。
あるいは、DHCP クライアントを 2 回実行し、実行の間にリース ファイルを削除した可能性があります。
そして、どうすればそのうちの 1 つだけを解放できるでしょうか。
前述のように、おそらく 2 つの DHCP クライアントがあり、それぞれが独自のアドレスを管理しています。その場合は、1 つのクライアントのみを停止します。
最後に、 を使用して、DHCP リースを解放せずにアドレスを削除するだけですip addr del
。ただし、割り当てた DHCP クライアントがまだ実行中の場合は役に立ちません。また、当然ながら DHCP サーバー上でアドレスが解放されることはありません。
ip addr del 192.168.100.11/24 dev eth1