Сетевой IP алиасинг
1. Сетевой IP алиасинг
1.1. Введение
1.2. Требования
2. Применение конфигурации
2.1. Redhat 7.2., CentOS & Fedora
2.2. Gentoo
2.3. Debian & производные
2.4. CPanel
2.5. HG Servers
2.6. Windows 2003 Server
2.7. Windows 2008/2012 Server
2.8. FreeBSD
2.9. Solaris

1.1. Введение

IP алиасинг – это специальная конфигурация сети Вашего выделенного сервера, которая позволяет связать несколько IP адресов в один сетевой интерфейс.

Цель этого состоит в том, чтобы создать виртуальный интерфейс над eth0, который будет переименован в eth0:0 и будет присоединять дополнительный  IP (или же failover IP) к Вашему сетевому интерфейсу. Здесь Вы найдете пояснения к конфигурации по SSH. У вас также есть возможность сделать это напрямую, через Ваш webmin – другие разделы – управление файлами.

DEFAULT_SERVER_IP:	Первичный IP Вашего выделенного сервера.
IP_FAIL_OVER:		failover IP, который Вы хотите настроить.

1.2. Требования

  • Выделенный сервер
  • IP failover(s)
  • Знания по SSH

2.1. Redhat 7.2., CentOS & Fedora

Для начала мы копируем файл eth0 интерфейса и переименовываем его в eth0:0 . Это позволит Вам без проблем редактировать файл:

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

Теперь мы можем редактировать файл eth0:0 для замены IP:

# editor /etc/sysconfig/network-scripts/ifcfg-eth0:0

Прежде всего, замените имя устройства, затем существующий IP на IP failover/ дополнительный IP, который Вы получили по email:

1	DEVICE="eth0:0"
2	ONBOOT="yes"
3	BOOTPROTO="none" # For CentOS use "static"
4	IPADDR="IP_FAIL_OVER"
5	NETMASK="255.255.255.255"
6	BROADCAST="IP_FAIL_OVER"

Теперь Вам нужно просто смонтировать новый интерфейс, который мы только что добавили:

# ifup eth0:0

Во время перезагрузки, интерфейс будет автоматически смонтирован.

Если операции 1-3 были выполнены правильно, то IP, отображаемый в файле eth0:0 должен пинговаться с другой машины.

Если у Вас несколько дополнительных IP, Вы можете повторить операцию используя eth0:1, eth0:2 и так далее.

2.2. Gentoo

Прежде всего, мы делаем резервную копию конфигурационного файла, чтобы иметь возможность вернуться к нему в любое время:

#cp /etc/conf.d/net /etc/conf.d/net.bak

Теперь мы можем отредактировать файл, чтобы добавить IP. Под Gentoo , псевдоним уже будет добавлен непосредственно в eth0. Мы не создаем никаких интерфейсов eth0:0 (как под Redhat, к примеру)

ВАЖНО! Дефолтный  IP адрес сервера должен оставаться в той же строке, что и  config_eth0= для того, чтобы быть уверенным, что некоторые специфические виды обработки в сети OVH работают корректно.

После сетевой маски 255.255.255.0, нажмите “Enter” и добавьте Ваш IP (DEFAULT_SERVER_IP должен быть заменен IP адресом Вашего сервера)

# editor /etc/conf.d/net

Вы должны добавить:

config_eth0=( "DEFAULT_SERVER_IP netmask 255.255.255.0" "IP_FAIL_OVER netmask 255.255.255.255 brd IP_FAIL_OVER" )

Ваш /etc/conf.d/net файл долден содержать следующее:

1	#This blank configuration will automatically use DHCP for any net.
2	# scripts in /etc/init.d. To create a more complete configuration,
3	# please review /etc/conf.d/net.example and save your configuration
4	# in /etc/conf.d/net (this file :]!).
5	config_eth0=( "DEFAULT_SERVER_IP netmask 255.255.255.0"
6	"IP_FAIL_OVER netmask 255.255.255.255 brd IP_FAIL_OVER" )
7	routes_eth0=( "default gw DEFAULT_SERVER_IP.254" )

