Linux вывести настройки сети

Команда IP в Linux: руководство с примерами

img

Команда ip — это сетевой инструмент Linux для системных и сетевых администраторов. IP означает Интернет-протокол и, как следует из названия, инструмент используется для настройки сетевых интерфейсов. В старых дистрибутивах Linux использовалась команда ifconfig, которая работает аналогично. Однако ifconfig имеет ограниченный диапазон возможностей по сравнению с командой ip.

В этом руководстве мы рассмотрим все важные операции, которые команда ip может выполнять в Linux.

Команда IP в Linux

Как использовать команду ip

Команда ip имеет следующий синтаксис:

К объектам OBJECT (или подкомандам), которые вы будете использовать чаще всего, относятся:

  1. link (l) — используется для отображения и изменения сетевых интерфейсов
  2. address (addr/a) — используется для отображения и изменения адресов протокола (IP, IPv6)
  3. route (r) — используется для отображения и изменения таблицы маршрутизации
  4. neigh (n) — используется для отображения и управления соседними объектами (таблица ARP)

Они могут использоваться как в полной, так и сокращенной форме.

Есть много других доступных объектов и команд. Чтобы увидеть полный список, введите следующую команду:

ip help

Для выполнения команд вы можете использовать либо полную, либо сокращенную формы. Например, ip link и ip l будут давать одинаковые результаты.

При настройке сетевых интерфейсов вы должны запускать команды как пользователь root или пользователь с привилегиями sudo. В противном случае вы увидите сообщение RTNETLINK answers: Operation not permitted

Предупреждение: по умолчанию система не сохраняет изменения перманентно. После перезапуска Linux-сервера вновь измененное состояние будет потеряно. Есть два способа сделать ваши настройки постоянными: добавить команды в сценарий запуска или отредактировать дистрибутивные файлы конфигурации.

Управление и отображение сетевых интерфейсов

Вы можете получить список всех параметров команды link , набрав:

ip link

Получить информацию о сетевом интерфейсе

Чтобы увидеть информацию канального уровня обо всех доступных устройствах (у которых загружен драйвер), используйте команду:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 12:24:01:8c:67:45 brd ff:ff:ff:ff:ff:ff

Если вы хотите, чтобы команда отображала информацию для одного конкретного устройства, введите следующее:

Чтобы просмотреть статистику по всем сетевым интерфейсам (такие детали, как переданные или отброшенные пакеты или даже ошибки), используйте:

Читайте также:  Узнать свою версию линукс

Вы также можете увидеть аналогичную информацию для отдельного сетевого интерфейса:

Если вам нужно больше подробностей, добавьте еще -s в синтаксис:

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

Изменить статус сетевого интерфейса

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

Отключите интерфейс, введя:

ip link set [interface] down

Команда ip link позволяет вам изменять очередь передачи, ускоряя или замедляя интерфейсы в соответствии с вашими потребностями и аппаратными возможностями.

ip link set txqueuelen [number] dev [interface]

Вы можете установить MTU (Maximum Transmission Unit) для улучшения производительности сети:

ip link set mtu [number] dev [interface]

Чтобы узнать все опции команды link, наберите:

ip link

Мониторинг и управление IP-адресами

Узнайте все команды address , набрав следующее:

ip addr

Мониторинг IP-адресов

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

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

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 51:55:07:8a:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.120.24/24 brd 192.168.120.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

Вы также можете увидеть информацию об отдельной сети:

ip addr show dev [interface]

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

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

Как добавить IP-адрес в Linux

Добавьте IP-адрес в интерфейс с помощью команды:

ip addr add [ip_address] dev [interface]

Если указанный интерфейс не существует, отобразится сообщение: Cannot find device [interface]

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

ip address add 192.168.1.41/24 dev eth0 ip address add 192.168.1.40/24 dev eth0

Если вам нужно добавить широковещательный (broadcast) адрес для интерфейса, используйте команду:

ip addr add brd [ip_address] dev [interface]

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

ip addr del [ip_address] dev [interface]

Управление и отображение таблицы IP-маршрутизации

Просмотрите полный список команд ip route с помощью следующей команды:

ip route

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

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

default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.241 metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.241 192.168.1.1 dev eth0 proto dhcp scope link src 192.168.1.241 metric 100

С помощью команд, приведенных выше, выходные данные отображают все записи маршрута в ядре. Если вам нужно сузить поиск, добавьте объект SELECTOR :

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

Изменить таблицу IP-маршрутизации

Чтобы добавить новую запись в таблицу маршрутизации, введите команду:

ip route add [ip_address] dev [interface]

Или вы можете добавить новый маршрут через шлюз, набрав:

ip route add [ip_address] via [gateway_IP]

Также команда позволяет добавить маршрут для всех адресов через локальный шлюз, добавив параметр default :

ip route add default [ip_address] dev [device] ip route add default [network/mask] via [gateway_IP]

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

ip route del [ip_address] ip route del default ip route del [ip_address] dev [interface]

Отображение и изменение IP-записей соседей

При помощи команды ip neigh можно манипулировать таблицами ARP (Address Resolution Protocol). Это аналог команды arp

Читайте также:  Команды ftp командная строка linux

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

ip neigh

Отображение IP-адресов соседей

Чтобы отобразить таблицы соседей, используйте следующую команду:

Выходные данные показывают MAC-адреса устройств, которые являются частью системы, и их состояние. Состояние устройства может быть:

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

Изменить IP-записи соседей

