Настройка сети в 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 — неверная.
Источник
Настройка сети в Linux — работа с файлами конфигурации
Конфигурация интерфейса
Подключить компьютер с Linux к сети довольно просто, кроме случаев, когда это не так. В этой статье я расскажу об основных файлах конфигурации сети для дистрибутивов Linux на основе Red Hat и взгляну на две службы запуска сети: почтенный запуск сети и спорный NetworkManager.
Linux легко управляет несколькими адаптерами сетевого интерфейса. Ноутбуки обычно включают как проводные, так и беспроводные интерфейсы, а также могут поддерживать интерфейсы WiMax для сотовых сетей. Настольные компьютеры Linux также поддерживают несколько сетевых интерфейсов, и вы можете использовать свой компьютер Linux в качестве многосетевого клиента или в качестве маршрутизатора для внутренних сетей. Так обстоит дело с парой моих собственных систем.
Соглашения об именах сетевых интерфейсов
Соглашения об именах для сетевых интерфейсов были простыми, несложными и, как мне показалось, легкими. Использование ethX показалось мне логичным и с ним было легко работать. Не требовалось дополнительных шагов, чтобы выяснить, какое длинное и неясное имя принадлежало интерфейсу. К сожалению, добавление нового интерфейса часто вызывало переименование сетевых интерфейсов, что нарушало работу скриптов и конфигураций.
После непродолжительной работы с некоторыми длинными и непонятными именами сетевых интерфейсов у нас теперь есть третий набор соглашений об именах, которые кажутся лишь незначительно лучше. Такие имена, как ethX, все еще используются в CentOS 6.x. Новейшие соглашения об именах, такие как eno1 и enp0s3, используются RHEL 7, CentOS 7 и более поздними выпусками Fedora.
Примеры конфигурационных файлов
В этом примере файл конфигурации сетевого интерфейса ifcfg-eth0 определяет конфигурацию статического IP-адреса для установки сервера CentOS 6.
Этот файл запускает интерфейс при загрузке, назначает ему статический IP-адрес, определяет домен и сетевой шлюз, указывает два DNS-сервера и не позволяет пользователям без полномочий root запускать и останавливать интерфейс.
Следующий файл конфигурации интерфейса, ifcfg-eno1, предоставляет конфигурацию DHCP для настольной рабочей станции.
Во втором примере файла конфигурации записи DHCP, IP-адрес, домен поиска и вся другая информация о сети не определены, поскольку они предоставляются сервером DHCP. Элементы конфигурации, такие как DNS-серверы, могут быть переопределены в файле конфигурации интерфейса путем добавления строк DNS1 и DNS2, как в предыдущем примере статической конфигурации.
Обратите внимание, что этот второй пример содержит строку UUID. Насколько я могу судить, эта строка не влияет на функциональность файла конфигурации. Я обычно выделяю это в комментарий или даже удаляю. Но ничем плохим это пока еще не закончилось.
В обоих файлах конфигурации интерфейса строка HWADDR указывает MAC-адрес физического сетевого интерфейса. Это связывает физический интерфейс с файлом конфигурации интерфейса. Вы должны изменить MAC-адрес в файле, если вы заменяете интерфейс.
Варианты конфигурации
Есть множество различных опций конфигурации для файлов конфигурации интерфейса. Вот некоторые из наиболее распространенных вариантов:
DEVICE: логическое имя устройства, например, eth0 или enp0s2;
HWADDR: MAC-адрес сетевой карты, связанной с файлом, например, 00: 16: 76: 02: BA: DB;
ONBOOT: запуск сети на этом устройстве при загрузке хоста. Варианты yes/no. Обычно это значение равно «no», и сеть не запускается, пока пользователь не войдет в систему на рабочем столе. Если если вам нужно, чтобы сеть запускалась, когда никто не вошел в систему, установите для этого параметра значение «yes»;
IPADDR: IP-адрес, назначенный этому NIC, например, 192.168.0.10;
BROADCAST: широковещательный адрес для этой сети, такой как 192.168.0.255;
NETMASK: маска сети для этой подсети, например, маска класса C 255.255.255.0;
NETWORK: идентификатор сети для этой подсети, например, идентификатор класса C 192.168.0.0;
SEARCH: DNS-имя домена для поиска при поиске на неквалифицированных именах хостов, таких как «example.com»;
BOOTPROTO: протокол загрузки для этого интерфейса. Варианты: static, DHCP, bootp, none. Опция «none» по умолчанию является статической;
GATEWAY: сетевой маршрутизатор или шлюз по умолчанию для этой подсети, например, 192.168.0.254;
ETHTOOL_OPTS: эта опция используется для установки определенных элементов конфигурации интерфейса для сетевого интерфейса, таких как скорость, состояние дуплекса и состояние автосогласования. Поскольку этот параметр имеет несколько независимых значений, значения должны быть заключены в один набор кавычек, например: «autoneg off speed 100 duplex full»;
DNS1: основной DNS-сервер, например, 192.168.0.254, который является сервером в локальной сети. Указанные здесь DNS-серверы добавляются в файл /etc/resolv.conf при использовании NetworkManager или когда для директивы peerdns задано значение yes. В противном случае DNS-серверы необходимо добавить в /etc/resolv.conf вручную и игнорировать здесь;
DNS2: вторичный DNS-сервер, например, 8.8.8.8, который является одним из бесплатных DNS-серверов Google. Обратите внимание, что третичный DNS-сервер не поддерживается в файлах конфигурации интерфейса, хотя третий может быть настроен в энергонезависимом файле resolv.conf;
TYPE: Тип сети, обычно Ethernet. Единственная другая ценность, которую я тут когда-либо видел, была Token Ring, но сейчас она в основном не имеет значения;
PEERDNS: опция yes указывает, что файл /etc/resolv.conf необходимо изменить, вставив в этот файл записи DNS-сервера, указанные в параметрах DNS1 и DNS2. «No» означает не изменять файл resolv.conf. «Yes» – это значение по умолчанию, если в строке BOOTPROTO указан DHCP;
USERCTL: указывает, могут ли непривилегированные пользователи запускать и останавливать этот интерфейс. Варианты yes/no;
IPV6INIT: указывает, применяются ли протоколы IPV6 к этому интерфейсу. Варианты yes/no.
Если указан параметр DHCP, большинство других параметров игнорируются. Единственными необходимыми опциями являются BOOTPROTO, ONBOOT и HWADDR. Другими опциями, которые могут оказаться полезными и которые не игнорируются, являются опции DNS и PEERDNS, если вы хотите переопределить записи DNS, предоставленные сервером DHCP.
Устаревший сетевой файл
Существует один старый и теперь уже устаревший файл, с которым вы можете столкнуться. Сетевой файл обычно содержит только одну строку комментария для текущих выпусков Fedora, RHEL и CentOS. Он находится в /etc/sysconfig и использовался в прошлом для включения или отключения сети. Он также использовался для установки имени сетевого узла, как показано в следующем примере:
Этот файл присутствует, но не используется в Fedora с момента выпуска версии 19. Он по-прежнему используется в RHEL/CentOS 6.x, но больше не используется в RHEL/CentOS 7.x. Имя сетевого узла теперь задается в файле /etc/hostname.
Другие сетевые файлы
Каталог /etc/sysconfig/network-files содержит много других файлов, которые обычно являются исполняемыми скриптами BASH, а не файлами конфигурации. По крайней мере, для меня это одно из надоедливых исключений в Стандарте иерархии файловой системы Linux (FHS), в котором прямо указывается, что в дереве /etc должны находиться только файлы конфигурации, а не исполняемые файлы.
Еще один файл конфигурации сети, который вы можете найти в /etc/sysconfig/network-files, это файл route- . Если вы хотите настроить статические маршруты в многодомной системе, создайте файл маршрута для каждого интерфейса. Например, следующий файл называется route-eth0 и определяет маршруты для этого конкретного интерфейса как для сетей, так и для отдельных хостов.
Этот файл применяется редко, и если только вы не используете хост в качестве маршрутизатора с некоторыми сложными потребностями маршрутизации.
С появлением беспроводных сетей и мобильных устройств перенастройка сетевых интерфейсов для каждой новой беспроводной сети стала сложной и трудоемкой. Этот процесс также может создавать конфликты имен при добавлении нового сетевого интерфейса.
Источник