Linux добавить ip для интерфейса

Содержание
  1. Администрирование систем Linux. Добавление IP-адресов и связывание сетевых интерфейсов
  2. Глава 24. Добавление IP-адресов и связывание сетевых интерфейсов
  3. 24.1. Добавление IP-адресов сетевых интерфейсов в дистрибутивах Red Hat/Fedora
  4. 24.2. Добавление IP-адресов сетевых интерфейсов в дистрибутивах Debian/Ubuntu
  5. 24.3. Связывание сетевых интерфейсов в дистрибутивах RedHat/Fedora
  6. 24.4. Связывание сетевых интерфейсов в дистрибутивах Debian/Ubuntu
  7. 24.5. Практическое задание: добавление IP-адресов и связывание сетевых интерфейсов
  8. 24.6. Корректная процедура выполнения практического задания: добавление IP-адресов и связывание сетевых интерфейсов
  9. Несколько IP-адресов на одном сетевом адаптере в CentOS
  10. Принцип настройки
  11. Разовая настройка (командой)
  12. Постоянная настройка
  13. Настройка отвечающего интерфейса
  14. Как из консоли в Linux добавить второй IP-адрес?
  15. Установка
  16. Добавить второй IP-адрес в RedHat/CentOS/ASPLinux и т.д.
  17. Добавить второй IP-адрес в Debian/Ubuntu и т.д.
  18. Комментарии
  19. Настройка сети с помощью утилиты ip в Debian linux
  20. Синтаксис
  21. Понимание синтаксиса OBJECTS в комманде ip
  22. Примеры использования команды ip
  23. Показать информацию обо всех сетевых интерфейсах
  24. Назначить интерфейсу IP адрес
  25. Добавить широковещательный адрес на интерфейс
  26. Удалить IP адрес с интерфейса
  27. Сбросить ряд IP адресов с интерфейса
  28. Как изменить состояние интерфейса на UP или DOWN
  29. Как изменить txqueuelen устройства
  30. Как изменить MTU устройства
  31. Показать соседей (arp кэш)
  32. Добавить новую ARP запись
  33. Удалить ARP запись
  34. Очистить ARP запись
  35. ip route: команды управления таблицей маршрутизации
  36. Показать таблицу маршрутизации
  37. Добавить новый маршрут
  38. Удалить маршрут

Администрирование систем Linux. Добавление IP-адресов и связывание сетевых интерфейсов

Глава 24. Добавление IP-адресов и связывание сетевых интерфейсов

Иногда приходится использовать более одного IP-адреса при работе с одной сетевой картой, причем в этом случае говорят о добавлении IP-адресов сетевого интерфейса (binding IP addresses).

Ядро Linux также может активировать множество сетевых карт, использующих один и тот же IP-адрес , причем данная технология называется связыванием сетевых интерфейсов (bonding).

В данной главе описываются процессы добавления IP-адресов и связывания сетевых интерфейсов в наиболее популярных дистрибутивах Linux.

24.1. Добавление IP-адресов сетевых интерфейсов в дистрибутивах Red Hat/Fedora

24.1.1. Добавление дополнительных IP-адресов

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

24.1.2. Активация дополнительных IP-адресов

Для активации виртуального сетевого интерфейса следует использовать утилиту ifup , для его деактивации — утилиту ifdown .

24.1.3. Проверка корректности добавления дополнительных IP-адресов

Для проверки корректности добавления и активации дополнительных IP-адресов сетевого интерфейса следует либо использовать утилиту ping на другом компьютере, либо использовать утилиту ifconfig таким образом, как показано в примере ниже.

24.2. Добавление IP-адресов сетевых интерфейсов в дистрибутивах Debian/Ubuntu

24.2.1. Добавление дополнительных IP-адресов

Указание дополнительных IP-адресов для одной и той же сетевой карты осуществляется в рамках файла конфигурации /etc/network/interfaces путем добавления устройств с именами eth0:x . Кроме того, при редактировании данного файла конфигурации обязательно указание масок сетей сетевых интерфейсов.

24.2.2. Активация дополнительных IP-адресов

Используйте утилиту ifup для активации дополнительных IP-адресов.

24.2.3. Проверка корректности добавления дополнительных IP-адресов

Для проверки корректности добавления и активации дополнительных IP-адресов следует либо использовать утилиту ping с другого компьютера, либо использовать утилиту ifconfig таким образом, как показано в примере ниже.

24.3. Связывание сетевых интерфейсов в дистрибутивах RedHat/Fedora

