10 полезных команд «IP» для настройки сетевых интерфейсов

7641
10 полезных команд
10 полезных команд "IP" для настройки сетевых интерфейсов

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

Системный администратор

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

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

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

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

Для настройки статических IP-адресов в Linux необходимо обновить или отредактировать файл конфигурации сети, чтобы назначить системе статический IP-адрес. Вы должны быть суперпользователем с командой su (switch user) из терминала или командной строки.

Open and edit the network configuration files for (eth0 or eth1) using your favorite text editor. For example, assigning IP Address to eth0 interface as follows.

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

[root@tecmint ~]# 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
Or
# /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. Как добавить статический маршрут?

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

# 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
Or
# /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 из терминала/в командной строке.