Добавьте новую запись в таблицу с помощью команды:

ip neigh add [ip_address] dev [interface]

Или удалите существующую запись ARP:

ip neigh del [ip_address] dev [interface]

Источник

Настройка локальной сети в Linux

Для систематизирования информации по настройке сети в ОС Linux было решено написать эту заметку. Здесь в доступной форме описан процесс настройки сетевого интерфейса на примере ОС Ubuntu. Также данное руководство поможет «поднять» локальную сеть и на любом другом дистрибутиве Linux.

Как посмотреть текущие сетевые настройки в Linux?

Для просмотра текущих параметров сети и состояния сетевых интерфейсов в ОС Линукс существует команда:

inet addr:192.168.1.18 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::211:5bff:fe91:253e/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU :1500 Metric:1
RX packets:648009 errors:0 dropped:0 overruns:0 frame:0
TX packets:1075413 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:70177943 (70.1 MB) TX bytes:1536487024 (1.5 GB)
Прервано:19 Base address:0xd000

inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
ВВЕРХ LOOPBACK RUNNING MTU :16436 Metric:1
RX packets:106 errors:0 dropped:0 overruns:0 frame:0
TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:13776 (13.7 KB) TX bytes:13776 (13.7 KB)

Для просмотра абсолютно всех сетевых интерфейсов запускаем команду с ключом -a:

Из приведенного примера видно, что на компьютере используется два сетевых интерфейса: eth0 и lo.

Интерфейс lo — это локальная петля, которая имеет IP-адрес 127.0.0.1 и предназначена для сетевого доступа к своему же компьютеру. Далее этот интерфейс рассматриваться не будет, так как для эффективной работы не требует дополнительной настройки.

Интерфейс eth0 – это Ethernet сетевая карта, которая имеет сетевые параметры: IP-адрес – 192.168.1.18, маску сети – 255.255.0.0 и MAC -адрес – 00:11:5b:91:25:3e. Значение RUNNING показывает, что в данный момент сетевой интерфейс eth0 работает.

Для просмотра типа соединения, скорости и поддерживаемых параметров сетевым интерфейсом eth0 набираем команду:

Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full

Port: MII
PHYAD : 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pg
Wake-on: d
Current message level: 0×000000c5 (197)
Link detected: yes

Читайте также:  Tcp socket programming in linux

Из вывода видно, что сетевой интерфейс eth0 работает на скорости 100Мб/с с включенным полным дуплексом (Full Duplex). Полный дуплекс от полудуплекса (Half Duplex) отличается тем, что первый обеспечивает передачу данных в обе стороны одновременно, а второй осуществляет передачу входящих и исходящих данных поочередно.

Как остановить/запустить или перезагрузить сетевой интерфейс?

Команду легко запомнить, так как после названия самой команды идет имя интерфейса и после действие, которое нужно произвести над ним (down или up).

Для возобновления работы сетевого интерфейса eth0:

Эта строка запускает bash-скрипт networking, перезапускающий сетевые интерфейсы системы.

Так же по аналогии производится остановка всех интерфейсов:

Как изменить сетевые настройки?

Чтобы изменить сетевые настройки в ОС Linux можно пойти двумя путями:

  1. использовать команды для присвоения параметров сетевых интерфейсов;
  2. отредактировать конфигурационный файл, содержащий параметры сетевых интерфейсов.

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



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

Если локальная сеть, к которой подключаемся, подразумевает ручную настройку IP-адреса, то содержимое конфигурационного файла должно выглядеть примерно так:

auto eth0
iface eth0 inet static
address 192.168.1.18
netmask 255.255.0.0
gateway 192.168.1.253

Первые строки оставляем как есть, так как их дополнительная настройка не требуется.
Строка auto eth0 говорит, что сетевой интерфейс eth0 должен стартовать при загрузке ОС.
Вторая строка iface eth0 inet static говорит, что сетевому интерфейсу eth0 IP-адрес задается вручную.
Строка address 192.168.1.18 говорит, что сетевому интерфейсу eth0 назначен IP-адрес 192.168.1.18 (этот сетевой адрес взят для примера и на его месте может быть любой другой).
Строка netmask 255.255.0.0 говорит, что маска сети является 255.255.0.0.
Последняя строчка gateway 192.168.1.253 показывает, что сетевым шлюзом является компьютер с IP-адресом 192.168.1.253. Эта строка может отсутствовать, так как ее наличие в конфигурационном файле зависит от параметров локальной сети, к которой подключается настраиваемый компьютер.
Если в подключаемой локальной сети используется автоматическая раздача сетевых настроек DHCP -сервером, то конфигурационный файл /etc/network/interfaces должен быть приведен к виду:

Дополнительные сетевые настройки: DNS -сервера, MAC -адреса и скорость сетевого интерфейса.

Настройка DNS -сервера.

Так же во многих случаях для правильной работы локальной сети на настраиваемом компьютере потребуется ввести IP-адрес используемого DNS -сервера.

Для этого нужно открыть конфигурационный файл командой:

Строка nameserver 192.168.1.253 говорит, что в качестве DNS -сервера используется компьютер с IP-адресом 192.168.1.253.

Смена MAC -адреса сетевой карты.

Чтобы временно поменять MAC -адрес сетевой карты eth0 нужно воспользоваться командой:

Для смена MAC -адреса навсегда нужно в конфигурационном файле /etc/network/interfaces к настройкам сетевого интерфейса добавить строку с новым MAC -адресом:

Источник

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