Для того, чтобы пропинговать Ваш failover IP, Вам нужно всего лишь еще раз запустить Ваш сетевой интерфейс:

# /etc/init.d/net.eth0 restart

Если операции 1 – 3 были выполнены корректно, то IP адрес, отображаемый в файле eth0:0 должен пинговаться с другой машины.

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

config_eth0.

2.3. Debian & derivatives Прежде всего, мы делаем резервную копию конфигурационного файла, чтобы иметь возможность вернуться к нему в любое время:

# cp /etc/network/interfaces /etc/network/interfaces.bak # editor /etc/network/interfaces

Вам нужно добавить вторичный интерфейс:

1	auto eth0:0
2	iface eth0:0 inet static
3	address IP_FAIL_OVER
4	netmask 255.255.255.255

Для того, чтобы убедиться, что вторичный интерфейс(ы) поднят во время активации eth0 нам нужно добавить в конфигурацию eth0 в следующую строку:

1	post-up /sbin/ifconfig eth0:0 IP_FAIL_OVER netmask 255.255.255.255 broadcast IP_FAIL_OVER
2	post-down /sbin/ifconfig eth0:0 down

Так что если у Вас настроено 2 Failover IP адреса, файл  /etc/network/interfaces будет выглядеть следующим образом:

 1	auto eth0
 2	iface eth0 inet static
 3	address DEFAULT_SERVER_IP
 4	netmask 255.255.255.0
 5	broadcast xxx.xxx.xxx.255
 6	network xxx.xxx.xxx.0
 7	gateway xxx.xxx.xxx.254
 8	
 9	post-up /sbin/ifconfig eth0:0 IP_FAIL_OVER1 netmask 255.255.255.255 broadcast IP_FAIL_OVER1
10	post-down /sbin/ifconfig eth0:0 down
11	
12	post-up /sbin/ifconfig eth0:1 IP_FAIL_OVER2 netmask 255.255.255.255 broadcast IP_FAIL_OVER2
13	post-down /sbin/ifconfig eth0:1 down
14	
15	auto eth0:0
16	iface eth0:0 inet static
17	address IP_FAIL_OVER1
18	netmask 255.255.255.255
19	broadcast IP_FAIL_OVER1
20	
21	auto eth0:1
22	iface eth0:1 inet static
23	address IP_FAIL_OVER2
24	netmask 255.255.255.255
25	broadcast IP_FAIL_OVER2

Перезапустите Ваши сетевые интерфейсы, чтобы активировать новые Failover IP адресы.

# /etc/init.d/networking restart

2.4. CPanel

Прежде всего, мы делаем резервную копию конфигурационного файла, чтобы иметь возможность вернуться к нему в любое время:

# cp /etc/ips /etc/ips.bak

Редактируем файл /etc/ips;

# editor /etc/ips

Добавляем ip в файл

IP_FAIL_OVER:255.255.255.255:IP_FAIL_OVER

Добавляем ip в /etc/ipaddrpool

IP_FAIL_OVER

Перезапустите сервис управления Failover IP адресами

# /etc/init.d/ipaliases restart

2.5. HG Серверы

Для HG Server, которые уже предоставляются с двумя IP адресами и двумя сетевыми картами, необходимо добавить failover Ip в правила маршрутизации:

  • SECONDARY_NIC_IP: Первоначальный IP вторичного сетевого интерфейса
  • DEFAULT_SERVER_IP: Первоначальный IP сервера (первичный сетевой интерфейс)
  • FAILOVER_IP: Ваш failover IP
1	postup() {
2	/sbin/ip route add default via SECONDARY_NIC_IP dev eth1 table 223
3	/sbin/ip rule add from DEFAULT_SERVER_IP/32 table 223
4	/sbin/ip rule add from FAILOVER_IP/32 table 223
5	}

