Linux несколько ip одном интерфейсе

Содержание
  1. Несколько IP-адресов на одном сетевом адаптере в CentOS
  2. Принцип настройки
  3. Разовая настройка (командой)
  4. Постоянная настройка
  5. Настройка отвечающего интерфейса
  6. Два Ip адреса на сетевой карте в Linux
  7. Первый способ как добавить дополнительный второй IP адрес сетевой карте в Linux
  8. Второй способ настройки дополнительного IP адреса на сетевой карте в Linux
  9. Третий способ как назначить дополнительный адрес сетевой карте
  10. Несколько IP адресов на одном сетевом интерфейсе
  11. Дополнительный ip для интерфейса (IP alias) в Linux
  12. Устанавливаем несколько ip адресов на один интерфейс Debian/Ubuntu
  13. Установка алиас на сетевой интерфейс enp0s3 с использованием утилиты ifconfig.
  14. Удалить alias ip-адреса в Linux через утилиту ifconfig
  15. Установка алиас на сетевой интерфейс enp0s3 с использованием файла конфигурации.
  16. Zone PC
  17. Несколько IP адресов на одном интерфейсе
  18. Настойка в Debian/Ubuntu
  19. Настройка в RHEL/CentOS/Fedora
  20. Поделиться ссылкой:
  21. 4 комментария

Несколько IP-адресов на одном сетевом адаптере в CentOS

Назначение 2-х и более адресов на один физический сетевой интерфейс позволяет запуск приложений и служб, которые используют несколько IP или работают на разных сетевых адресах.

Принцип настройки

Для назначения вторичного IP-адреса создается псевдоним (alias) сетевого интерфейса. Название для алиаса задается по принципу : , например, eth0:0 или eth0:1.

Псевдониму можно назначить только статический ip-адрес, нельзя присвоить адрес с помощью DHCP.

Разовая настройка (командой)

Добавить дополнительный адрес можно одной командой:

ip a add 192.168.1.11/24 dev enp2s0:1

* в данном примере мы назначили адрес 192.168.1.11 с маской 255.255.255.0 (/24) для сетевого интерфейса enp2s0. Данный алиас назван enp2s0:1.

Если для управления сетевыми интерфейсами используем утилиту ifconfig:

ifconfig enp2s0:1 192.168.1.11 up

Проверить настройку можно одной из команд:

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

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

Постоянная настройка

Чтобы дополнительный адрес назначался при перезагрузках, создаем новый виртуальный адаптер:

DEVICE=enp2s0:1
BOOTPROTO=static
IPADDR=192.168.1.11
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

Для применения настроек, перезапускаем сетевую службу:

systemctl restart network

Настройка отвечающего интерфейса

Некоторые приложения, которые отвечают на сетевые запросы с интерфейсов-алиасов могут работать некорректно. Это связано с тем, что ответ выполняется не с вторичного IP-адреса, на который пришел запрос, а первичного.

Для настройки сетевых ответов с IP, на который пришел запрос, вносим изменения в таблицу маршрутизации.

Для начала нужно найти незанятую таблицу (по умолчанию, они все пусты, кроме основной):

ip route show table 100

* в данном примете мы посмотрим на маршруты таблицы с номером 100.

Если маршрутов нет, то добавляем следующие:

ip route add default via 192.168.1.1 src 192.168.1.11 table 100

ip rule add from 192.168.1.0/24 table 100

ip rule add to 192.168.1.0/24 table 100

* в данном примере добавлены маршруты для подсети 192.168.1.0/24

Для постоянного добавления маршрута, создаем файл:

default via 192.168.1.1 src 192.168.1.11 table 100

Источник

Два Ip адреса на сетевой карте в Linux

Иногда возникает необходимость привязать несколько IP адресов к одному сетевому адаптеру. Как оказалось в Linux сделать это очень просто.

В предыдущей статье я писал как настроить сетевую карту используя только консоль в линукс, а конкретно в CentOS. Так вот, настройка дополнительных IP адресов производится теме же командами и способами. С той лишь разницей, что настраивать мы будем уже не саму сетевую карту, а ее подинтерфейс(ы). Иными словами у сетевой карты будет основной адрес и один или несколько дополнительных.

Читайте также:  Что умеет windows server

Первый способ как добавить дополнительный второй IP адрес сетевой карте в Linux

Чтобы добавить второй адрес сетевому адаптеру достаточно выполнить команду:

где YYY.YYY.YYY.YYY — маска сети
XXX.XXX.XXX.XXX — дополнительный IP адрес
а eth0:0 — имя подинтерфейса. Которое состоит из имени сетевого адаптера и номера дополнительного подинтерфейса.
К примеру если мы введем команды:

то есть настроим основной адрес и второй дополнительный, то получим примерно следующий результат:

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

