Как назначить несколько IP-адресов одному сетевому интерфейсу в CentOS
Практика настройки нескольких IP-адресов на определенном сетевом интерфейсе называется псевдонимом IP. Псевдоним IP полезен, когда вы настраиваете несколько сайтов на виртуальном веб-хостинге на одном интерфейсе или поддерживаете несколько подключений к сети, каждое из которых служит своей цели. На один сетевой интерфейс можно назначить несколько IP-адресов из одной подсети или совершенно разных.
Все существующие дистрибутивы Linux, включая CentOS, поддерживают псевдоним IP. Вот как привязать несколько IP-адресов к одному сетевому интерфейсу в CentOS.
Если вы хотите настроить IP-псевдоним на лету, есть два способа сделать это. Один из способов — использовать ifconfig
, а другой — использовать команду ip
. Используя эти два метода, позвольте мне показать вам, как добавить два дополнительных IP-адреса к eth0.
Настройте псевдоним IP с помощью ifconfig
Чтобы использовать первый метод:
$ 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
Настройте псевдоним IP с помощью ip
Чтобы использовать второй метод:
$ sudo ip addr add 192.168.10.10/24 dev eth0
$ sudo ip addr add 192.168.10.15/24 dev eth0
Просмотр псевдонимов IP, определенных с помощью ifconfig
или ip
Чтобы просмотреть список всех 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