Начнем с выполнения команды ifconfig -a для получения списка всех сетевых карт, установленных в компьютере.

В данном примере мы будем связывать сетевые интерфейсы eth1 и eth2 .

Назовем нашу связку сетевых интерфейсов bond0 и добавим это название в файл конфигурации утилиты modprobe для того, чтобы ядро ОС автоматически загружало модуль bonding в момент, когда мы будем активировать соответствующий сетевой интерфейс.

После этого мы должны будем создать файл конфигурации /etc/sysconfig/network-scripts/ifcfg-bond0 для сохранения параметров конфигурации нашего сетевого интерфейса bond0 .

На следующем этапе мы должны будем создать два файла конфигурации, по одному для каждой сетевой карты, используемой для создания виртуального сетевого интерфейса bond0 .

Наконец, мы активируем сетевой интерфейс с помощью команды ifup bond0 .

Информация о виртуальном сетевом интерфейсе bond0 также будет присутствовать в одноименном файле из директории /proc/net/bonding .

24.4. Связывание сетевых интерфейсов в дистрибутивах Debian/Ubuntu

Начнем с выполнения команды ifconfig -a для получения списка всех сетевых карт, установленных в компьютере.

В данном примере мы будем связывать сетевые интерфейсы eth1 и eth2 .

Читайте также:  Setup microsoft windows server 2012

Также нам придется установить пакет программного обеспечения ifenslave .

После этого нам придется отредактировать файл конфигурации /etc/network/interfaces , добавив в него информацию о виртуальном сетевом интерфейсе bond0 .

В более старых версиях дистрибутивов Debian/Ubintu вам придется вручную выполнить команду modprobe bonding , но в современных версиях данных дистрибутивов этого уже не требуется. Используйте утилиту ifup для активации сетевого интерфейса и проверьте его работоспособность.

Информация о виртуальном сетевом интерфейсе bond0 также будет присутствовать в одноименном файле из директории /proc/net/bonding/ .

24.5. Практическое задание: добавление IP-адресов и связывание сетевых интерфейсов

1. Свяжите дополнительный IP-адрес с одной из ваших сетевых карт. Проверьте его работоспособность (может ли ваш сосед использовать данный IP-адрес для входа в вашу систему с использованием протокола ssh)!

2. Используйте утилиту ifdown для деактивации данного IP-адреса .

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

4. Добавьте дополнительную сетевую карту (или две) в вашу виртуальную машину и используйте информацию из теоретической части главы для связывания двух сетевых карт .

24.6. Корректная процедура выполнения практического задания: добавление IP-адресов и связывание сетевых интерфейсов

1. Свяжите дополнительный IP-адрес с одной из ваших сетевых карт. Проверьте его работоспособность (может ли ваш сосед использовать данный IP-адрес для входа в вашу систему с использованием протокола ssh)!

В дистрибутивах RedHat/Fedora:

Следует добавить файлы конфигурации /etc/sysconfig/network-scripts/ifcfg-ethX:X , содержащие описания виртуальных сетевых интерфейсов, таким образом, как показано в теоретической части главы.

В дистрибутивах Debian/Ubuntu:

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

2. Используйте утилиту ifdown для деактивации данного IP-адреса .

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

4. Добавьте дополнительную сетевую карту (или две) в вашу виртуальную машину и используйте информацию из теоретической части главы для связывания двух сетевых карт .

В дистрибутивах RedHat/Fedora:

Следует добавить в директорию /etc/sysconfig/network-scripts файлы ifcfg-ethX и ifcfg-bondX , заполненные таким образом, как показано в теоретической части главы. Также не забудьте о необходимости редактирования файла конфигурации утилиты modprobe .

В дистрибутивах Debian/Ubuntu:

Следует модифицировать файл /etc/network/interfaces таким образом, как показано в теоретической части главы. Не забудьте о необходимости установки пакета программного обеспечения ifenslave .

Источник

Несколько 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

Читайте также:  Physical memory dump complete синий экран windows

Источник

Как из консоли в Linux добавить второй IP-адрес?

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

В Linux, также как и в Windows добавить ip адрес очень просто. Давайте не будем откладывать это в долгий ящик и прямо сейчас всё сделаем.

Установка