Второй способ настройки дополнительного IP адреса на сетевой карте в Linux

Второй способ — это редактирование конфигурационных файлов. Но теперь уже не для сетевого адаптера, а для его подинтерфейсов. Система имен которых строится по тем же принципам. То есть для подинтерфейса eth0:0 имя файла будет /etc/sysconfig/network-scripts/igcfg-eth0:0
И в моем случае будет иметь следующее содержание:

При необходимости его нужно отредактировать, к примеру так:

После чего перезапустите сетевые службы:

и убедитесь, что все работает:

Третий способ как назначить дополнительный адрес сетевой карте

Воспользуемся уже знакомой нам утилитой system-config-network-tui
Выбираем пункт настройки адаптеров:

Выбираем необходимый нам подинтерфейс либо выбираем пункт New Device при создании нового:

И настраиваем его по своему усмотрению:

Незабываем сохраняться, после чего перезагружаем сетевую службу:

Источник

Несколько IP адресов на одном сетевом интерфейсе

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

Примеры, опубликованные здесь актуальны для дистрибутивов Red Hat, Fedora и CentOS. Мы рассмотрим несколько способов конфигурирования сетевых интерфейсов, и IP адреса у нас будут использованы из локальной сети. Вам же будет необходимо поменять значения адресов на свои.

Создание виртуальных интерфейсов, а так же использование нескольких IP адресов.
В нашем примере мы используем интерфейс «ifcfg-eth0», в качестве интерфейса по умолчанию. Если вы хотите добавить второй Ethernet интерфейс, то вам следует создать файл конфигурации с именем «ifcfg-eth1». Файлы конфигурации сетевых интерфейсов размещаются по пути /etc/sysconfig/network-script/. Давайте пройдем в данную директорию, и просмотрим список файлов.

Здесь всё просто, мы проходим с помощью команды cd в указанную директорию, затем просматриваем содержимое с помощью команды «ls -l».

В результате, если всё сделано правильно, мы получаем вывод примерно такого содержания:

Предположим нам необходимо добавить к существующему IP адресу, ещё три дополнительных, пусть это будет 172.16.16.126, 172.16.16.127 и 172.16.16.128. Для этого нам нужно добавить дополнительные файлы конфигурации по каждому на каждый виртуальный интерфейс. Таким образом, файл «ifcfg-eth0» будет файлом конфигурации для основного IP-адреса. Для IP-адресов псевдонимов мы создаем дополнительные файлы, выглядеть это будет так:

Значение «:N» обозначает номер интерфейса созданного нами интерфейса алиаса, к интерфейсу eth0. Нумерацию интерфейсов следует сделать последовательной, т.е. получается ifcfg-eth0:0, ifcfg-eth0:1, ifcfg-eth0:2. Сделать это просто, посредством копирования из основного конфигурационного файла.

Читайте также:  При установке windows 10 файлы сохраняются

Если мы откроем файл «ifcfg-eth0» то увидим следующее содержимое

Здесь нас интересуют два параметра DIVECE и IPADDR. Таким образом, откройте каждый из файлов конфигурации (сделать это можно через редактор VI), и отредактируйте эти параметры. DEVICE – имя устройства, задайте его уникальным, у каждого интерфейса он будет свой. IPADDR – IP адрес интерфейса. В конечном итоге, файлы конфигурации будут выглядеть таким образом:

Ifcfg-eth0:0

Ifcfg-eth0:1

Ifcfg-eth0:2

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

После перезапуска сетевого интерфейса мы можем проверить применение новых параметров, посредством команды «ifconfig». С другой машин вы так же можете проверить работы посредством утилиты Ping (о ней наверняка вы уже знаете).
Использование диапазона IP адресов
Еще один не менее полезный способ конфигурации виртуального интерфейса – это если вы используете диапазон IP адресов. В этом случае вам не придется плодить файлы конфигурации на каждый виртуальный интерфейс по отдельности, а достаточно создать один дополнительный, задав ему имя как «ifcfg-eth0-range0». Для его быстрого создания вы так же можете скопировать файл конфигурации основного интерфейса «ifcfg-eth0».

В новом файле конфигурации «ifcfg-eth0-range0» нам потребуется задать два параметра, «IPADDR_START» и «IPADDR_END». Как вы уже наверное догадались это начало и конец диапазон адресов, кроме того в файле конфигурации необходимо закомментировать параметры DEVICE, BOOTPROTO, и т.д. см. ниже.

Как и в предыдущем примере перезапускаем конфигурацию после внесений изменений.

Осталось проверить, всё ли сделано правильно, опять же смотрим ifconfig а так же пробуем пинговать с других машин. На это всё, успехов!

Источник

Дополнительный ip для интерфейса (IP alias) в Linux

