Как понизить определенный IP в Linux?

Как понизить определенный IP в Linux?

Привет, народ, я пытаюсь отключить определенный IP из набора активных IP, как это сделать? Например, давайте предположим, что у меня есть следующие активные IP (последовательность будет такой же): 1.2.3.4 1.2.3.5 1.2.3.6 Я сделал это с помощью "ifconfig etho:x 1.2.3.x up", где x=4,5,6. Теперь я хочу отключить только первый IP, т.е. 1.2.3.4, я пробую это как "ifconfig eth0:4 down". Проблема в том, что это не только отключает требуемый IP, но и отключает все IP ниже него. Я работаю на Linux RedHat. Заранее спасибо...

решение1

ip addr del 1.2.3.4/24 dev eth0:4 Это eth0:nне настоящие интерфейсы, они называются метками (или псевдонимами). Поскольку вы можете назначить несколько адресов одному и тому же интерфейсу, метки могут помочь различать, для чего используется IP. Это также объясняет, почему, когда вы устанавливаете метку, все остальное идет вместе с ней; поскольку вы на самом деле просто общаетесь с eth0.

решение2

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

Здесь в приведенном ниже случае eth0:1метка связана с 192.168.1.1 to 192.168.1.3IP-адресами. А eth0:2метка связана с 192.168.1.4 to 192.168.1.6.

# ip addr add 192.168.1.1/24 dev eth0 label eth0:1
# ip addr add 192.168.1.2/24 dev eth0 label eth0:1
# ip addr add 192.168.1.3/24 dev eth0 label eth0:1
# ip addr add 192.168.1.4/24 dev eth0 label eth0:2
# ip addr add 192.168.1.5/24 dev eth0 label eth0:2
# ip addr add 192.168.1.6/24 dev eth0 label eth0:2

$ ip addr ls dev eth0 
    inet 192.168.1.1/24 scope global eth0:1
    inet 192.168.1.2/24 scope global secondary eth0:1
    inet 192.168.1.3/24 scope global secondary eth0:1
    inet 192.168.1.4/24 scope global secondary eth0:2
    inet 192.168.1.5/24 scope global secondary eth0:2
    inet 192.168.1.6/24 scope global secondary eth0:2

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

Приведенная ниже команда выводит список всех IP-адресов, связанных с eth0:1меткой.

$ ip addr ls label eth0:1
    inet 192.168.1.1/24 scope global eth0:1
    inet 192.168.1.2/24 scope global secondary eth0:1
    inet 192.168.1.3/24 scope global secondary eth0:1

Мы можем удалить определенный IP-адрес.

$ sudo ip addr del 192.168.1.3/24 dev eth0 
$ sudo ip addr ls label eth0:1
    inet 192.168.1.1/24 scope global eth0:1
    inet 192.168.1.2/24 scope global secondary eth0:1

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