- Второй ip-адрес на сетевом интерфейсе в Linux
- Использование команды ifconfig
- Использование команды ip
- Добавить постоянный IP-адрес
- Два Ip адреса на сетевой карте в Linux
- Первый способ как добавить дополнительный второй IP адрес сетевой карте в Linux
- Второй способ настройки дополнительного IP адреса на сетевой карте в Linux
- Третий способ как назначить дополнительный адрес сетевой карте
- Как создать два IP адреса на одном интерфейсе в Debian
- Настройка нескольких IP адресов на одном интерфейсе
- Пояснения по настройке
Второй ip-адрес на сетевом интерфейсе в Linux
Понадобилось добавить второй ip-адрес сетевой карте. В Windows это сделать очень просто, поэтому останавливаться не будем. Как это делается в Linux?
Добавим сетевому интерфейсу eth0 адрес 192.168.100.99 и рассмотрим, как это сделать в основных версиях ОС Linux.
Использование команды ifconfig
Если вы хотите добавить IP-адрес к сетевой плате, уже используемой в Linux, и это изменение является временным, ведите эту команду:
ifconfig [nic]:0 [IP-Address] netmask [mask] up
ifconfig eth0:0 192.168.100.99 netmask 255.255.255.0 up
Использование команды ip
ip address add [ip]/[mask-digits] dev [nic]
ip address add 192.168.100.99/24 dev eth0
Добавить постоянный IP-адрес
Для систем Ubuntu/Debian отредактируйте файл /etc/network/interfaces
auto eth0:1 iface eth0:1 inet static address 192.168.100.99 gateway 192.168.100.1 netmask 255.255.255.0
Вы можете добавить столько блоков, сколько хотите. Просто измените eth0:1 на eth0:2, eth0:3 и так далее.
Добавить второй IP-адрес в RedHat/CentOS
В этих операционных системах настройки каждого сетевого интерфейса находятся в своем отдельном файле и хранятся в директории /etc/sysconfig/network-scripts. Если зайти в этот каталог, то мы увидим там вот такие файлы: ifcfg-eth0, ifcfg-eth1 и т.д.
Если мы хотим добавить еще один адрес для eth0, создадим файл ifcfg-eth0:1 с примерно таким содержанием:
REALDEVICE=eth0 BOOTPROTO=static IPADDR=192.168.100.99 NETMASK=255.255.255.0 ONBOOT=yes
Два Ip адреса на сетевой карте в Linux
Иногда возникает необходимость привязать несколько IP адресов к одному сетевому адаптеру. Как оказалось в Linux сделать это очень просто.
В предыдущей статье я писал как настроить сетевую карту используя только консоль в линукс, а конкретно в CentOS. Так вот, настройка дополнительных IP адресов производится теме же командами и способами. С той лишь разницей, что настраивать мы будем уже не саму сетевую карту, а ее подинтерфейс(ы). Иными словами у сетевой карты будет основной адрес и один или несколько дополнительных.
Первый способ как добавить дополнительный второй IP адрес сетевой карте в Linux
Чтобы добавить второй адрес сетевому адаптеру достаточно выполнить команду:
# ifconfig eth0:0 XXX.XXX.XXX.XXX netmask YYY.YYY.YYY.YYY
где YYY.YYY.YYY.YYY — маска сети
XXX.XXX.XXX.XXX — дополнительный IP адрес
а eth0:0 — имя подинтерфейса. Которое состоит из имени сетевого адаптера и номера дополнительного подинтерфейса.
К примеру если мы введем команды:
# ifconfig eth0 172.16.254.33 netmask 255.255.255.0 # ifconfig eth0:0 10.44.225.230 netmask 255.255.255.252
то есть настроим основной адрес и второй дополнительный, то получим примерно следующий результат:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:172.16.254.33 Bcast:172.16.254.255 Mask:255.255.255.0 inet6 addr: fe80::222:4dff:fea1:b55f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:671877 errors:0 dropped:0 overruns:0 frame:0 TX packets:90532 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:93680865 (89.3 MiB) TX bytes:35292110 (33.6 MiB) Interrupt:16 Memory:80120000-80140000 eth0:0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:10.44.225.230 Bcast:10.44.225.231 Mask:255.255.255.252 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 Memory:80120000-80140000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:62211 errors:0 dropped:0 overruns:0 frame:0 TX packets:62211 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5696370 (5.4 MiB) TX bytes:5696370 (5.4 MiB)
Естественно, что подинтерфейсов может быть несколько, соответственно может быть несколько дополнительных IP адресов на одной сетевой карте.
Второй способ настройки дополнительного IP адреса на сетевой карте в Linux
Второй способ — это редактирование конфигурационных файлов. Но теперь уже не для сетевого адаптера, а для его подинтерфейсов. Система имен которых строится по тем же принципам. То есть для подинтерфейса eth0:0 имя файла будет /etc/sysconfig/network-scripts/igcfg-eth0:0
И в моем случае будет иметь следующее содержание:
# cat /etc/sysconfig/network-scripts/igcfg-eth0:0 DEVICE=eth0:0 BOOTPROTO=none NETMASK=255.255.255.252 TYPE=Ethernet IPADDR=10.44.225.230 IPV6INIT=no USERCTL=no
При необходимости его нужно отредактировать, к примеру так:
# nano /etc/sysconfig/network-scripts/igcfg-eth0:0
После чего перезапустите сетевые службы:
и убедитесь, что все работает:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:172.16.254.33 Bcast:172.16.254.255 Mask:255.255.255.0 inet6 addr: fe80::222:4dff:fea1:b55f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:673649 errors:0 dropped:0 overruns:0 frame:0 TX packets:90795 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:93846686 (89.4 MiB) TX bytes:35395290 (33.7 MiB) Interrupt:16 Memory:80120000-80140000 eth0:0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:10.44.225.230 Bcast:10.44.225.231 Mask:255.255.255.252 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 Memory:80120000-80140000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:62273 errors:0 dropped:0 overruns:0 frame:0 TX packets:62273 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5702293 (5.4 MiB) TX bytes:5702293 (5.4 MiB)
Третий способ как назначить дополнительный адрес сетевой карте
Воспользуемся уже знакомой нам утилитой system-config-network-tui
Выбираем пункт настройки адаптеров:
Выбираем необходимый нам подинтерфейс либо выбираем пункт New Device при создании нового:
И настраиваем его по своему усмотрению:
Незабываем сохраняться, после чего перезагружаем сетевую службу:
и проверяем, что все работает:
Как создать два IP адреса на одном интерфейсе в Debian
Причин для нескольких IP адресов на одном физическом порту Ethernet может быть несколько. В этой статье я напишу как это реализовать на примере Debian 10.
Когда-то я уже писал как это сделать на примере Centos — https://moonback.ru/page/2ip-linux.
Настройка нескольких IP адресов на одном интерфейсе
Все действия необходимо проводить в консоли от имени Администратора (root).
Для достижения положительного результата необходимо внести изменения в файл /etc/network/interfaces.
По-умолчанию в нем содержатся следующие строки:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enp1s0 iface enp1s0 inet dhcp
Добавим в конец файла необходимые настройки. У меня пример готового файла для двух статический и одного динамического (адрес получаем по DHCP) адресов.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enp1s0 iface enp1s0 inet dhcp auto enp1s0:0 iface enp1s0:0 inet static address 192.168.49.2 netmask 255.255.255.0 auto enp1s0:1 iface enp1s0:1 inet static address 172.16.254.11 netmask 255.255.255.0
Далее перезагружаем сеть и проверяем, что все работает:
# service networking restart
Пояснения по настройке
В моем примере типовая настройка ethernet интерфейса остается без изменения. То есть компьютер получает адрес по DHCP.
Далее я добавляю два подинтерфейса enp1s0:0 и enp1s0:1 со статической адресацией.
В моем примере нет параметра шлюза по-умолчанию gateway. Предполагается, что компьютер его получает по DHCP. При необходимости вы можете прописать его в ручную для одного из (под)интерфейсов:
Следует помнить, что в системе может быть только один шлюз по-умолчанию.
Все адреса в примере нужно заменить на свои.