Назад | Перейти на главную страницу

Использование сетевого интерфейса с несколькими IP-адресами

Если у меня есть сетевой интерфейс с несколькими привязанными к нему IP-адресами, могу ли я установить, какой IP-адрес на интерфейсе использует мой сервер? Он видит, что он настроен на использование первого добавленного мной IP-адреса.

Информация: Ubuntu на OpenVZ

Различное программное обеспечение позволит вам указать, какой интерфейс использовать. Но в целом используемый интерфейс контролируется вашими правилами маршрутизации.

Вы можете просмотреть правила маршрутизации с помощью: netstat -nr

Оба интерфейса находятся в одной подсети? Вы можете убедиться, что ваши правила маршрутизации направляют весь трафик на нужный вам интерфейс.

Если это Linux, то, вероятно, по умолчанию используется «модель слабого хоста», поэтому: В модели слабого хоста IP-хост (IPv4 или IPv6) может отправлять пакеты на интерфейс, которому не назначен исходный IP-адрес отправляемый пакет. Это известно как поведение отправки слабого хоста. IP-хост также может принимать пакеты через интерфейс, которому не назначен IP-адрес назначения принимаемого пакета. Это называется поведением приема слабого хоста.

Правильный термин - устройство Multihome. Ваша сетевая карта имеет несколько IP-адресов, другими словами, ваша сетевая карта представляет собой 1 разъем Ethernet RJ45 с одним подключенным к нему кабелем Ethernet. Однако у вас 4 IP-адреса. Да, вы можете это сделать, первый IP-адрес является основным, остальные называются псевдонимами.

/sbin/ifconfig -a

вы должны увидеть что-то вроде этого:

eth1      Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.31  Bcast:10.100.15.255  Mask:255.255.240.0
          ......
          ......
          ......
          RX bytes:84421113749 (78.6 GiB)  TX bytes:2094592237803 (1.9 TiB)

eth1:1    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.200  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:2    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.201  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:3    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.202  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:4    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.203  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1 - это мой интерфейс с 10.100.8.31 в качестве моего ip-адреса, однако этому нику назначены 4 псевдонима ip-адреса, которые отображаются как eth1: 1, eth1: 2 ...

У них есть соответствующие файлы ifcfg-eth1: x. Например

ifcfg-eth1
-----------
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.100.8.31
NETMASK=255.255.240.0
ONBOOT=yes
USERCTL=no


and ifcfg-eth1:1
-----------------
DEVICE=eth1:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.100.8.200
NETMASK=255.255.240.0
USERCTL=no

Итак, при запуске системы эти скрипты загружаются.