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