Если у меня интерфейсу назначено 2 IP-адреса, как мне освободить только определенный IP-адрес?

Если у меня интерфейсу назначено 2 IP-адреса, как мне освободить только определенный IP-адрес?

Я делал несколько заданий по dhcp для домашнего задания, и в одном упражнении мне нужно было освободить IP на одном клиенте, чтобы затем на сервере с tcpdump захватить пакеты, описывающие всю коммуникацию DHCP.
Это, конечно, сработало просто отлично, дело в том, что моему клиенту было назначено 2 IP, старый и новый.

Мне это не нужно для решения моих задач, но мне просто интересно, почему интерфейс может иметь два IP-адреса и как мне освободить только один из них.

Я покажу вам 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-адресов: от нуля до сотен.

Хотя это необычно для DHCP-клиента, чтобы когда-либо брать более одной аренды. Может быть, у вас есть два DHCP-клиента, работающих одновременно? (Например, systemd-networkd и NetworkManager?)

Или, может быть, вы дважды запустили DHCP-клиент и удалили его файл аренды между запусками?

и как я мог освободить хотя бы одного из них.

Как уже упоминалось, у вас, вероятно, два DHCP-клиента, каждый из которых управляет своим собственным адресом. Если это так, то остановите только одного клиента.

Наконец, вы можете просто удалить адреса, не освобождая аренду DHCP, используя ip addr del. Но это не поможет, если назначенный им DHCP-клиент все еще работает, и, конечно, он не освободит его на DHCP-сервере:

ip addr del 192.168.100.11/24 dev eth1

Связанный контент