Чтобы не лить много воды, хочу сразу разделить все операционные системы Linux на 2 условные группы: основанные на RedHat (Fedore, CentOS, ASPL inux и так далее) и все остальные. Такое условное разделение на группы здесь не случайно, так как у RedHat и похожих на него операционных систем, есть одно явное отличие в настройке сетевых интерфейсов. У обычных Linux систем (вторая группы) все настройки сетевых интерфейсов, кроме исполняемых скриптов, лежат в /etc/network/, а у RedHat они исторически размещаются в /etc/sysconfig/network-scripts. Синтаксис и структура конфигурационных файлов также сильно отличается.

Добавить второй IP-адрес в RedHat/CentOS/ASPLinux и т.д.

В этих ОС конфигурации каждого интерфейса отведен отдельный файл. Если открыть директорию /etc/sysconfig/network-scripts, то можно их увидеть. Они имеют вид ifcfg-eth0, ifcfg-eth1 и т.д.

Чтобы добавить к существующему интерфейсу еще 1 IP-адрес, нам нужно создать новый файл ifcfg-eth0:1 с новыми настройками:

и в него поместить код:

Адрес и маска у Вас конечно же должны быть свои.

Добавить второй IP-адрес в Debian/Ubuntu и т.д.

Для этого необходимо открыть конфиг. /etc/network/interfaces :

В нем скорее всего будут уже настройки вашего интерфейса eth0. На моем подопытном сервере было так: Для того, чтобы у этого интерфейса появился дополнительно второй IP-адрес, наш конфигурационный файл должен выглядеть так:

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

Комментарии

Здравствуйте, Иван. Я – ваш коллега, администратор сайта http://litl-admin.ru. Хотел бы обменяться ссылками с вашим сайтом. E-mail для связи у вас есть! информация об обмене у меня на сайте в разделе “Обмен ссылками”

Скажите как такая настройка работает , стабильно ? То есть имеется ввиду при одновременном обращении клиентов из разных подсетей.

Источник

Настройка сети с помощью утилиты ip в Debian linux

Команда ip используется для назначения адреса сетевому интерфейсу и/или конфигурирования параметров сетевого интерфейса в дистрибутивах Linux. Эта команда заменяет собой старую добрую и ныне устаревшую команду ifconfig в современных дистрибутивах Linux.

Команда ip может использоваться для следующих целей:

  • Узнать какие интерфейсы сконфигурированы в системе.
  • Запросить статус IP интерфейса.
  • Сконфигурировать локальный, Ethernet и другие интерфейсы.
  • Пометить интефейс как up или down.
  • Сконфигурировать или изменить статическую маршрутизацию или маршрутизацию по умолчанию.
  • Сконфигурировать туннель через IP.
  • Сконфигурировать содержимое ARP или NDISC кэша.
  • Назначить IP адресы, маршруты, подсети и другую IP информацию на интерфейс.

Синтаксис

Понимание синтаксиса OBJECTS в комманде ip

OBJECTS может быть одним из следующих и может записываться в полной или сокращенной форме:

Объект Сокращенная форма Задача
link l Сетевое устройство.
address a, addr IP адрес на устройстве.
addrlabel addrl Управление метками для выбора адреса.
neighbour n, neigh Записи для ARP или NDISC кэшей.
route r Управление записямя таблицы маршрутизации.
rule ru Правила в базе политик маршрутизации.
maddress m, maddr Мультикаст адрес.
mroute mr Записи мультикастового кэша маршрутизации.
tunnel t Туннель через IP.
xfrm x Фреймворк для протокола IPsec.

Чтобы получить информацию о каждом из объектов используйте команду help следующим образом:

Предупреждение : команды описанные ниже должны выполняться с осторожностью, так как ошибка может привести к потере соединения с сервером. Вы должны быть особо аккуратны при работе в удаленной сессии по ssh.

Примеры использования команды ip

Не пугайтесь синтаксиса команды ip. Давайте сразу начнем с примеров.

Показать информацию обо всех сетевых интерфейсах

Введите следующую команду чтобы получить список всех ip адресов назначенных всем сетевым интерфейсам:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:
mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8b:46:9a brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe8b:469a/64 scope link
valid_lft forever preferred_lft forever

Вы можете выбрать между IPv4 и IPv6 используя следующий синтаксис:

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

Назначить интерфейсу IP адрес

Для того чтобы добавить IP адрес используется синтаксис следующего вида:

Чтобы назначить адрес 192.168.1.200/255.255.255.0 на интерфейс eth0, введите:

Добавить широковещательный адрес на интерфейс

По умолчанию, команда ip не задает какой-либо широковещательный адрес до тех пор, пока это будет недвусмысленно указано. Таким образом следующий синтаксис задает широковещательный адрес ADDRESS:

Существует возможность использовать специальные символы + и — вместо широковещательного адреса указывая хостовую часть адреса. В этом примере добавим адрес 192.168.1.50 с маской 255.255.255.0 (/24) со стандартным широковещательным адресом и зададим название eth0Work на интерфейс eth0:

Вы можете задать лупбек адрес на лупбек интерфейсе lo следующим образом:

Удалить IP адрес с интерфейса

Синтаксис для удаления IPv4/IPv6 адреса следующий:

Чтобы удалить 192.168.1.200/24 с интерфейса eth0, введите:

Сбросить ряд IP адресов с интерфейса

Вы можете удалять IP адреса с интерфейса по одному, как показано выше. Однако команда flush может удалить набор адресов с интерфейса по указанному признаку. Например, вы можете удалить все адреса из частной сети 192.168.2.0/24 с помощью команды:

2: eth0 inet 192.168.2.201/24 scope global secondary eth0
2: eth0 inet 192.168.2.200/24 scope global eth0
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***

Вы можете выключить IP адрес на всех ppp (Point-to-Point) интерфейсах:

Еще один пример для всех Ethernet интерфейсов:

Как изменить состояние интерфейса на UP или DOWN

К примеру, чтобы положить интерфейс eth1, используйте:

А чтобы поднять этот же интерфейс:

Как изменить txqueuelen устройства

Вы можете установить длину очереди передачи устройства с помощью ifconfig или команды ip следующим образом:

В этом примере изменим txqueuelen со значения по умолчанию, равного 1000, на 10000 для интерфейса 10000:

Как изменить MTU устройства

Для гигабиных сетей вы можете установить максимальный размер блоков передачи (MTU) для лучшей производительности сети. Синтаксис следующий:

Например, установим MTU устройства eth0 на 9000:

2: eth0: mtu 9000 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth1
inet6 fe80::208:9bff:fec4:3030/64 scope link
valid_lft forever preferred_lft forever

Показать соседей (arp кэш)

Пример вывода (часть информации скрыта):

74.xx.yy.zz dev eth1 lladdr 00:30:48:yy:zz:ww REACHABLE
10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
74.ww.yyy.xxx dev eth1 lladdr 00:1a:30:yy:zz:ww REACHABLE
10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
74.fff.uu.cc dev eth1 lladdr 00:30:48:yy:zz:ww STALE
74.rr.ww.fff dev eth1 lladdr 00:30:48:yy:zz:ww DELAY
10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE

Последнее поле показывает состояние системы «определения недоступности соседа»:

  • STALE — сосед существует, но, скорее всего недоступен, поэтому ядро попробует проверить это при первой ближайшей передаче.
  • DELAY — пакет был отправлен соседу в состоянии STALE и ядро ждет подтверждения.
  • REACHABLE — сосед существует и определенно доступен.

Добавить новую ARP запись

Например, добавить постоянную ARP запись для соседа 192.168.1.5 на устройстве eth0:

Состояние соседа Значение
permanent Состояние соседа занято навсегда и может быть удалено только администратором.
noarp Состояние соседа валидно. Попыток проверить состояние не будет, но может быть удалено, когда закончится время жизни.
stale Состояние соседа валидно, но подозрительно. Эта опция для ip neigh не меняет состояние соседа, если оно было валидно и адрес не был изменен этой командой.
reachable Состояние соседа валидно до окончания таймаута доступности.

Удалить ARP запись

Удалить запись для соседа 192.168.1.5 на интерфейсе eth1:

Изменить состояние на reachable для соседа 192.168.1.100 на устройстве eth1:

Очистить ARP запись

Команда flush или f очищает таблицы соседей или arp таблицы. Синтаксис:

ip route: команды управления таблицей маршрутизации

Используйте следующие команды для управления таблицей маршрутизации ядра.

Показать таблицу маршрутизации

Посмотреть таблицу маршрутизации:

Показать роутинг для 192.168.1.0/24:

192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10

Добавить новый маршрут

Добавить статический маршрут в сеть 192.168.1.0/24 через шлюз 192.168.1.254:

Чтобы маршрутизировать весь трафик через шлюз 192.168.1.254 подключенный через сетевой интерфейс eth0:

Удалить маршрут

Команда чтобы удалить маршрут по умолчанию:

В этом примере удалим маршрут созданный в предыдущем блоке:

Источник

Читайте также:  Gnome для windows рабочий стол
Оцените статью