Поиск по сайту:

Создайте несколько IP-адресов для одного сетевого интерфейса


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

Основное преимущество использования этого псевдонима IP заключается в том, что вам не нужно подключать физический адаптер к каждому IP, вместо этого вы можете создать несколько или множество виртуальных интерфейсов ( псевдонимы) на одну физическую карту.

Приведенные здесь инструкции применимы ко всем основным дистрибутивам Linux, таким как Red Hat, Fedora и CentOS. Создание нескольких интерфейсов и присвоение им IP-адреса вручную — непростая задача. Здесь мы увидим, как мы можем назначить ему IP-адрес, определяя набор диапазонов IP-адресов. Также поймите, как мы собираемся создать виртуальный интерфейс и назначить интерфейсу разные диапазоны IP-адресов за один раз. В этой статье мы использовали LAN IPs, поэтому замените их теми, которые вы будете использовать.

Создание виртуального интерфейса и назначение нескольких IP-адресов

Здесь у меня есть интерфейс под названием «ifcfg-eth0», интерфейс по умолчанию для устройства Ethernet. Если вы подключили второе устройство Ethernet, то для каждого подключенного устройства будет устройство «ifcfg-eth1» и так далее. Эти сетевые файлы устройства расположены в каталоге «/etc/sysconfig/network-scripts/». Перейдите в каталог и выполните «ls -l», чтобы просмотреть список всех устройств.

cd /etc/sysconfig/network-scripts/
ls -l
Пример вывода
ifcfg-eth0   ifdown-isdn    ifup-aliases  ifup-plusb     init.ipv6-global
ifcfg-lo     ifdown-post    ifup-bnep     ifup-post      net.hotplug
ifdown       ifdown-ppp     ifup-eth      ifup-ppp       network-functions
ifdown-bnep  ifdown-routes  ifup-ippp     ifup-routes    network-functions-ipv6
ifdown-eth   ifdown-sit     ifup-ipv6     ifup-sit
ifdown-ippp  ifdown-tunnel  ifup-isdn     ifup-tunnel
ifdown-ipv6  ifup           ifup-plip     ifup-wireless

Предположим, мы хотим создать три дополнительных виртуальных интерфейса для привязки трех IP-адресов (172.16.16.126, 172.16.16.127 и 172.16.16.128. ) к NIC. Итак, нам нужно создать три дополнительных файла псевдонимов, при этом «ifcfg-eth0» сохранит тот же основной IP адрес. Вот как мы продолжим настройку трех псевдонимов для привязки следующих IP адресов.

Adapter            IP Address                Type
-------------------------------------------------
eth0              172.16.16.125            Primary
eth0:0            172.16.16.126            Alias 1
eth0:1            172.16.16.127            Alias 2
eth0:2            172.16.16.128            Alias 3

Где «:X» — номер устройства (интерфейса) для создания псевдонимов для интерфейса eth0. Каждому псевдониму необходимо последовательно присвоить номер. Например, мы копируем существующие параметры интерфейса «ifcfg-eth0» в виртуальные интерфейсы под названием ifcfg-eth0:0, ifcfg-eth0:1. и ifcfg-eth0:2. Перейдите в сетевой каталог и создайте файлы, как показано ниже.

cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
cp ifcfg-eth0 ifcfg-eth0:1
cp ifcfg-eth0 ifcfg-eth0:2

Откройте файл «ifcfg-eth0» и просмотрите его содержимое.

[root@tecmint network-scripts]# vi ifcfg-eth0

DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.125
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Здесь нам нужны только два параметра (DEVICE и IPADDR). Итак, откройте каждый файл в редакторе VI, переименуйте имя DEVICE в соответствующий псевдоним и измените адрес IPADDR. Например, откройте файлы «ifcfg-eth0:0», «ifcfg-eth0:1» и «ifcfg-eth0:2», используя Редактор VI и измените оба параметра. В конечном итоге это будет выглядеть так, как показано ниже.

ifcfg-eth0:0
DEVICE="eth0:0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.126
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.127
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:2
DEVICE="eth0:2"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.128
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

После внесения всех изменений сохраните все изменения и перезапустите/запустите сетевую службу, чтобы изменения отразились.

[root@tecmint network-scripts]# /etc/init.d/network restart

Чтобы убедиться, что все псевдонимы (виртуальный интерфейс) работают, вы можете использовать команду «ifconfig» или «ip».

[root@tecmint network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.125  Bcast:172.16.16.100  Mask:255.255.255.224
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25429 (24.8 KiB)  TX bytes:26910 (26.2 KiB)
          Interrupt:18 Base address:0x2000

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.126  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.127  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.128  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

Пингуйте каждого из них с разных машин. Если все настроено правильно, вы получите ответ на пинг от каждого из них.

ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Пример вывода
[root@tecmint ~]# ping 172.16.16.126
PING 172.16.16.126 (172.16.16.126) 56(84) bytes of data.
64 bytes from 172.16.16.126: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.126: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.126: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.126 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

[root@tecmint ~]# ping 172.16.16.127
PING 172.16.16.127 (172.16.16.127) 56(84) bytes of data.
64 bytes from 172.16.16.127: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.127: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.127: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.127 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

[root@tecmint ~]# ping 172.16.16.128
PING 172.16.16.128 (172.16.16.128) 56(84) bytes of data.
64 bytes from 172.16.16.128: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.128: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.128: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.128 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

Кажется, все работает гладко. С помощью этих новых IP-адресов вы можете настраивать виртуальные сайты в учетных записях Apache, FTP и многое другое.

Назначить несколько диапазонов IP-адресов

Если вы хотите создать диапазон из несколько IP-адресов для определенного интерфейса с именем «ifcfg-eth0», мы используем « ifcfg-eth0-range0» и скопируйте в него содержимое ifcfg-eth0, как показано ниже.

[root@tecmint network-scripts]# cd /etc/sysconfig/network-scripts/
[root@tecmint network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0

Теперь откройте файл «ifcfg-eth0-range0» и добавьте диапазоны IP-адресов «IPADDR_START» и «IPADDR_END», как показано ниже.

[root@tecmint network-scripts]# vi ifcfg-eth0-range0

#DEVICE="eth0"
#BOOTPROTO=none
#NM_CONTROLLED="yes"
#ONBOOT=yes
TYPE="Ethernet"
IPADDR_START=172.16.16.126
IPADDR_END=172.16.16.130
IPV6INIT=no
#GATEWAY=172.16.16.100

Сохраните его и перезапустите/запустите сетевую службу.

[root@tecmint network-scripts]# /etc/init.d/network restart

Убедитесь, что виртуальные интерфейсы созданы с IP-адресом.

[root@tecmint network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.125  Bcast:172.16.16.100  Mask:255.255.255.224
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1249 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:127317 (124.3 KiB)  TX bytes:200787 (196.0 KiB)
          Interrupt:18 Base address:0x2000

eth0:0     Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.126  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.127  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.128  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:3    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.129  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:4    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.130  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

Если у вас возникли проблемы с настройкой, пожалуйста, оставляйте свои вопросы в разделе комментариев.