Команда ip – это новая сетевая утилита командной строки, которая используется для назначения IP-адреса сетевому интерфейсу или настройки/обновления полезных сетевых переменных в системе Linux.
Она является частью пакета iproute2 и предлагает несколько задач сетевого администрирования, таких как подключение или отключение сетевых интерфейсов, назначение и удаление IP-адресов и маршрутов, управление ARP-кэшем и многое другое.
Команда ip во многом похожа на старую команду ifconfig, но она значительно мощнее, в нее добавлено больше функций и возможностей.
Команда ifconfig была устаревшей и заменена командой ip во всех современных дистрибутивах Linux.
Однако команда ifconfig все еще работает и доступна в большинстве дистрибутивов Linux.
Устаревшие сетевые команды Linux и их замены
Примечание: Пожалуйста, сделайте резервную копию файла конфигурации перед выполнением любых изменений.
- Как настроить статический IP-адрес Интернет-протокола (IPv4)
- В RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux
- В Ubuntu/Debian/Linux Mint
- 1. Как назначить IP-адрес определенному интерфейсу
- 2. Как проверить IP-адрес
- 3. Как удалить IP-адрес
- 4. Как включить сетевой интерфейс
- 5. Как отключить сетевой интерфейс
- 6. Как проверить таблицу маршрутизации?
- 7. Как добавить статический маршрут
- 8. Как удалить статический маршрут
- 9. Как добавить постоянные статические маршруты
- В RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux
- В Ubuntu/Debian/Linux Mint
- 10. Как добавить шлюз по умолчанию
Как настроить статический 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-команде.
см. также:
- 🖧 Команда IP route: создание статических маршрутов или изменение шлюза по умолчанию на Linux
- 🖧 Как использовать curl для получения общедоступного IP-адреса
- 🐳 Как узнать IP-адрес Docker контейнера
- 🖧 Общие правила брандмауэра iptables для сетевых администраторов
- 🐧 Как быстро проверить, не подвергается ли ваш Linux-сервер DoS-атаке с одного IP-адреса
- 🐧 Как использовать Sudo при использовании с перенаправлении вывода или Pipe
- 🖧 Как навсегда сохранить правила брандмауэра iptables на Linux
- 🖧 Как проверить доступные сетевые интерфейсы, связанные IP-адреса, MAC-адреса и скорость интерфейса на Linux
- 🏴 Как отключить протокол IPv6 в Kali Linux