Несколько 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-адресов на одном интерфейсе в Ubuntu
Сегодня рассмотрим настройку нескольких IP-адресов на одном интерфейсе в Ubuntu | Debian.
Для того чтобы в Ubuntu заработало несколько сетей всего лишь на одном физическом интерфейсе, необходимо отредактировать конфигурационный файл предназначенный для настройки сети.
В разных версиях дистрибутива за это отвечают разные файлы.
Настройка нескольких IP-адресов на одном интерфейсе в Ubuntu | Linux Mint.
В младших версия дистрибутивов за настройку отвечает конфигурационный файл /etc/network/interfaces. Для его редактирования воспользуемся редактором nano. В терминале набираем следующее:
этой командой смотрим какие в системе есть интерфейсы, у меня вывод команды выдает такой результат:
Мой интерфейс в системе под именем enp3s0.
Настройка нескольких IP-адресов в старших версиях Ubuntu.
Теперь когда мы знаем название интерфейса можно приступать к редактированию нашей сети. Открываем конфигурационный файл сети:
- address — IP адрес вашего интерфейса в подсети;
- netmask — маска подсети;
- gateway — маршрут по умолчанию (IP адрес роутера). Указывается только один раз;
- network — IP адрес подсети;
- dns-nameservers — IP адрес DNS сервера, если есть свой DNS сервер, то указываем его, иначе опцию можно неписать или указать например 8.8.8.8 — DNS от googla.
- dns-search — в какой DNS зоне искать в первую очередь, если у вас есть свой DNS сервер и настроенная зона, то указываем свою зону, иначе опцию можно не писать.
В примере показано две подсети. В первой подсети подключаемся к роутеру, а во второй выступаем в качестве него.
Чтобы настроить собственный DNS сервер, а также превратить ваш дистрибутив в роутер, который смог бы назначать IP-адреса всем ПК в сети и раздавать интернет всем пользователям, советую почитать данную статью — Настройка DNS + DHCP + NAT на Ubuntu
Теперь необходимо перезагрузить сервис :
Проверить наличие нескольких ip-адресов вы можете командой:
Настройка нескольких IP на одном интерфейсе в Ubuntu 18.04 | Linux Mint 19
Чтобы настроить нескольких IP-адресов на одном интерфейсе в Ubuntu 18.04 | Linux Mint 19 воспользуемся терминалом и отредактируем следующий файл:
- routes — Если у вас должно быть несколько маршрутов для отдельных IP-адресов интерфейса, вы можете точно контролировать, как они будут себя вести, написав статические маршруты (с установкой метрик на основе приоритета IP сетей)
- metrica — ставится значение от 0 до 255. Чем ниже значение, тем приоритетней будет маршрут. Например маршрутизатор с IP-адресом 10.5.5.1 в вашей сети раздаёт интернет, ваш IP-адрес 10.5.5.2 — назначая метрику 100, как у нас в примере, мы отправляем все пакеты по умолчанию (предназначенные не нашим сетям) в сеть 10.5.5.0 для их обработки роутером.
Если есть вопросы, то пишем в комментариях.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
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:
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, обычно базы ломаются при отключении электричества или когда винчестер начинает сыпаться. Хотя если база очень важная тогда да лучше перестраховаться сделать резервную копию и вручную остановить. При любой перезагрузке есть вероятность что что то сломается программно или железно.
Второй ip-адрес на сетевом интерфейсе в Linux
Понадобилось добавить второй ip-адрес сетевой карте. В Windows это сделать очень просто, поэтому останавливаться не будем. Как это делается в Linux?
Добавим сетевому интерфейсу eth0 адрес 192.168.100.99 и рассмотрим, как это сделать в основных версиях ОС Linux.
Использование команды ifconfig
Если вы хотите добавить IP-адрес к сетевой плате, уже используемой в Linux, и это изменение является временным, ведите эту команду:
Использование команды ip
Добавить постоянный IP-адрес
Для систем Ubuntu/Debian отредактируйте файл /etc/network/interfaces
Вы можете добавить столько блоков, сколько хотите. Просто измените eth0:1 на eth0:2, eth0:3 и так далее.
Добавить второй IP-адрес в RedHat/CentOS
В этих операционных системах настройки каждого сетевого интерфейса находятся в своем отдельном файле и хранятся в директории /etc/sysconfig/network-scripts. Если зайти в этот каталог, то мы увидим там вот такие файлы: ifcfg-eth0, ifcfg-eth1 и т.д.
Если мы хотим добавить еще один адрес для eth0, создадим файл ifcfg-eth0:1 с примерно таким содержанием: