🖧 Обзор полезных команд “IP” для настройки сетевых интерфейсов

Мануал

Команда ip – это новая сетевая утилита командной строки, которая используется для назначения IP-адреса сетевому интерфейсу или настройки/обновления полезных сетевых переменных в системе Linux.

Она является частью пакета iproute2 и предлагает несколько задач сетевого администрирования, таких как подключение или отключение сетевых интерфейсов, назначение и удаление IP-адресов и маршрутов, управление ARP-кэшем и многое другое.

Команда ip во многом похожа на старую команду ifconfig, но она значительно мощнее, в нее добавлено больше функций и возможностей.

Команда ifconfig была устаревшей и заменена командой ip во всех современных дистрибутивах Linux.

Однако команда ifconfig все еще работает и доступна в большинстве дистрибутивов Linux.

Устаревшие сетевые команды Linux и их замены

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

Как настроить статический IP-адрес Интернет-протокола (IPv4)

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

Вы должны быть суперпользователем с помощью команды su (switch user) из терминала или командной строки.

В  RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux

Откройте и отредактируйте файлы сетевой конфигурации для (eth0 или eth1) с помощью вашего любимого текстового редактора.

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

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=192.168.50.2
NAME="System eth0"
HWADDR=00:0C:29:28:FD:4C
GATEWAY=192.168.50.1

В Ubuntu/Debian/Linux Mint

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

auto eth0
iface eth0 inet static
address 192.168.50.2
netmask 255.255.255.0
gateway 192.168.50.1

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

# systemctl restart NetworkManager.service
или
# /etc/init.d/networking restart

1. Как назначить IP-адрес определенному интерфейсу

Следующая команда используется для назначения IP-адреса определенному интерфейсу (eth1) “на лету”.

# ip addr add 192.168.50.5 dev eth1
$ sudo ip addr add 192.168.50.5 dev eth1

Примечание: К сожалению, все эти настройки будут потеряны после перезагрузки системы.

2. Как проверить IP-адрес

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

# ip addr show
$ sudo ip addr show
Пример вывода:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:28:fd:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.2/24 brd 192.168.50.255 scope global eth0
    inet6 fe80::20c:29ff:fe28:fd4c/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:28:fd:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.5/24 scope global eth1
    inet6 fe80::20c:29ff:fe28:fd56/64 scope link
       valid_lft forever preferred_lft forever

3. Как удалить IP-адрес

Следующая команда удалит назначенный IP-адрес с заданного интерфейса (eth1).

# ip addr del 192.168.50.5/24 dev eth1
$ sudo ip addr del 192.168.50.5/24 dev eth1

4. Как включить сетевой интерфейс

Флаг “up” с именем интерфейса (eth1) включает сетевой интерфейс.

Например, следующая команда активирует сетевой интерфейс eth1.

# ip link set eth1 up
$ sudo ip link set eth1 up

5. Как отключить сетевой интерфейс

Флаг “down” с именем интерфейса (eth1) отключает сетевой интерфейс.

Например, следующая команда отключит сетевой интерфейс eth1.

# ip link set eth1 down
$ sudo ip link set eth1 down

6. Как проверить таблицу маршрутизации?

Введите следующую команду, чтобы проверить информацию таблицы маршрутизации системы.

# ip route show
$ sudo ip route show
Пример вывода:
10.10.20.0/24 via 192.168.50.100 dev eth0
192.168.160.0/24 dev eth1  proto kernel  scope link  src 192.168.160.130  metric 1
192.168.50.0/24 dev eth0  proto kernel  scope link  src 192.168.50.2
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 192.168.50.1 dev eth0  proto static

7. Как добавить статический маршрут

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

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

# ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0
$ sudo ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0

8. Как удалить статический маршрут

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

# ip route del 10.10.20.0/24
$ sudo ip route del 10.10.20.0/24

9. Как добавить постоянные статические маршруты

Все вышеперечисленные маршруты будут потеряны после перезагрузки системы.

Чтобы добавить постоянный статический маршрут, отредактируйте файл /etc/sysconfig/network-scripts/route-eth0 (Мы храним статический маршрут для (eth0).

В RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux

# vi /etc/sysconfig/network-scripts/route-eth0

и добавьте следующие строки, сохраните и выйдите.

По умолчанию файл route-eth0 будет отсутствовать, его необходимо создать.

10.10.20.0/24 via 192.168.50.100 dev eth0

В Ubuntu/Debian/Linux Mint

Откройте файл /etc/network/interfaces и в конце добавьте постоянные статические маршруты. IP-адреса могут отличаться в вашей среде.

$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.50.2
netmask 255.255.255.0
gateway 192.168.50.100
#########{Static Route}###########
up ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0

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

# systemctl restart NetworkManager.service
или
# /etc/init.d/networking restart

10. Как добавить шлюз по умолчанию

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

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

Вы можете добавить шлюз по умолчанию “на лету”, как показано ниже.

# ip route add default via 192.168.50.100
$ sudo ip route add default via 192.168.50.100

Пожалуйста, поправьте меня, если я что-то упустил.

Пожалуйста, обратитесь к странице руководства, выполнив man ip из терминала/в командной строке, чтобы узнать больше об IP-команде.

см. также:

 

 

Добавить комментарий