Editing ip address linux

How to Change IP Address in Linux

Learn different ways of changing the IP address in Linux. Also learn how to make the changes [ermanent.

As a sysadmin, you’ll often deal with IP address configuration. Changing the IP address is one of the common IP configuration tasks.

While the IP addresses on most systems are configured automatically, you may need to change them manually in some cases.

In this article, you’ll see various ways to change the IP address in Linux. I’ll also focus on Ubuntu network configuration separately.

Before you proceed any further, you should run this command to check your current IP address:

This will also show the interface name which you’ll need while changing the IP address.

Using the ip Command to Set an IP Address

The ip command is available on most Linux distributions.

For setting an IP address, use it like this:

ip addr add [ip_address] dev [interface]

For example, add an IP address to the eth1 interface as:

sudo ip addr add 192.168.56.21/24 dev eth1

You now have two IP addresses: one from the old configuration and one from the new command:

Changing IP address in Linux

As you can see in the above screenshot, after deleting the old one, you are left with only one.

Making an IP Address Permanent

Surprisingly, the IP addresses set by the above method are not going to persist in system reboots.

sudo nano /etc/network/interfaces

If your file read like the below, your IP address will be set by a DHCP client:

auto eth0 iface eth0 inet dhcp

To change the IP address as per our choice, we can modify this file to manually set the IP address. To set the IP address statically, for e.g. as 192.168.56.20, change the above entry to look as:

auto enp0s3 iface enp0s3 inet static address 192.168.56.20 netmask 255.255.255.0 gateway 192.168.40.31

The entries above are self-explanatory for moderate Linux users. To apply the changes, you need to run the command:

$ sudo systemctl restart networking.service

Tip: On RedHat-based systems, the file ‘/etc/sysconfig/networking-scripts/ifcfg-*’ serves the purpose of configuring network interfaces.

Using Netplan for Network configuration (for Ubuntu)

Ubuntu provides a Netplan utility for network configuration.

Let us take an example of configuring an IP address on Ubuntu 20.04. I am using ‘NetworkManager’ as the renderer for the network configuration.

The current IP address can be checked from the Netplan configuration file. This file is in YAML format and can be created if not present:

sudo nano /etc/netplan/config.yaml

If the IP address is dynamic, you will see the ‘dhcp4’ parameter set to true.

Читайте также:  Установка virtualbox linux fedora

In case, you have a pre-configured static IP, the configuration will look much like this:

--- network: version: 2 renderer: networkd ethernets: eth1: addresses: - 192.168.56.66/24 nameservers: addresses: - 8.8.8.8 routes: - to: default via: 10.0.2.2

To change the IP address, replace the old IP address with a new one. Additionally, you can keep this IP and add one more to the above interface (en01).

Once you have configured the network, pre-test it before applying:

After confirming the changes, the new configuration can be applied as:

Check if the new settings have been applied:

Changing IP address in Ubuntu

One of the advantages of using Netplan is that the network configuration will persist between reboots. Your IP address change is permanent.

Using Graphical Interface to Change the System IP Address (for Desktop Users)

Managing IP addresses with a graphical interface is the easiest one and preferable for new Linux users. On a Ubuntu system, the Network settings contain all the required configurations.

Open ‘Settings’ from the GNOME dashboard and look for the ‘Network’ option:

Choose the setting icon from the active network on your system:

Network settings in Ubuntu

On the new window, select the IPv4 tab and then under the IPv4 method, choose the Manual option. Enter the details for the new IP address:

Change the IP address in Ubuntu

Now restart your connection and check the IP address:

As you can see from the above screenshot, the IP address has now changed.

Wrapping Up

The ip command is suitable for all Linux systems. Netplan is a new way of managing a network and is a very straightforward approach for Ubuntu systems.

I also added steps for the desktop users to help them change the IP address graphically.

Let me know if you have any questions or suggestions.

Источник

Утилита ip Linux

Если вы начинающий системный администратор, думаю, вам понадобится утилита ip. Она позволяет посмотреть сетевые интерфейсы и IP адреса им присвоенные, посмотреть и настроить таблицу маршрутизации, включать или отключать сетевые интерфейсы, управлять маршрутизацией и ARP, а также многое другое.

Раньше вместо неё использовалось несколько других утилит, одна из них — ipconfig. Однако потом им на замену пришла ip. Сейчас она уже поставляется во всех дистрибутивах, а со временем старые утилиты будут удалены, поэтому разобраться с ней стоит.

Синтаксис и опции утилиты ip

Сначала рассмотрим синтаксис команды. Утилита довольно многофункциональная, поэтому и синтаксис её вызова непростой:

$ ip [опции] объект команда [параметры]

Опции — это глобальные настройки, которые сказываются на работе всей утилиты независимо от других аргументов, их указывать необязательно.

  • объект — это тип данных, с которым надо будет работать, например: адреса, устройства, таблица arp, таблица маршрутизации и так далее;
  • команды — какое-либо действие с объектом;
  • параметры — само собой, командам иногда нужно передавать параметры, они передаются в этом пункте.

Дальше рассмотрим все еще более подробно:

  • -v, -Version — только вывод информации об утилите и ее версии.
  • -h, -human — выводить данные в удобном для человека виде.
  • -s, -stats — включает вывод статистической информации.
  • -d, —details — показывать ещё больше подробностей.
  • -f, -family — позволяет указать протокол, с которым нужно работать, если протокол не указан, то берется на основе параметров команды. Опция должна принимать одно из значений: bridge, dnet, inet, inet6, ipx или link. По умолчанию используется inet, link — означает отсутствие протокола.
  • -o, -oneline — выводить каждую запись с новой строки.
  • -r,-resolve — определять имена хостов с помощью DNS.
  • -a, -all — применить команду ко всем объектам.
  • -c, -color — позволяет настроить цветной, доступные значения: auto, always и never.
  • -br, -brief — выводить только базовую информацию для удобства чтения.
  • -4 — короткая запись для -f inet.
  • -6 — короткая запись для -f inet-f inet6.
  • -B — короткая запись для -f inet-f bridge.
  • -0 — короткая запись для -f inet -f link.
Читайте также:  Linux вывести путь до папки

Теперь давайте рассмотрим самые важные объекты.

Конечно, это не все объекты которые поддерживает команда ip Linux, но на первое время вам хватит. Во время ввода имя объекта может быть сокращено до одной буквы. При неоднозначности используется алфавитный порядок. Например, ip a show, расшифровывается как ip address show. Тогда как в ip r show, r — означает route.

Теперь рассмотрим доступные команды, с помощью которых может быть выполнена настройка сети linux. Они зависят от объекта, к которому будут применяться. Вот основные команды: add, change, del или delete, flush, get, list или show, monitor, replace, restore, save, set, и update. Если команда не задана, по умолчанию используется show (показать).

Здесь тоже поддерживается сокращение и в большинстве случаев для выполнения нужного действия достаточно нескольких символов. Но алфавитный порядок соблюдается не всегда. Например, ip a s, означает ip address show, а не ip address set, к сожалению.

Примеры использования ip

Вот теперь мы дошли к самому интересному — примерам использования утилиты ip Linux. То что я здесь опишу на самом деле лишь маленькая капля из всего того что может утилита ip.

1. Просмотр IP адресов

Чтобы посмотреть все IP адреса, связанные с сетевыми интерфейсами используйте такую команду:

Для просмотра информации в кратком виде используйте опцию -br:

Можно посмотреть IP адреса только по определённому сетевому интерфейсу, например: enp0s3:

Можно отобразить только статические IP адреса:

ip a show dev enp0s3 permanent

ip a show dev enp0s3 dynamic

2. Добавление IP адреса

Чтобы присвоить IP адрес для устройства нужно использовать команду add. Её общий синтаксис такой:

$ ip addr add IP_адрес / маска dev интерфейс

Например, давайте присвоим тому же интерфейсу enp0s3 IP адрес 10.0.2.100 с маской подсети 255.255.255.0:

ip addr add 10.0.2.100/255.255.255.0 dev enp0s3

Маску можно указать и в сокращённом виде:

ip addr add 10.0.2.100/24 dev enp0s3

3. Удаление IP адреса

Чтобы удалить IP адрес из интерфейса надо использовать команду del. Синтаксис её очень похож на предыдущую команду. Например, удалим IP адрес 10.0.2.100:

ip addr del 10.0.2.100/255.255.255.0 dev enp0s3

Можно удалять IP адреса по одному или удалить все сразу с помощью команды flush:

Или же можно удалить адреса только определённой подсети:

sudo ip a flush to 10.0.2.0/24

Если вы будете применять эти команды к интерфейсу, с помощью которого у вас работает сеть, то сеть пропадёт и чтобы её вернуть надо будет перезагрузить сетевые службы.

Читайте также:  Linux remmina vs freerdp

4. Список интерфейсов

Чтобы посмотреть список сетевых интерфейсов используйте объект link:

5. Включение или выключение интерфейсов

Для решения этой задачи тоже используется объект link, но с командой set. Синтаксис её такой:

$ ip link set dev интерфейс действие

В качестве действия можно использовать up или down. Например, чтобы отключить интерфейс enp0s3 выполните:

ip link set dev enp0s3 down

А чтобы включить его обратно:

ip link set dev enp0s3 up

6. Настройка MTU

Параметр MTU означает размер одного пакета, передаваемого по сети. Этот размер можно изменить с помощью команды set. Например, увеличим MTU для enp0s3 до 4000 тысяч байт:

ip link set mtu 4000 dev enp0s3

7. Настройка MAC адреса

Адрес MAC — это физический адрес, который используется для определения какому устройству надо передать сетевой пакет в локальной сети. Прежде чем настраивать MAC адрес ваше устройство надо отключить:

sudo ip link set dev enp0s3 down

Затем можно установить адрес:

sudo ip link set dev enp0s3 address AA:BB:CC:DD:EE:FF

А потом включить интерфейс обратно:

sudo ip link set dev enp0s3 up

8. Таблица ARP

Именно протокол ARP отвечает за преобразование IP адресов в низкоуровневые MAC адреса. Для того чтобы не отправлять ARP запросы каждый раз в сеть, кэш хранится в таблице ARP на протяжении 20-ти минут. Чтобы посмотреть содержимое таблицы ARP используйте такую команду:

9. Добавление записи в таблицу ARP

Обычно записи в эту таблицу попадают автоматически, но вы можете добавить их и вручную. Для этого используйте команду add объекта neigh:

sudo ip neigh add 192.168.0.105 lladdr b0:be:76:43:21:41 dev enp0s3

В этом примере я заставил компьютер думать, что узел с IP 192.168.0.105 это 192.168.0.1. Теперь можно попытаться выполнить ping по этому адресу и оно будет работать, несмотря на то, что реально такого узла в сети нет.

10. Очистка таблицы ARP

Вы можете удалять IP адреса по одному с помощью команды del:

sudo ip neigh del dev enp0s3 192.168.0.105

Можно удалить все записи для определённого сетевого интерфейса:

ip neigh flush dev enp0s3

Или очистить таблицу полностью командой flush:

11. Просмотр таблицы маршрутизации

Для просмотра таблицы маршрутизации используйте объект route и команду show:

12. Добавление маршрута

Синтаксис добавления нового маршрута в таблицу маршрутизации такой:

$ ip route add подсеть / маска via шлюз

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

$ ip route add подсеть / маска dev устройство

Например, добавим новый маршрут для сети через тот же IP адрес:

sudo ip route add 169.255.0.0 via 169.254.19.153

Или можно указать сетевой интерфейс через который надо отправлять пакеты для определённой сети:

sudo ip route add 169.255.0.0 dev enp0s3

13. Удаление маршрута

Удалить маршрут можно командой с аналогичным синтаксисом, только вместо add надо использовать del:

sudo ip route del 169.255.0.0 via 169.254.19.153

Выводы

Вот и подошла к завершению наша статья. Надеюсь, утилита ip Linux уже не кажется такой непонятной. Если у вас есть вопросы или хотите предложить ещё какие-нибудь примеры, пишите комментарии!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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