Как назначить несколько IP-адресов на один сетевой интерфейс на CentOS

Практика настройки нескольких IP адресов на конкретном сетевом интерфейсе называется IP алиасинг (назначение псевдонимов IP). IP алиасинг полезен, когда вы устанавливаете несколько сайтов на виртуальных веб-хостинг на одним интерфейсе, или поддерживаете несколько соединений к сети, каждое из которых обслуживает разные цели. Вы можете назначить несколько IP адресов на один сетевой интерфейс из одной подсети или из полностью разных подсетей

Все существующие дистрибутивы Linux, включая CentOS, поддерживают IP алиасинг. Вот как связать несколько IP адресов с одним сетевым интерфейсом на CentOS.

Если вы хотите настроить IP алиасинг на лету, есть два способа сделать это. Первый — это использовать ifconfig, а другой метод — это использовать команду ip. Используя эти два метода, позвольте мне показать вам, как добавить два дополнительных IP адреса к eth0.

Используя первый метод:

$ sudo ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up

$ sudo ifconfig eth0:2 192.168.10.15 netmask 255.255.255.0 up

 

Используя второй метод:

$ sudo ip addr add 192.168.10.10/24 dev eth0

$ sudo ip addr add 192.168.10.15/24 dev eth0

 

Для просмотра списка всех IP адресов, назначенных на eth0 с использованием какого-либо из этих методов, запустите следующую команду.

$ sudo ip addr list dev eth0
2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

link/ether 00:0c:29:5c:86:f4 brd ff:ff:ff:ff:ff:ff

inet 192.168.91.128/24 brd 192.168.91.255 scope global eth0

inet 192.168.91.10/24 scope global secondary eth0

inet 192.168.91.20/24 scope global secondary eth0

inet6 fe80::20c:29ff:fe5c:86f4/64 scope link

valid_lft forever preferred_lft forever

 

Если вы использовали ifconfig для создания IP псевдонимов, вы также можете использовать ту же самую команду для их просмотра.

$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0C:29:5C:86:F4

inet addr:192.168.91.128 Bcast:192.168.91.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe5c:86f4/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:22 errors:0 dropped:0 overruns:0 frame:0

TX packets:102 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3869 (3.7 KiB) TX bytes:18172 (17.7 KiB)

Interrupt:19 Base address:0x2000



eth0:1 Link encap:Ethernet HWaddr 00:0C:29:5C:86:F4

inet addr:192.168.91.10 Bcast:192.168.91.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:19 Base address:0x2000



eth0:2 Link encap:Ethernet HWaddr 00:0C:29:5C:86:F4

inet addr:192.168.91.20 Bcast:192.168.91.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:19 Base address:0x2000



lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 frame:0

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)

 

Если вы хотите навсегда назначить несколько IP адресов на один интерфейс, создайте соответствующие файлы конфигурации в /etc/sysconfig/network-scripts.

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1

BOOTPROTO=static

IPADDR=192.168.0.5

NETMASK=255.255.255.0

ONBOOT=yes

После того, как вы создали столько файлов конфигурации, сколько IP адресов хотите назначить, перезапустите сеть для активации IP псевдонимов.

$ sudo /etc/init.d/network restart

1 комментарий к “Как назначить несколько IP-адресов на один сетевой интерфейс на CentOS”

  1. У меня вопрос такой, как на одной сетевой карте запустить несколько пограммных интерфейсов с dhcp

    Ответить

Оставьте комментарий