Пример файла на HG Server с Gentoo дистрибутивом отдает следующее:

 1	This blank configuration will automatically use DHCP for any net.*
 2	scripts in /etc/init.d. To create a more complete configuration,
 3	please review /etc/conf.d/net.example and save your configuration
 4	in /etc/conf.d/net (this file :]!).
 5	
 6	config_eth0=( "DEFAULT_SERVER_IP netmask 255.255.255.0"
 7	"DEFAULT_SERVER_IP netmask 255.255.255.255 brd DEFAULT_SERVER_IP.255"
 8	)
 9	routes_eth0=( "default gw DEFAULT_SERVER_IP.254" )
10	
11	config_eth1=( "FAILOVER_IP netmask 255.255.255.0"
12	"FAILOVER_IP netmask 255.255.255.255 brd FAILOVER_IP.255"
13	)
14	
15	postup() {
16	/sbin/ip route add default via SECONDARY_NIC_IP dev eth1 table 223
17	/sbin/ip rule add from DEFAULT_SERVER_IP/32 table 223
18	/sbin/ip rule add from FAILOVER_IP/32 table 223
19	}

2.6. Windows 2003 Server

Прежде всего, Вам нужно добавить новое устройство:
  1. Пуск -> Панель инструментов -> Новое устройство.
  2. Кликните “далее”, затем поставьте флажок “Да, я уже подключил устройство”, а затем “подтвердить“.
  3. Выберите последний элемент из списка: “добавить новое устройство” и “подтвердить“. Выберите второй вариант.
  4. “Установить устройство, выбранное вручную из спика (экспериментальный пользователь), затем “подтвердить“.
  5. Выберите “Сетевая картаd” , затем, в следующем окне, найдите “Microsoft producer” и выберите  “Microsoft loopback card“.
    Завершите установку этого обрудования.
    После установки шлейфа, появится новый интерфейс.
  6. “Подключение к локальной сети 2” (кроме HG server, у которого три интерфейса).
    Теперь самое время добавить failover IP адресы в интерфейс:
  7. В “Пуск”, выберите “Панель инструментов”, “Сетевые подключения”, затем “Подключение к локальной сети 2”.
  8. Кликните “Properties“ (свойства).
  9. Выберите “Интернет протокол (TCP/IP)“.
  10. Кликните “Properties“ (свойства).
  11. Введите Ip адрес, соответствующий Вашему failover IP и 255.255.255.0 как маску подсети. Остальные поля оставьте пустыми.
  12. Подтвердите правильность остальных окон. Наконец, Вы должны исправить маску подсети на 255.255.255.255, однако это не разрешено в диалоговом окне конфигурации IP; Вам необходимо изменить информацию в базе данных реестра.
  13. В “Пуск”, кликните на “Выполнить”, затем введите команду regedit.
  14. Нажмите Ctrl-F3 чтобы открыть окно поиска, затем укажите failover IP адрес и кликнете на “Далее“.
  15. Как только Вы найдете IP, дважды кликните на параметр “Маска подсети” и измените 255.255.255.0 на 255.255.255.255 и нажмите “подтвердить“.
  16. Продолжайте поиск, нажимая F3, и снова выполните такие же изменения.
  17. Закройте окно редактора реестра.
    Наконец, для подтверждения изменений, перезагрузите интерфейс.
  18. “Пуск”, “Панель инструментов”, “Сетевые подключения”, кликните правой кнопкой мыши на “Подключение к локальной сети 2” и затем кликните на “Отключить“. Подождите несколько секунд и активируйте подключение к сети еще раз.
2.7. Windows 2008/2012 Server
По умолчанию, на Windows 2008/2012 Server используется DHCP в конфиругации сети. Если Вы уже настроили failover IP или уже разместили конфигурацию Вашего фиксированного IP, то пропустите этот пункт.
Сначала Вы должны изменить конфигурацию DHCP в сети для конфигурации фиксированной сети.

Запустите консоль cmd or powershell и введите следующую команду:

ipconfig /all

Результат команды “ipconfig /all”

1

