Удалить ip адрес linux

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

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

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

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

Синтаксис

ip OBJECT COMMAND ip [options] OBJECT COMMAND ip OBJECT help

Понимание синтаксиса 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 следующим образом:

ip OBJECT help ip OBJECT h ip a help ip r help

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

Читайте также:  Linux server system monitoring

Примеры использования команды 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 используя следующий синтаксис:

### Показывать только TCP/IP IPv4 ## ip -4 a ### Показывать только TCP/IP IPv6 ### ip -6 a

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

### Показать только интерфейс eth0 ### ip a show eth0 ip a list eth0 ip a show dev eth0 ### Показать только поднятые интерфейсы ### ip link ls up

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

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

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

ip a add 192.168.1.200/255.255.255.0 dev eth0
ip a add 192.168.1.200/24 dev eth0

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

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

ip addr add brd dev ip addr add broadcast dev ip addr add broadcast 172.20.10.255 dev dummy0

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

ip a add 192.168.1.50/24 brd + dev eth0 label eth0Work

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

ip a add 127.0.0.1/8 dev lo brd + scope host

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

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

Читайте также:  Linux как узнать конфигурацию

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

ip a del 192.168.1.200/24 dev 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) интерфейсах:

ip -4 addr flush label "ppp*"

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

ip -4 addr flush label "eth0"

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

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

ip link set dev eth1 down

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

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

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

ip link set txqueuelen dev

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

ip link set txqueuelen 10000 dev eth0 ip a list eth0

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

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

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

ip link set mtu 9000 dev eth0 ip a list eth0

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

Читайте также:  Примонтировать nfs в linux

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

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

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

ip neigh add lladdr dev nud

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

ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm
Состояние соседа Значение
permanent Состояние соседа занято навсегда и может быть удалено только администратором.
noarp Состояние соседа валидно. Попыток проверить состояние не будет, но может быть удалено, когда закончится время жизни.
stale Состояние соседа валидно, но подозрительно. Эта опция для ip neigh не меняет состояние соседа, если оно было валидно и адрес не был изменен этой командой.
reachable Состояние соседа валидно до окончания таймаута доступности.

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

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

ip neigh del 192.168.1.5 dev eth1

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

ip neigh chg 192.168.1.100 dev eth1 nud reachable

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

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

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

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

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

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

default via 192.168.1.254 dev eth1 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10

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

192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10

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

ip route add via ip route add dev ip route add default dev ip route add default via

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

ip route add 192.168.1.0/24 via 192.168.1.254

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

ip route add 192.168.1.0/24 dev eth0

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

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

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

ip route del 192.168.1.0/24 dev eth0

Опубликовано 23 January 2016

Источник

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