# Сетевые настройки Linux

В Linux существует два основных способа настройки системы:

1. Настройка, которая будет активна до перезагрузки;
2. Настройка, которая будет активна после перезагрузки;

Перед началом настройки сетевого подключения в Linux нужно сначала проверить, каковы текущие настройки сети. Для этого нам вполне подойдёт команда **ifconfig**. В принципе, для получения информации мы можем использовать её и без прав ROOT, но если хотим получить привилегии суперпользователя, вводим **sudo ifconfig**. Результатом выполнения команды станет получение списка имеющихся сетевых подключений и их параметров:

<figure><img src="/files/P1x2Z8WYykzr9mPB5ED3" alt=""><figcaption><p>результат вывода команды ifconfig</p></figcaption></figure>

\*команда доступна при установленном пакете net-tools

Аналогично с данной командой для вывода сетевых параметров могут использоваться:

**ip a**:

<figure><img src="/files/SXy8gptxoipUeFYFi8HN" alt=""><figcaption></figcaption></figure>

**hostname -I** - команда выведет IP-адрес сетевой карты.

<figure><img src="/files/LlH9FsnxcJy6MMzDELVi" alt=""><figcaption></figcaption></figure>

Итак, мы видим, что на нашем компьютере используются два сетевых интерфейса: ens192 и lo. Давайте рассмотрим их подробнее.

Интерфейс lo является локальной петлёй, имеющей IP-адрес 127.0.0.1. Она предназначена для обеспечения сетевого доступа к компьютеру. В принципе, этот интерфейс не требует дополнительных настроек.

Что касается интерфейса ens192, то это не что иное, как Ethernet — сетевая карта, имеющая следующие сетевые параметры: — 192.168.20.244 — это IP-адрес; — 255.255.255.0 — маска сети; — 00:0c:29:ad:e1:2d — MAC-адрес.

При этом значение RUNNING показывает нам, что в данный момент наш сетевой интерфейс ens192 работает. Кстати, нужно понимать, что в различных версиях Linux имя сетевого интерфейса может быть разным — eth0, eth1, ens192,ens224 и т. д.

Если хотим посмотреть тип соединения, скорость и поддерживаемые параметры, набираем:

```
sudo ethtool eth0
```

<figure><img src="/files/NIYinTE8MHU27pFOEVbJ" alt=""><figcaption></figcaption></figure>

Из него мы видим, что скорость работы сетевого Linux-интерфейса ens192 — 1000 Мб/с с Full Duplex (с включённым полным дуплексом).&#x20;

Тут можно уточнить, что полный дуплекс отличается от полудуплекса (Half Duplex) тем, что обеспечивает передачу входящих и исходящих данных одновременно, а не поочередно.

### Начало сетевых настроек

Узнав информацию о текущих подключениях, можно переходить к настройкам локальной сети в Linux. У нас есть 3 способа сделать это:&#x20;

— через графическую оболочку;&#x20;

— используя команду ifconfig либо инструмент Network Manager;

— используя конфигурационные файлы сетевого сервиса Network либо Networking;

— используя пакет iproute2.

В принципе, последний способ считается одним из самых удобных и надёжных. Чтобы настроить сеть в Linux, нужно открыть файл, который содержит конфигурацию интерфейса. Здесь всё будет зависеть от того, какой именно Linux-дистрибутив используется.&#x20;

О конкретных вариантах назначения сетевых параметров узнаете далее.

## **IP Forwarding**

Помимо настройки сетевого интерфейса вам потребуется включить функцию IP Forwarding, которая позволяет сетевой операционной системе пересылать пакеты, предназначенные для других пунктов назначения (кроме себя)

Есть два варианта включения данной функции

### **До перезагрузки**

`sysctl -w net.ipv4.ip_forward=1`

или

`echo 1 > /proc/sys/net/ipv4/ip_forward`

### **Постоянное включение**

`grep forward /etc/sysctl.conf`

`net.ipv4.ip_forward = 1`

### **Работа с Systemd**

Следующее препятствие возникло с выпуском Systemd версии 221. Переадресация IP отключена по умолчанию, и для ее включения требуется наличие дополнительного файла. Если его еще нет, просто добавьте его. Имя файла состоит из имени сетевого интерфейса, за которым следует суффикс **\`.network\`**, например **\`eth0.network\`** для сетевого интерфейса **\`/dev/eth0\`**. Как указано в документации \[4], другие расширения игнорируются.

Следующий фрагмент кода показывает настройку сетевого интерфейса **\`/dev/tun0\`**. Он состоит из двух разделов — «Match» и «Network». В разделе Match укажите имя сетевого интерфейса, а в разделе Network включите IP Forwarding.

```
# cat /etc/systemd/network/tun0.network
[ Match ]
Name = tun0
[ Network ]
IPForward = ipv4
```

### Проверка работоспособности

Вы можете проверить текущее значение функции net.ipv4.ip\_forward след. образом:

```
cat /proc/sys/net/ipv4/ip_forward
```

Если команда возвращает значение 0, значит функция IP Forward выключена, если 1 - включена. Также вы можете проверить значение через команду 'sysctl'

```
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
#
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://antons-organization-1.gitbook.io/administrirovanie-linux/setevye-nastroiki-linux/setevye-nastroiki-linux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