Сегодня рассмотрим как привязать несколько ip-адресов к одному сетевому интерфейсу, без использования vlan, т.е. создать несколько виртуальных интерфейсов, еще их называют IP alias.

Данная задача решается в ОС Linux (Linux Mint, Debian, Ubuntu, xUbuntu) двумя способами: использованием утилиты ifconfig и редактированием файла etc/network/interfaces .

Устанавливаем несколько ip адресов на один интерфейс Debian/Ubuntu

Установка алиас на сетевой интерфейс enp0s3 с использованием утилиты ifconfig.

Для добавления алиаса на наш интерфейс в терминале вводим команду:

либо с дефолтной маской

Помните: после перезагрузки добавленные виртуальные alias ip-адреса через команду ifconfig слетят.

Удалить alias ip-адреса в Linux через утилиту ifconfig

Для удаления ранее созданного алиас интерфейса enp0s3:0 воспользуемся следующей командой:

Установка алиас на сетевой интерфейс enp0s3 с использованием файла конфигурации.

Для добавления алиас IP-адресов с использованием файла конфигурации, откроем файл interfaces

Внесём наши дополнительные IP-адреса для интерфейса enp0s3

Теперь при загрузке системы интерфейсы enp0s3:0 и enp0s3:1 будут автоматически добавлены.

Вот и все. Аналогичным образом можно добавить и другие виртуальные ip-адреса на сетевую карту в ОС Linux Mint, Debian, Ubuntu.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Читайте также:  Драйвер не имеет цифровой подписи windows 10

Zone PC

Несколько IP адресов на одном интерфейсе

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

Настойка в Debian/Ubuntu

Откроем файл /etc/network/interfaces и пишем туда:

Чтобы применить изменения перезапускаем сетевую службу:

В результате получим три IP адреса на одной сетевой карте.

Настройка в RHEL/CentOS/Fedora

Чтобы назначить второй IP адрес на интерфейс, нужно создать файл /etc/sysconfig/network-scripts/ifcfg-eth0:0 следующего содержания:

Если необходимо создать группу сетевых алиасов, то можно создать файл /etc/sysconfig/network-scripts/ifcfg-eth0-range0 следующего содержания:

Будут созданы 10 сетевых алиасов от eth0:5 — eth0:15 и ip адресами от 192.168.0.11 до 192.168.0.21

И применяем изменения:

Теперь если набрать команду:

То увидим новые интерфейсы с IP адресами.

Поделиться ссылкой:

4 комментария

после добавления em1:0 ifconfig показывает это

em1: flags=4163 mtu 1500
inet x.x.x.90 netmask 255.255.255.0 broadcast x.x.x.255
inet6 xxx::xxx:xxx:xxx:c3f5 prefixlen 64 scopeid 0x20
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 23011 bytes 14772354 (14.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9914 bytes 1317663 (1.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 1130 bytes 90384 (88.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1130 bytes 90384 (88.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

т.е. тоже самое что и до добавления, единственно что поменялось — появилась возможность включать вручную через сетевого менеджера вторую настройку em1:0

ifconfig после переключения показывает всё тоже самое только с другим ip указанным в файле em1:0 — x.x.x.91

ВОПРОС как одновременно включить эти сети на одной сетевой карте, что ещё нужно сделать для этого, потому что сейчас они работают только по очереди и на одном интерфейсе em1, хотя в файле строчка DEVICE=em1:0 присутствует

цитата:
»
Теперь если набрать команду:

ifconfig
То увидим новые интерфейсы с IP адресами.

»
вот что показывает… ip никакого нет только mac:

[root@localhost roma]# ifconfig em1:0
em1:0: flags=4163 mtu 1500
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
device interrupt 19

Проверьте ещё раз имена файлов с настройками они должны начинаться с ifcfg-* и получиться примерно так:
/etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.90
NETMASK=255.255.255.0

/etc/sysconfig/network-scripts/ifcfg-em1:0
DEVICE=em1:0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.91
NETMASK=255.255.255.0

перезапускать наверно нужно сервер — а то говорят на дебиане может все зависнуть и вообще вот так
service MySQL stop
reboot
а то у меня было дело тяжелая таблица крякнула при просто перезагрузке.

Если через SSH сидеть тогда да сеть отвалится и сама не поднимиться и тут проще ребут делать. А если локально настраивать то можно просто демона сети перезапустить это быстрее. Debian при нормальном ребуте должен сам останавливать всех демонов включая MySQL, обычно базы ломаются при отключении электричества или когда винчестер начинает сыпаться. Хотя если база очень важная тогда да лучше перестраховаться сделать резервную копию и вручную остановить. При любой перезагрузке есть вероятность что что то сломается программно или железно.

Источник

Оцените статью