- Ручная настройка сети в Linux
- Привязка интерфейса к карте
- ifcfg
- route
- Ручная настройка сети в ArchLinux
- Ручная настройка сети в Ubuntu
- Ручная настройка сети в CentOS 6
- Общие настройки сети
- Конфигурация интерфейса
- Настройка DNS
- Настройка брандмауэра
- Настройка сети в Linux
- Интересное по теме:
- 5 thoughts on “ Настройка сети в Linux ”
- Лучшие сетевые утилиты Linux
- Лучшие сетевые утилиты Linux
- Выводы
Ручная настройка сети в Linux
Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 — это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой — интерфейсы имеют имена вида enp2s0 (en -Ethernet, p — PCI, 2 — номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .
Привязка интерфейса к карте
При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств — udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.
Конфигурационный файл переименования интерфейсов обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules. Файл состоит из строк такого содержания:
Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).
ifcfg
Классическая утилита конфигурации сетевых интерфейсов ifcfg
route
Настройка таблицы маршрутизации route
В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip
Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf
Ручная настройка сети в ArchLinux
Для просмотра доступных сетевых интерфейсов используется команда ip link
ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:
Содержимое enp1s0-work после редактирования
Базовые команды netctl
Ручная настройка сети в Ubuntu
Просмотр доступных интерфейсов — ifcfg -a
Файл конфигурации интерфейсов — /etc/network/interfaces . auto — говорит о том, что интерфейс надо конфигурировать при старте системы.
После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.
Ручная настройка сети в CentOS 6
Общие настройки сети
Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры — нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.
Конфигурация интерфейса
Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0
Интерфейс, получающий адрес по DHCP
Дополнительный IP адрес на интерфейсе eth1
Инициализация VLAN на eth1
Настройка DNS
Файл /etc/resolv.conf
Ручная настройка имен хостов файл /etc/hosts
Настройка брандмауэра
Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall
Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.
После ручного изменения правил их можно сохранить командой service iptables save
Источник
Настройка сети в 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, это самые основные команды, которые можно использовать для администрирования сети в Linux. Эта статья не научит вас всем тонкостями использования таких команд, это всего лишь небольшой список с кратким описанием.
Лучшие сетевые утилиты Linux
ping хост — позволяет отправить ICMP запрос на удалённый хост. Пакеты будут отправляется непрерывно, пока вы не нажмете Ctrl+C. Когда пакет будет отправлен, хост должен отправить ответное ICMP сообщение, это и будет означать, что другой хост работает. Подробнее про ping читайте тут.
telnet хост порт — позволяет проверить доступность определенного порта на хосте. По умолчанию telnet использует порт 23, но также можно использовать и другие. Нажмите Ctrl+] чтобы завершить работу telnet. Подробнее читайте в статье команда telnet linux.
arp — протокол ARP используется для преобразования IP адресов интернет в физические адреса используемой сети. Эта команда, если передать ей опцию -a позволяет вывести таблицу маршрутизации на вашем устройстве. С помощью опции -d можно удалить все записи. Так или иначе все записи удаляются по истечении 20 минут после добавления.
route — с помощью маршрутизации операционная система определяет к какому узлу надо передать тот или иной пакет. Без параметров эта утилита выводит текущую таблицу маршрутизации. Параметр flush позволяет удалить все маршруты, а add добавить новый маршрут. Подробнее читайте тут.
traceroute ip_адрес — очень полезная утилита, для отслеживания маршрута пакетов. Чаще всего с помощью этой команды выполняется проверка сети linux. Пакет отправляет сообщение на компьютер-отправитель со всех шлюзов между источником и пунктом назначения. Подробнее в статье Команда traceroute.
nslookup домен — отправить запрос DNS серверу, на преобразование доменного имени в IP. Например, nslookup ya.ru вернет IP адрес сервера ya.ru. Подробнее тут.
ip — популярная современная утилита для просмотра сетевых подключений в системе Linux. Позволяет посмотреть сетевые интерфейсы, IP адреса, маску сети, таблицу маршрутизации и многое другое. Подробнее в статье Команда ip в Linux.
iw — позволяет управлять беспроводными интерфейсами, просматривать список подключённых или доступных беспроводных сетей.
ifconfig интерфейс — устаревший аналог утилиты ip. Позволяет посмотреть информацию о сетевых подключениях, IP адрес, маску сети и другие параметры. Без параметров выводит список всех интерфейсов в системе, в параметрах можно передать конкретный интерфейс, по которому надо получить данные. Кроме того, можно поднимать или отключать сетевые интерфейсы. Подробнее тут.
tcpdump — консольный сетевой анализатор, позволяющий посмотреть трафик, проходящий через сетевой интерфейс. Можно анализировать содержимое сетевых пакетов и их тип. Подробнее читайте здесь.
ethtool — позволяет смотреть и изменять параметры сетевой карты.
ss — позволяет вывести все открытые локальные сокеты и проанализировать какие программы их используют. Можно отдельно выводить UDP, TCP и Unix сокеты, а также смотреть к каким удалённым сокетам подключены программы компьютера. Подробнее тут.
netstat — устаревший аналог ss, вместо подсистемы ядра здесь используется файловая система proc, а также данные выводятся немного в другом формате.
nc — утилита позволяет создавать новые сетевые сокеты и подключаться к существующим по сети. Это может понадобиться для тестирования работы сети или приложений. Подробнее тут.
iperf — программа позволяет проверить скорость и стабильность сетевого подключения.
iptraf — позволяет смотреть статистику о сетевых подключениях в реальном времени. С помощью этой утилиты вы можете оценить с какой скоростью передаются данные на ваших сетевых интерфейсах.
Выводы
В этой статье мы рассмотрели самые полезные сетевые утилиты Linux, с помощью них вы можете выполнять тестирование сети, проверить сеть на работоспособность и обнаружить неполадки. Более подробную информацию по каждой из них вы можете найти в официальной документации или в отдельных статьях на сайте.
Источник