В этом окне, Вы получите Ваш IPv4 адрес, маску подсети и дефолтный шлюз.
Для нашего примера, мы используем IP : 94.23.229.151 затем:

  1. Перейдите в Пуск >> Панель управления >> Network and Internet >> Network and Sharing Center >>Изменить параметры адаптера (в левом меню)
  2. Кликните правой кнопкой мыши на “подключение по локальной сети”
  3. Выберите “Свойства” (properties)
  4. Выберите Интернет Протокол версии 4 (TCP/IPv4) и затем кликните “Свойства” (Properties)
  5. Поставьте флажок “Использовать следующий IP адрес” и замените основной IP сервера, маску подсети, дефолтный шлюз, полученный с помощью команды ipconfig выше (в предпочтительном DNS сервере, оставьте 213.186.33.99)

2

ПРЕДУПРЕЖДЕНИЕ! Постарайтесь не делать ошибок, так как в противном случае Ваш сервер станет недоступным и Вам придется править конфигурацию сети используя режим Win Rescue.

Затем кликните “Дополнительные свойства (Advanced)“ (в диалоговом окне TCP/IPv4 свойств),  Во вкладке IP адрес, кликните “добавить”:

3

Заполните поле, указав Ваш IP failover и маску сети 255.255.255.255.

4

Кликните “Добавить”.

Теперь Вы можете использовать Ваш failover IP.

2.8. FreeBSD

Укажите имя Вашего первичного сетевого интерфейса. Вы можете использовать команду ifconfig для этой операции:

# ifconfig

Вывод:

# ifconfig
nfe0: flags=8843 metric 0 mtu 1500
options=10b
ether 00:24:8c:d7:ba:11
inet 94.23.196.18 netmask 0xffffff00 broadcast 94.23.196.255
inet 87.98.129.74 netmask 0xffffffff broadcast 87.98.129.74
media: Ethernet autoselect (100baseTX )
status: active
lo0: flags=8049 metric 0 mtu 16384
options=3
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000 v comsdvt#

Следовательно, имя интерфейса: nfe0. nfe0.

Скопируйте файл /etc/rc.conf чтобы мы могли откатиться в любой момент:

# cp /etc/rc.conf /etc/rc.conf.bak

Отредактируйте файл /etc/rc.conf:

# editor /etc/rc.conf

Добавьте следующую строку в конец файла: ifconfig_INTERFACE_alias0=”inet IP_FAIL_OVER netmask 255.255.255.255 broadcast IP_FAIL_OVER”

Замените INTERFACE и IP_FAIL_OVER именем интерфейса, полученного на этапе №1, и затем IP_FAIL_OVER Вашим собственным failover IP соответственно.

Пример:

ifconfig_nfe0_alias0="inet 87.98.129.74 netmask 255.255.255.255 broadcast 87.98.129.74"

Перезапустите сетевой интерфейс

# /etc/rc.d/netif restart && /etc/rc.d/routing restart

ПРИМЕЧАНИЕ: Вводите эту команду в два шага в случае потери доступа к Вашему серверу.

Если конфигурация была выполнена верно, то указанный в файле IP должен пинговаться извне.

2.9. Solaris

Укажите имя Вашего первичного сетевого интерфейса. Можете использовать команду ifconfig для этой операции:

ifconfig -a

Это даст следующий вывод:

ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 e1000g0: flags=1000843 mtu 1500 index 2 inet 94.23.41.167 netmask ffffff00 broadcast 94.23.41.255 ether 0:1c:c0:f2:be:42

Следовательно, имя интерфейса: e1000g0.

Создайте файл /etc/hostname.INTERFACE:ALIAS:

editor /etc/hostname.e1000g0:1

в этом файле введите следующее: IP_FAIL_OVER/32 broadcast + up. ЗаменитеIP_FAIL_OVER Вашим Failover IP. Пример:

188.165.171.40/32 up

Перезапустите сетевой интерфейс:

svcadm restart svc:/network/physical:default

Пропингуйте IP.  Если все конфигурации были выполнены корректно, IP должен отвечать.