Настройка сети в Linux
Перед тем, как приступать к настройке сетевого подключения в Линукс, надо начать с того, что посмотреть — какие настройки сети используются сейчас. Для этого надо воспользоваться командой ifconfig. В информационном режиме она доступна и без прав ROOT, хотя для её полноценного использования лучше получить привилегии суперпользователя, введя команду sudo ifconfig. Результатом её работы будет список имеющихся в системе сетевых подключений и их параметров.
В разных версиях Линукс имя сетевого интерфейса может быть сокращением от Ethernet — eth0, eth1, eth2 и т.п.
На интерфейс lo — сокращение от loopback — то есть локальная петля с адресом 127.0.0.1 .
Для примера рассмотрим интерфейс Eth0.
В строке inet addr отображается текущий IP-адрес компьютера в локальной сети, подключенной к этой сетевой карте. В примере это: 192.168.1.144
Bcast — это широковещательный адрес в сети, так называемый Бродкаст(Broadcast).
Mask — это маска сети.
HWaddr — это аппаратный адрес сетевой карты, он же MAC-адрес, используемый на канальном уровне.
Информацию о текущих подключения узнали, теперь рассмотрим настройку локальной сети в Linux. Сделать это можно тремя способами:
1 — Через графическую оболочку
2 — через команду ifconfig или инструмент Network Manager
3 — через конфигурационные файлы сетевого сервиса Netork или Networking.
На мой взгляд, последний способ — самый удобный и надёжный, а значит — правильный. Чтобы настроить сеть в Линукс надо открыть файл, содержащий конфиг интерфейса. Тут всё зависит от того, какой дистрибутив Linux используется.
Вариант 1. В дистрибутивах, основанных на Debian (Ubuntu, Kubuntu и т.п.)
Файл с параметрами сетевого подключения:
Для того, чтобы изменить в linux настройки сети, файл его надо с правами root любым текстовым редактором. Например, через nano:
Для автоматического получения адресов от DHCP-сервера надо пописать следующее:
Если адрес надо прописать статически, то указываем следующее:
В этом конфиге рассмотрен пример обычной домашней сети, где адрес компьютера будет 192.168.1.2, адрес шлюза и DNS-сервера (их фукнции обычно выполняет wifi-роутер)- 192.168.1.1.
Вариант 2. RedHat-based дистрибутивы (Fedora, OpenSuse, CentOS)
Файл с настройками сети Linux:
Открываем его так же через nano или vim:
В случае автоматического получения настроек от DHCP-сервера:
IP-адреса DNS-серверов в этом случае прописываются в файле
вот пример для публичных DNS-серверов от Google:
Настройка сети в Линукс завершена. Остаётся только перезапустить сеть командой:
В качестве постскриптума расскажу как включить и выключить сеть в Linux. Делается это через всё ту же команду ifconfig. Выключить сетевую карту eth0:
Включить сетевую плату в Линуксе обратно:
Полностью остановить работу всех сетевых интерфейсов.
Включить всё назад:
Интересное по теме:
5 thoughts on “ Настройка сети в Linux ”
Не настраивается, Линукс минт 18.3 в чём засада?
enp2s0 Link encap:Ethernet HWaddr 00:16:d3:48:1d:91
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:886 errors:0 dropped:0 overruns:0 frame:0
TX packets:886 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:82987 (82.9 KB) TX bytes:82987 (82.9 KB)
wlp5s0 Link encap:Ethernet HWaddr 00:13:02:70:76:47
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlxf46d048b327f Link encap:Ethernet HWaddr f4:6d:04:8b:32:7f
inet addr:192.168.1.72 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::99f4:be38:665a:3b0d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39068 errors:0 dropped:2423 overruns:0 frame:0
TX packets:24703 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:48902729 (48.9 MB) TX bytes:3037797 (3.0 MB)
Какие настройки Вы делаете — опишите подробно!
Сергей, может вы мне ответите? В общем, настраивал подключение к сети через «Менеджер сети», встроенный по умолчанию в Linux mint 18.3 Cinnamon. Настройки ставил следующие: IPv6 совсем выключил (Method: ignore). IPv4 Method:manual; Address:192.168.1.250; Netmask:250.250.250.0; Gateway 192.168.1.1; DNS servers 8.8.8.8
(Не понял где программа сохраняет эти настройки. В файле interfaces, находящемуся по адресу Файловая система/etc/network/interfaces ничего не поменялось.) IP адрес роутера определил командой ip route show. В качестве роутера стоит Asus RTN-10U. Wi-fi свисток Asus N13. Вот данные lsusb (0b05:17ab ASUSTek Computer, Inc. USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU]).
Сеть распозналась корректно и работает, но через 5 минут пропадает. Т.е. Менеджер сетей утверждает, что сеть есть и подключение хорошее, но браузер Firefox не может найти соединение. Проверил соединение с роутером коммандой Ping 192.168.1.1. Соединение отсутствует. Выключил сеть и включил через Менеджер сетей и сразу запустил проверку соединения Ping 192.168.1.1. Лазил в Интернете минут 15. Сеть держится. Возникает предположение, что Linux в определённый момент считает, что устройство бездействует и отключает сеть, если я его не спамлю ping’ом. Как это можно отрегулировать или решения нет и придётся спамить ping?
Михаил — Здравствуйте. начните с того, что укажите правильно маску — 255.255.255.0. Та, что Вы указали — 250.250.250.0 — неверная.
Источник
Где в системах с systemd лежат файлы конфигурации сети и прочих сервисов?
В дистрибутиве который у меня стоял раньше, сеть настраивалась в файле /etc/network/interfaces, всё понятно и красиво, как во всех гайдах в интернете. Но вот сейчас я поставил минт, и смотрю что в этом файле кроме локальной петли ничего нету. Я сразу подумал, как же тогда интерфейс при запуске сам поднялся то, если там не прописано чтобы он поднимался, там вообще ничего нет. Потом ещё заметил ненормальные названия интерфейсов и пошел гуглить. Из нагугленного понял, что виновник всей этой вакханалии и хаоса некий systemd, который кроме своей задачи запуска системы позволяет себе ещё что-то делать. Ну полез я в папку /etc/systemd/network, а там пусто. Ну и где мне теперь искать куда настройки сети прописаны? Гугл выдет только стандартный путь как в нормальных дистрибутивах.
mint на базе убунты а там netplan.io запилили вроде
cast intelfx
И как уже им пользоваться? Зачем они вообще всё это делают? Всё же прекрасно работало.
Ну и что это? Это же управление нетворк менеджером из терминала. Я и так в нетворк менеджере могу всё прописать. Мне надо знать где сами конфиги лежат в минте этом, и зачем оно так работает.
как во всех гайдах в интернете
Потом ещё заметил ненормальные названия интерфейсов
некий systemd
Ты к нам из 2013го?
Ну и где мне теперь искать куда настройки сети прописаны?
Читай в документации к своему дистрибутиву. В линуксе есть несколько способов настройки сети — interfaces, network manager, networkd etc. Настраиваются они все по разному.
0 Имеем подсказку nmcli c s
1 Читаем man nmcli , в секции SEE ALSO находим nm-settings(5)
2 Внимательно читаем nm-settings(5)
3 Обращаем внимание в секции FILES на
/etc/NetworkManager/system-connections or distro plugin-specific location
5 Настраиваем сеть.
Так зачем мне нетворк менеджер? Я и так могу в нетворк менеджере натыкать. Мне нужен сам файл где эти все настройки прописаны.
Ну так в минте этом только и в графической оболочке через нетворк менеджер и настраивается. Понаделали мусора какого-то, что теперь ничего не работает, ну за-то стильно, модно, молодёжно.
Имена интерфейсов можно назначать через правила udev привязав конкретное имя к конкретному MAC.
при этом само имя может быть любым.
Хорошо, давай вместе.
Покажи вывод nmcli c s
Покажи вывод ls -l /etc/NetworkManager/system-connections/
А можно сделать чтобы всё по человечески было как раньше?
Ну так в минте этом только и в графической оболочке через нетворк менеджер и настраивается
Графические оболочки есть не только у NM. Но, если в минте действительно по умолчанию используется NM (что может быть не так, так как в первом же коммите сказали про убунтовский netplan), то и смотри в его файлы настройки, в чём проблема.
У всех всё работает.
Ну и что это такое? Файл с настройками интерфейса не так должен выглядеть.
ПРОБЛЕМА В ТОМ ЧТО Я НЕ МОГУ НАЙТИ ФАЙЛЫ НАСТРОЙКИ Ну зачем это всё? Кому от этого лучше стало?
Оно включено не во всех дистрибутивах с systemd
Смотрю в 18 убунте: Файл interfaces есть, то есть можно выключить нэтворк-манагер и прописать в него всё по-старинке. Разве нет?
Файл конфигурации соединения для NetworkManager
Файл с настройками интерфейса не так должен выглядеть.
А как должен? Сейчас такие времена, что в одном дистрибутиве могут поддерживаться и ifupdown и systemd-networkd и netplan и NetworkManager
ПРОБЛЕМА В ТОМ ЧТО Я НЕ МОГУ НАЙТИ ФАЙЛЫ НАСТРОЙКИ
Затем, что сейчас не 1999, а 2019. С одной стороны, ноутбуки — тут ноут может быть подключен по проводу, там по одной вайфай сети, тут по другой, а где-то вообще через usb-модем с мобильным инетом, interfaces тут сильно не в тему. С другой стороны, контейнеры, облака и прочая, где часто требуется централизованное управление большим количеством сетевых настроек, там и interfaces не в тему, да и голый NM не годится, отсюда всякие netplan/networkd.
То, что вы настраивали а etc network interfaces это одно, это конфигурационный файл для сервиса networking.
Настройки networkmanager это вообще другое, файл interfaces networkmanager не читает и не использует.
Более того настраивать интерфейсы одновременно в etc network interfaces и networkmanager нельзя.
Где networkmanager хранит свои настройки смотрите в его документации.
Фактически на основе файла etc network interfaces вызываются скрипты, в которых вызываются консольные утилиты iproute2, а ранее ifconfig.
Даже сейчас в Ubuntu с нетплан вы можете прописать настройки сети в файле interfaces.
в одном дистрибутиве могут поддерживаться и ifupdown и systemd-networkd и netplan и NetworkManager
NM при этом может ещё поддерживать старую редхатовскую ifcfg схему через плагин ifcfg-rh 🙂
Файлы настройки чего, какого сервиса?
У Нетворк манагер свои файлы и их не надо руками трогать, у нетворкинг — свои.
Откройте документацию по нетворкманагер и документацию по убунту и прочтите как настраивается сеть.
Но чтобы пользоваться файлом interfaces надо как-то удалить все настройки из всех этих менеджеров.
Так я вот и не знаю какой именно сервис у меня тут сеть подымает, ведь они все тут есть.
В разных дистрибутивах вообще свои файлы настройки сети, так было пока все не стали переходить на система.
Можете посмотреть настройки сети в генту с опенрс, слакваре.
Структура файла настроек сети зависит от сервиса, который управляет сетью в дистрибутиве.
Если тебе нужен старый формат, то установи нетворкинг и добавь его на уровень запуска, а остальные сервисы управления сетью отключи.
Их можно отключить. Почитай как в системд включать и отключать сервисы (юниты).
Ок. И ради чего весь этот цирк сделали?
чтобы поглумиться над такими недоумками, что не могут понять, очевидно же
Но чтобы пользоваться файлом interfaces надо как-то удалить все настройки из всех этих менеджеров.
У меня Debian Buster и networkmanager просто не поставлен, или поставлен и тут же удалён обратно. В общем не чисти их конфиги, просто удали не нужные сервисы.
И ради чего весь этот цирк сделали?
Ради того чтобы затруднить создание дистров отличных от RedHat, который являясь лидером разработки systemd через него будет контролировать развитие конкурирующих проектов.
Ну так ты скажешь мне, недоумку, зачем?
Ну как, тебе как дистростроителю не нравится уже что-то существующее, ты хочешь что-то новое, со своим видением.
Ты пишешь свою вещь и она постепенно едет в продакшн в твоём дистрибутиве.
Откуда по твоему появился systemd, pulseaudio, cinnamon, mate.
У тебя, как администратора локалхоста есть выбор что использовать, если тебе не нравится сделанное разработчиками дистрибутива.
Но чтобы пользоваться файлом interfaces надо как-то удалить все настройки из всех этих менеджеров.
Так я вот и не знаю какой именно сервис у меня тут сеть подымает, ведь они все тут есть.
Скорее всего, в mint сеть обслуживают ifupdown и NetworkManager.
- смотрим, что за файлы в каталоге /etc/netplan и их содержимое
- проверяем systemd-networkd networkctl status
- проверяем как стартовала сеть systemctl status networking.service
- проверяем systemctl status network-manager.service
- проверим разрешённость NetworkManager nmcli n
- посмотрим, какими интерфейсами управляет NetworkManager nmcli d s
Проанализировав состояние, можем настраивать /etc/network/interfaces, отключать ненужные сервисы и т.д.
Мне надо знать где сами конфиги лежат
И что ты будешь делать с этим знанием?
В убунтах уже давно, по умолчанию, netplan. Открываешь /etc/netplan, там файл конфига в формате yaml, что то типа:
Всё было включено, нетворк менеджер управлял интерфейсами, всё остановил, а сеть работает дальше.
Пропишу в конфиги то что мне нужно.
Ради того чтобы затруднить создание дистров отличных от RedHat, который являясь лидером разработки systemd через него будет контролировать развитие конкурирующих проектов.
1. Red Hat пилит systemd и не только для своих нужд. 2. Компания делится своими разработками с сообществом. 3. Разработчики дистров сами решают стоит ли им использовать эти наработки. 4. Не хотите использовать systemd, берите что-то другое. Сами его поддерживаете и обеспечивайте его интеграцию с другими проектами.
Все легко и просто.
Нетпалм у меня управляется нетворк менеджером, я отключил его, но сеть всеравно работает дальше. Что за сатанизм то? Есть ещё что-то на чём сеть может висеть?
Судя по всему, сеть настроил NetworkManager, смотри nmcli -t c s Проводное\ соединение\ 1
Походу так и есть. Я затупил, сеть же и не должна была падать после остановки всех служб, ведь они просто один раз настройки указывают для интерфейсов. Вырубил всё и после этого кабель вытянул, сеть поднялась после запуска нетворк менеджера. Но странно почему так, ведь на другом дистрибутиве у меня сеть падала когда нетворкинг вырубаешь, а тут пашет, без всего.
Немного не по теме. Пока разбирался с systemd увидел там вот эту вот забавную фигню gvfs-metadata.service, это что анальные зонды от разрабов убунты?
Если тебе не нужно ничего такого, что нельзя сделать через nmcli, то и настраивай через nmcli без прописывания в конфиги.
Да это дрочево какое-то. Намного проще же просто в конфиг прописать. Как например в этом nmcli pppoe настроить?
Обычно так говорят виндо- и макоюзеры о любом командно-строчном интерфейсе и любых конфигах.
Намного проще же просто в конфиг прописать.
Ага, только сначала надо как минимум выяснить, где он находится.
Как например в этом nmcli pppoe настроить?
Не знаю, я вообще pppoe настраивал один раз в жизни свыше 10 лет назад. Попробуй посмотреть man nmcli-examples .
ты думаешь networkmanager VS netplan — нет же, оно всё работает совместно (надеюсь и не поломается, потому как чинить никто[может я ошибаюсь?] не умеет).
виновник всей этой вакханалии и хаоса некий systemd, который кроме своей задачи запуска системы позволяет себе ещё что-то делать
И ещё детей ест.
gvfs-metadata.service, это что анальные зонды от разрабов убунты
Нет. Это от рептилоидов-жидомасонов. Они прописывают себя в BIOS и потом сразу в прошивку сетевой карты твоего роутера. Так что всё, ты под колпаком, можешь уже не дёргаться.
> ПРОБЛЕМА В ТОМ ЧТО Я НЕ МОГУ НАЙТИ ФАЙЛЫ НАСТРОЙКИ
Теперь реестр. Если хочешь без реестра/systemd, используй Devuan, Knoppix или PClinuxOS
Источник