Как узнать адрес основного шлюза, за минуту
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. Не так давно мы с вами совместными усилиями разобрали тему » Как узнать ip адрес компьютера», и там мы вскользь познакомились с понятием шлюза. В данной статья я бы хотел подробно рассмотреть вопрос, что из себя представляет основной шлюз на компьютере и каким образом вы его можете узнать, буквально в несколько кликов. Данная информация всегда полезна при диагностике проблем с подключением к интернету. Ну что приступаем.
Что такое основной шлюз или Default gateway?
Основной шлюз — это сетевое устройство или специальная операционная система, в задачи которого входит передача сетевого трафика из одной локальной сети в другую, данный процесс называется маршрутизация. Шлюз по умолчанию позволяет устройствам из одной сети взаимодействовать с устройствами в другой сети. Проще всего понять весь процесс на практике.
- Предположим, что у вас в организации есть два сегмента, один серверный, а другой пользовательский. С точки зрения зрения безопасности сетевые инженеры их разделяю друг от друга, чтобы оба сегмента были автономны и независимы. И вот, чтобы пользователь мог получить доступ к серверу, он должен обратиться к своему шлюзу, у которого есть маршрут до серверного сегмента, благодаря этому клиент получает доступ, Default gateway в данном случае выступает как посредник.
- Более простой способ понять шлюз по умолчанию — подумать о нем как, о промежуточном устройстве между локальной сетью и Интернетом. Это необходимо для передачи внутренних данных в Интернет, а затем обратно. У каждого из вас дома есть провайдерский интернет. Ваш компьютер для других пользователей интернета не доступен, так как он находится в вашей локальной, внутренней сети или же сети провайдера, и скрыт Firewall-ом и маршрутизаторами, но это вам не мешает получать доступ в интернет, так как все эти задачи вы перекладываете на ваш основной шлюз в системе.
Выглядит, этот процесс вот так. Предположим, что мой компьютер находится в Москве, и мне нужно получить доступ к серверу из Волгограда. Мой компьютер не знает, как туда попасть, у него нет маршрута, но есть основной шлюз в системе. Компьютер делает у него запрос, как попасть на сервер в Волгограде. Основной шлюз смотрит свою таблицу маршрутов и идет на свой основной шлюз или статический маршрут и так до пункта назначения.
Так же можете прочитать об этом и на Википедии https://ru.wikipedia.org/wiki/Шлюз_по_умолчанию
Как найти ваш IP-адрес шлюза по умолчанию в Windows
Способов узнать адрес основного шлюза в Windows очень много. Вы можете использовать, как встроенные методы, так и специальные утилиты.
Универсальный метод для Windows платформ
- Самый простой и быстрый метод определения шлюза по умолчанию, можно считать просмотр свойств сетевого интерфейса из «Центра управления сетями и общим доступом». Для того, чтобы открыть данное меню. Нажмите одновременно клавишу WIN и R. В окне выполнить, введите ncpa.cpl и нажмите Enter.
В итоге у вас откроется окно «Панель управления\Сеть и Интернет\Сетевые подключения» со списком ваших сетевых интерфейсов.
Так же добраться до этих списков вы можете и через значок сети в правом углу. Данный метод, подойдет для Windows 7 и Windows 8.1. Кликаем по нему правой кнопкой мыши и выбираем из контекстного меню «Центр управления сетями и общим доступом»
Нажимаем пункт «Изменение параметров адаптера», после чего у вас появятся все ваши сетевые интерфейсы.
Теперь выбрав любой из них, щелкните по нему правым кликом мыши и выберите пункт «Состояние».
В окне состояния нажмите кнопку «Сведения», чтобы посмотреть подробные настройки. Найдите пункт «Шлюз по умолчанию». На против него будет показан IP-адрес вашего Default gateway. В моем случае, это 192.168.31.254.
Как узнать ip адрес основного шлюза в Windows 10
Так как компания Microsoft всеми правдами и неправдами пытается избавится от панели управления и всех входящих в нее средств, в пользу нового универсального интерфейса, то в Windows 10, есть свой метод получения информации, об адресе основного шлюза. Называется данная настройка «Параметры сети и Интернет», попасть в нее вы можете, по прежнему из контекстного меню значка сети.
Либо нажав одновременно клавиши WIN и I, тем самым вызвав «Параметры Windows». Находите там пункт «Сеть и Интернет (Wi-Fi, режим в самолете, VPN)»
В пункте «Состояние» находим настройку «Просмотр свойств сети»
Откроется новое окно, где вы увидите огромное количество сетевых данных, в том числе и ip адрес основного шлюза. Я выделил его красной чертой.
Как узнать ip адрес основного шлюза через командную строку
Любой системный администратор просто обязан знать утилиту командной строки IPCONFIG. Благодаря ей вы можете за пару секунд получить все данные по шлюзу по умолчанию в Windows, любой версии. Откройте командную строку cmd и введите.
В итоге вы получите вот такую информацию:
- Адаптер Ethernet Ethernet0:
- DNS-суффикс подключения . . . . . : root.pyatilistnik.org
- Локальный IPv6-адрес канала . . . : fe80::2050:8cd7:31f6:eae8%8
- IPv4-адрес. . . . . . . . . . . . : 192.168.31.51
- Маска подсети . . . . . . . . . . : 255.255.255.0
- Основной шлюз. . . . . . . . . : 192.168.31.254
Согласитесь, что данный метод определения шлюза, куда быстрее.
Если хотите вывести информацию только по адресам Default gateway, то введите команду:
ipconfig | findstr «Основной шлюз»
Как определить ip адрес основного шлюза через PowerShell
Логично предположить, что Windows PowerShell так же все умеет. Запускаем оснастку PowerShell и вводим команду:
Get-NetIPConfiguration
В итоге вы получите адреса шлюз на всех ваших сетевых интерфейсах.
Как узнать основной шлюз через реестр
HKLM/System/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/
У вас тут будет GUID имена ваших сетевых интерфейсов, вам необходимо найти свой. В нужном интерфейсе будет ключ реестра «DhcpDefaultGateway»
Или если у вас статический IP-адрес, то ключ будет назваться Default gateway.
Увидеть ip адрес основного шлюза сторонними утилитами
Помимо встроенных методов, существует огромный пласт всевозможных сетевых утилит, я не буду подробно на них останавливаться, так как их огромнейшее количество, я лишь приведу тут несколько из них, которые сам иногда применяю на своей практике.
- Утилиты Piriform Speccy, от разработчиков Ccleaner. Утилита бесплатная и показывает кучу информации по оборудованию в системе, нас будет интересовать вкладка «Network». Тут будет выведена информация по вашим сетевым интерфейсам. Найдите нужный и обратите внимание на пункт Gateway Server, это и есть ip адрес вашего шлюза.
- Или через утилиту network Inrerfaces View Default gateway.
Поиск шлюза по умолчанию на Mac или Linux
На компьютере MacOS существует два способа найти шлюз по умолчанию: через графическую программу и через командную строку. Самый простой способ найти шлюз по умолчанию для Mac — через Системные настройки . Нажмите « Сеть»,
выберите используемое сетевое подключение, затем « Дополнительно» . Нажмите вкладку TCP/IP и найдите IP-адрес рядом с Маршрутизатором .
Другой способ найти шлюз по умолчанию для вашего Mac — использовать следующую команду netstat через терминал. Для этого зайдите в Finder > Applications (Программы) > Utilities (Утилиты) и запустите программу Terminal (Терминал).
netstat -nr | grep default
IP адрес основного шлюза в Android
Чтобы найти в Android информацию про основной шлюз, то вы должны иметь активное подключение к Wi-Fi сети. Далее открываете настройки телефона и переходите в пункт «Wi-Fi»
Переходим в настройки Wi-Fi подключения.
И находим пункт «Шлюз», это и есть нужный нам адрес.
Получение IP-адреса основного шлюза в iOS Iphone
- Откройте приложение «Настройки» в iOS и перейдите в раздел «Wi-Fi»
- Найдите название сети Wi-Fi, которая в данный момент подключена, и нажмите (i) синюю информационную кнопку рядом с именем
- Найдите в разделе «IP-адрес» значение «Маршрутизатор» — рядом с ним указан IP-адрес этого маршрутизатора или шлюза.
Может ли быть два основных шлюза
На этом я заканчиваю свою долгую статью по определению и нахождению основного шлюза в различных системах. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.
Популярные Похожие записи:
- Настройка сети в CentOS 8, за минуту
- Что такое виртуальный сетевой адаптер и в каких случаях он может пригодиться?
- Бесконечное подключение по RDP в Windows 11
- Словарь системного администратора
- Как удалить Internet Explorer (IE) из Windows Server и Windows 10
- Ошибка RAC0509 the server temporarily unavailable
Настройка сети вручную
В данном руководстве объясняется, как подключить компьютер к сети при помощи конфигурационных файлов и консольных утилит. Основная цель — рассказать о различных способах подключения к интернету без использования GUI (графического интерфейса). Руководство не затрагивает таких тем, как настройка сетевых фильтров или, например, собственных точек доступа Wi-Fi. Подразумевается, что существует некий, предоставленный провайдером, способ подключения к интернету, для использования которого и необходимо выполнить приведенные ниже действия.
В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов «nano» и «gedit». Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а «gedit» можно использовать только при включенной графической среде.
Требования к системе
Для воспроизведения описанных в руководстве действий подходит любой вариант установки системы. Наличие графического пользовательского интерфейса не обязательно. Все действия необходимо выполнять в консоли. Подразумевается, что команды, начинающиеся с символа $ — необходимо выполнять от пользователя, а начинающиеся с # — от суперпользователя (root).
Прежде чем Вы начнете, убедитесь, что:
Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например, тут Вы можете прочитать, как отключить установленный по умолчанию в Ubuntu сетевой помощник Network Manager.
Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например, Firestarter) отключены/правильно настроены и не вмешиваются в работу сети.
У Вас есть все необходимые параметры для подключения в Вашей сети (например, IP-адрес, маска подсети и шлюз по умолчанию для соединения с использованием статического IP).
Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и «знают» Ваш сетевой интерфейс.
Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен.
Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды:
$ sudo lshw -C network
Она позволяет посмотреть подключенные сетевые устройства.
Пример вывода команды:
ubuntu@ubuntu:~$ sudo lshw -C network *-network description: Ethernet interface # Тип устройства product: L2 100 Mbit Ethernet Adapter # Название адаптера vendor: Attansic Technology Corp. # Производитель устройства physical id: 0 bus info: pci@0000:03:00.0 logical name: eth0 # Имя сетевого интерфейса version: a0 serial: 00:00:00:00:00:00 # Физический адрес устройства (mac-адрес) size: 100MB/s capacity: 100MB/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=atl2 # Используемый драйвер driverversion=2.2.3 # Версия драйвера duplex=full firmware=L2 ip=192.168.0.5 latency=0 link=yes # Наличие линка module=atl2 multicast=yes port=twisted pair speed=100MB/s # Текущая скорость подключения.
Обратите внимание на строку:
logical name: eth0
eth0 — это и есть искомое имя сетевого интерфейса.
Имя eth0 будет далее применяться для настройки именно данной сетевой карты. Где eth обозначает что используется Ethernet интерфейс, а 0 — номер устройства. Если у вас установлено несколько сетевых устройств, то, соответственно, им будут присвоены имена: eth0 , eth1 , eth2 и т.д.
После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX). Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.
Более подробно о наименовании сетевых интерфейсов в SystemD можно почитать тут (англ.).
Такое переименование можно отключить добавив в /etc/default/grub, в строку с переменной GRUB_CMDLINE_LINUX_DEFAULT строку net.ifnames=0. После этого нужно выполнить sudo update-grub
Настройка проводной сети
Настройка IP-адреса, шлюза по умолчанию, маски подсети
Отредактируйте файл конфигурации /etc/network/interfaces , например так:
$ sudo nano /etc/network/interfaces
И допишите в него:
Для статического IP:
iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 auto eth0
iface eth0 inet static — указывает, что интерфейс ( iface eth0 ) находится в диапазоне адресов IPv4 ( inet ) со статическим ip ( static );
address 192.168.0.1 — указывает что IP адрес (address) нашей сетевой карты 192.168.0.1;
netmask 255.255.255.0 — указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;
gateway 192.168.0.254 — адрес шлюза ( gateway ) по умолчанию 192.168.0.254;
dns-nameservers 192.168.0.254 8.8.8.8 — адреса DNS серверов (о ниж мы расскажем позже)
auto eth0 — указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.
eth0 — имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:
$ ip addr
В итоге файл /etc/network/interfaces должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Моя проводная сеть. iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 auto eth0
Сохраните файл и закройте редактор. В данном примере (редактор nano) — нажмите Ctrl + X , затем Y , убедитесь, что «Имя файла для записи» — /etc/network/interfaces и нажмите Enter .
Более подробно про синтаксис файла /etc/network/interfaces можно прочитать в документации.
Пример конфигурации для динамического IP:
iface eth0 inet dhcp auto eth0
Временная настройка IP-адреса и маски подсети
При необходимости задать пробные настройки, выполните:
$ sudo ip addr add 192.168.0.1/24 dev eth0
Где 192.168.0.1 — наш IP-адрес, /24 — число бит в префиксной части адреса (соответствует маске подсети 255.255.255.0).
eth0 — подключаемый сетевой интерфейс.
Данные настройки пропадут после перезагрузки системы и не повлияют на файл /etc/network/interfaces
Настройка DNS
За конфигурацию DNS отвечает утилита resolvconf, которая работает в паре с небольшим кеширующим DNS сервером dnsmasq. resolvconf позволяет осуществить настройку DNS на основе данных от разных подсистем.
Одним из следствий этого полезного нововведения (переход на эту схему произошел в Ubuntu начиная с версии 12.04) является то, что теперь файл /etc/resolv.conf генерируется автоматически, а не индивидуально каждой программой, которая хочет его изменить (порой перезаписывая правки сделанные ранее). Автоматическая генерация /etc/resolv.conf означает, что внесенные «руками» изменения в него будут потеряны.
Автоматически формируемый /etc/resolv.conf содержит ссылку на DNS сервер на локальном интерфейсе (127.0.1.1), а там (на 53 порту) и сидит сервис dnsmasq, который отвечает за разрешение символьных имен в IP адреса. Нужно отметить, что этот порт (53) открыт в режиме LISTEN, но т.к. это локальный интерфейс, то из внешней сети этот порт не доступен.
Информацию о DNS для статических интерфейсов теперь надо вносить в /etc/network/interfaces 1) в параметры dns-nameservers, dns-search и dns-domain (которые соответствуют параметрам nameserver, search и domain в /etc/resolv.conf)
Обратите внимание — в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.
В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:
iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 8.8.8.8 192.168.0.254 auto eth0
Ubuntu до версии 12.04
В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:
$ sudo gedit /etc/resolv.conf
и впишите туда адреса DNS серверов (отдельные записи для каждого сервера):
nameserver 192.168.0.100 nameserver 192.168.0.200
Где 192.168.0.100 и 192.168.0.200 — адреса DNS серверов. Если нужно добавить больше адресов — каждый адрес нужно начинать с новой строки и с фразы nameserver
Настройка соединений ppp
За создание соединений типа «точка-точка» в Ubuntu отвечает демон pppd , более подробная информация о котором доступна в документации. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.
Соединение PPPoE
В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – pppoeconf , для ее запуска наберите:
$ sudo pppoeconf
Появится «псевдографическое» 2) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема 3) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат — проверьте правильность подключения, питание модема. Следующий шаг — выбор «популярных параметров» — в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем — пароль. Теперь — выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер MSS до 1452-х байт — как правило, стоит согласиться. Следующий вопрос — устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты — установить ли соединение сейчас. pppoeconf по умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:
$ sudo pon dsl-provider # Для подключения или $ sudo poff dsl-provider # Для отключения
Если в Вашем случае опций, предоставляемых утилитой pppoeconf недостаточно — обратитесь к документации по pppd или pppoeconf.
Замечание: при настройке соединения с помощью pppoeconf часть настроек записывается в /etc/network/interfaces , в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги. Вернуть управление Network Manager можно следующим образом. Приведите /etc/network/interfaces к следующему виду (лишнее не обязательно удалять, достаточно закомментировать):
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback
$ sudo /etc/init.d/networking restart
Перезагрузитесь или перезапустите Network Manager:
$ sudo /etc/init.d/NetworkManager restart
Соединение PPTP
Для осуществления VPN-соединения при помощи pppd Вам потребуется установить пакет pptp-linux , который может быть найден на установочном диске Ubuntu. Далее создайте (от root’а) в папке /etc/ppp/peers файл с названием Вашего провайдера и отредактируйте его, например так:
$ sudo nano /etc/ppp/peers/my-provider
И добавьте туда опции подключения, например такие:
persist # При разрыве соединения - переподключаться снова. maxfail 0 # Максимальное количество неудачных попыток подключения. 0 - бесконечно. mtu 1476 # Значение MTU name # Ваш логин. #nodefaultroute # Не быть шлюзом по умолчанию defaultroute # Быть шлюзом по умолчанию replacedefaultroute # Заменить шлюз по умолчанию если он был remotename # Имя удаленного сервера (для нас), может быть любым. pty "pptp --nolaunchpppd" # Команда запуска pptp. # Адрес сервера - может быть как IP адресом, так и доменным именем, например vpn.foo.bar
Далее — отредактируйте файл /etc/chap-secrets 4) и добавьте туда:
После перезагрузки системы Вы сможете управлять соединением при помощи команд:
$ sudo pon my-provider # Для подключения или $ sudo poff my-provider # Для отключения
Процесс настройки VPN-соединения может сильно облегчить скрипт-помощник.
Настройка DIAL-UP подключения
Для настройки модемного соединения можно использовать встроенный конфигуратор pppd — pppconfig или специальную утилиту wvdial .
При помощи pppconfig
Процесс настройки при помощи pppconfig во многом похож на утилиту pppoeconfig , Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:
$ sudo pppconfig
Управлять соединением можно так:
$ sudo pon my-provider # Для подключения или $ sudo poff my-provider # Для отключения
Где my-provider — имя, присвоенное Вами соединению при настройке.
При помощи wvdial
В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать wvdial . Для этого нужно его сначала установить. Например так:
$ sudo apt-get install wvdial
В состав пакета wvdial входит утилита автоматического конфигурирования — wvdialconf .
$ sudo wvdialconf
Вывод будет примерно следующим:
ubuntu@ubuntu:~$ sudo wvdialconf [sudo] password for ubuntu: Editing `/etc/wvdial.conf'. Scanning your serial ports for a modem. Modem Port Scan: S0 S1 S2 S3 WvModem: Cannot get information for serial port. ttyACM0: ATQ0 V1 E1 -- OK ttyACM0: ATQ0 V1 E1 Z -- OK ttyACM0: ATQ0 V1 E1 S0=0 -- OK ttyACM0: ATQ0 V1 E1 S0=0 &C1 -- OK ttyACM0: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyACM0: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM0: Modem Identifier: ATI -- Manufacturer: QUALCOMM INCORPORATED ttyACM0: Speed 4800: AT -- OK ttyACM0: Speed 9600: AT -- OK ttyACM0: Speed 19200: AT -- OK ttyACM0: Speed 38400: AT -- OK ttyACM0: Speed 57600: AT -- OK ttyACM0: Speed 115200: AT -- OK ttyACM0: Speed 230400: AT -- OK ttyACM0: Speed 460800: AT -- OK ttyACM0: Max speed is 460800; that should be safe. ttyACM0: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK Found an USB modem on /dev/ttyACM0. Modem configuration written to /etc/wvdial.conf. ttyACM0: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.
$ sudo nano /etc/wvdial.conf
В данном примере я дополнительно добавил несколько опций. См. комментарии.
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = USB Modem ISDN = 0 Idle Seconds = 0 New PPPD = yes Dial Attempts = 0 Phone = #777 Modem = /dev/ttyACM0 Username = mobile Password = internet Baud = 460800 Idle Seconds = 0 # Время простоя соединения, # после которого нужно будет его разорвать. Значение 0 - никогда. Dial Attempts = 0 # Количество попыток дозвона. 0 - бесконечно. [Dialer pulse] Dial Command = ATDP # Команда набора номера (P - импульсный, T - тональный). Имеет смысл для набора номера в импульсном режиме на старых АТС.
Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.
Теперь, когда все настроено, соединение можно установить набрав:
$ sudo wvdial
Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой
$ sudo wvdial pulse
Прервать соединение можно прервав выполнение команды wvdial , т.е. в том же терминале нужно нажать Ctrl + C .
Автоматическое подключение
Отредактируйте файл конфигурации /etc/network/interfaces , например так:
$ sudo nano /etc/network/interfaces
И допишите в него:
Для pppoe , pptp , и модемного подключения без использования wvdial :
iface ppp0 inet ppp provider my-provider auto ppp0
Где my-provider — название вашего соединения.
При использовании wvdial :
iface ppp0 inet wvdial provider wvdial auto ppp0
Теперь при перезапуске сетевых служб соединение будет автоматически установлено.
Ручная настройка роутинга
Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную — Вы можете создать свой скрипт в /etc/ppp/ip-up.d/ , либо по рекомендации официальной документации создать /etc/ppp/ip-up.local например так:
$ sudo nano /etc/ppp/ip-up.local
$ sudo nano /etc/ppp/ip-up.d/routing
со следующим кодом:
#! /bin/sh # route del default route add default ppp0 # Имя ppp-подключения. # тут - необходимые маршруты, например: route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
Далее — сделайте этот скрипт исполняемым, например так:
$ sudo chmod ug+x /etc/ppp/ip-up.local
$ sudo chmod ug+x /etc/ppp/ip-up.d/routing
Теперь маршруты будут автоматически подключаться при установлении ppp-соединения.
Установка MTU и TTL
MTU (Maximum Transfer Unit) — параметр определяет величину максимальной единицы передачи. Это максимальное количество октетов (байт), которое интерфейс способен поддерживать за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет 1500 (максимальный размер пакета Ethernet).
TTL (Time To Live) — время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами. Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу. Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu). Для DNS -записей TTL определяет время актуальности данных при кешировании запросов.
Для изменения величины MTU, отредактируем файл конфигурации /etc/network/interfaces , например так:
auto eth0 iface eth0 inet static address 192.168.1.5 netmask 255.255.255.0 mtu 600
Для изменения величины TTL наберите:
$ sudo su затем # echo "128" > /proc/sys/net/ipv4/ip_default_ttl
Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите exit
Настройка WiFi
Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces
В этой главе пойдет речь о настройке подключения к существующей Wi-Fi сети с использованием наиболее безопасного на сегодняшний день стандарта шифрования и аутентификации WPA2. Дополнительно приведены примеры настроек для менее безопасных соединений.
Если Вы можете повлиять на настройку точки доступа, например, в случае, если это Ваш домашний Wi-Fi роутер — постарайтесь настроить авторизацию с использованием WPA2, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.
Замечания
Дополнительно к требованиям, указанным выше Вам следует учесть, что:
После установки всех необходимых пакетов, кабель проводной сети лучше отсоединить.
Некоторые устройства (или их драйвера, например Madwifi) не поддерживают WPA2 (AES). Если соединение WPA2 установить не удается, можно попробовать WPA1 (TKIP).
Если у Вас RTxxx (Ralink) с драйверами Serialmonkey — этот способ Вам не поможет. Вам следует либо установить пакет ndiswrapper , заменяющий Serialmonkey, либо попробовать другой способ.
Подготовка
Установите пакеты wpa-supplicant и wireless-tools
Например так:
$ sudo apt-get install wpasupplicant wireless-tools
Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это «wlan0») работает и «видит» беспроводные сети. Команда
$ iwconfig
должна выдать примерно такой результат:
ubuntu@ubuntu:~$ iwconfig lo no wireless extensions. eth0 no wireless extensions. wmaster0 no wireless extensions. wlan0 IEEE 802.11bg ESSID:"" Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Tx-Power=27 dBm Retry min limit:7 RTS thr:off Fragment thr=2352 B Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
а доступные сети можно посмотреть командой
$ iwlist scan
которая должна выдать примерно такой результат:
ubuntu@ubuntu:~$ iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:00:00:00:00:00 ESSID:"ubuntuessid" Mode:Master Channel:8 Frequency:2.447 GHz (Channel 8) Quality=7/100 Signal level:-99 dBm Noise level=-104 dBm Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s 12 Mb/s; 48 Mb/s Extra:tsf=0000001d57e98bf6 Extra: Last beacon: 388ms ago
Бывает, что Ваше устройство Wi-Fi не включено по умолчанию, тогда команда вместо рапорта, приведенного выше выдаст такое сообщение:
wlan0 Failed to read scan data : Network is down
Ничего страшного, просто введите команду
sudo ip link set dev wlan0 up
соответственно выключить устройство можно командой
sudo ip link set dev wlan0 down
Настройка
Редактируем /etc/network/interfaces , например так:
$ sudo gedit /etc/network/interfaces
Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:
iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-proto RSN wpa-pairwise CCMP wpa-group CCMP wpa-key-mgmt WPA-PSK wpa-psk [ВАЖНО - см. Генерация ключей] auto wlan0
Параметр | Описание |
---|---|
iface wlan0 inet dhcp | конфигурация для DHCP (для статического IP см. пример ниже) «iface wlan0» — Имя нашего интерфейса (wlan0, eth1, rausb0, ra0, итд.) |
wpa-driver | Это wpa-driver для нашей карты (‘wext’ — общий драйвер для linux, работающий с «ndiswrapper»). Рекомендуется оставить как есть. Другие варианты: hostap = Host AP driver (Intersil Prism2/2.5/3) atmel = ATMEL AT76C5XXx (USB, PCMCIA) wext = Linux wireless extensions (generic) madwifi = Atheros wired = wpa_supplicant wired Ethernet driver |
wpa-ssid | Имя нашей точки доступа (ESSID). Без кавычек. |
wpa-ap-scan | Параметр вещания точкой доступа ее имени. «1» = ESSID вещается всем. «2» = ESSID скрыт. |
wpa-proto | Протокол «RSN» = WPA(2) «WPA» = WPA(1) |
wpa-pairwise & wpa-group | «CCMP» = AES-шифрователь (как часть стандарта WPA(2)) «TKIP» = TKIP-шифрователь (как часть стандарта WPA(1)) |
wpa-key-mgmt | «WPA-PSK» = Аутентификация через ключевую фразу (см. ‘Cоздание ключей’) «WPA-EAP» = Аутентификация при помощи сервера аутентификаций. |
auto wlan0 | Автоматическое включение wlan0 при загрузке/перезагрузке сети. |
Генерация ключей
Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII ) в hex-ключ:
$ wpa_passphrase
Результат будет примерно таким:
network=
hex-ключ это все символы после «psk=».
Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.
Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так — перезагружаем машину.
Дополнительно
Отключаем чтение файла /etc/network/interfaces для others во избежания попадания пароля от сети к третьим лицам.
$ sudo chmod o=-r /etc/network/interfaces
Примеры конфигураций
WPA2 + статический IP, скрытый ESSID.
iface wlan0 inet static address 192.168.168.40 gateway 192.168.168.230 dns-nameservers 192.168.168.230 netmask 255.255.255.0 wpa-driver wext wpa-ssid wpa-ap-scan 2 wpa-proto RSN wpa-pairwise CCMP wpa-group CCMP wpa-key-mgmt WPA-PSK wpa-psk [ВАЖНО - см. Генерация ключа] auto wlan0
WPA1 + DHCP , ESSID виден всем.
iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-proto WPA wpa-pairwise TKIP wpa-group TKIP wpa-key-mgmt WPA-PSK wpa-psk [ВАЖНО - см. Генерация ключа] auto wlan0
Смешанный режим (WPA1, WPA2) + DHCP , ESSID виден всем.
iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-proto WPA RSN wpa-pairwise TKIP CCMP wpa-group TKIP CCMP wpa-key-mgmt WPA-PSK wpa-psk [ВАЖНО - см. Генерация ключа] auto wlan0
LEAP, WEP, DHCP , ESSID виден всем.
iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-eap LEAP wpa-key-mgmt IEEE8021X wpa-identity wpa-password auto wlan0
PEAP, AES, DHCP , ESSID виден всем.
iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-proto RSN wpa-pairwise CCMP wpa-group CCMP wpa-eap PEAP wpa-key-mgmt WPA-EAP wpa-identity wpa-password auto wlan0
TTLS, WEP, DHCP , ESSID виден всем.
iface wlan0 inet dhcp wpa-driver wext wpa-ssid wpa-ap-scan 1 wpa-eap TTLS wpa-key-mgmt IEEE8021X wpa-anonymous-identity wpa-identity wpa-password wpa-phase2 auth=PAP [Также: CHAP, MSCHAP, MSCHAPV2] auto wlan0
Другие способы работы Wi-Fi оборудования
При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства — обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе Cсылки .
Решение проблем
Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором
Симптомы: сеть обычно изначально работает нормально, долго или недолго, а затем неожиданно пропадает и не появляется после перезагрузки. Эта проблема может быть непостоянной. Сеть «сама собой» начинает работать, а затем пропадает вновь. При перезапуске адаптера сети таким образом:
sudo ifdown wlan0 sudo ifup wlan0
будет выводиться в консоль похожий текст
Listening on LPF/wlan0/00-02-2A-E1-E0-6C Sending on LPF/wlan0/00-02-2A-E1-E0-6C Sending on Socket/fallback DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15 No DHCPOFFERS received. No working leases in persistent database - sleeping.
Причиной проблемы может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.
Простое решение проблемы состоит в выключении компьютера и выдергивании кабеля питания из розетки с последующим подключением шнура питания и включением компьютера.
Сложное решение проблемы состоит в настройке параметров BIOS-а на полное обесточиваение сетевого оборудования при выключении компьютера.
Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором
Симптомы: сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после ~дцатой~ перезагрузки маршрутизатора сеть сама собой появляется вновь.
Причиной проблемы может быть то, что некоторые маршрутизаторы произвольно выбирают номер рабочего канала, игнорируя номер канала выбранный в настройках маршрутизатора. Если в файле /etc/network/interfaces номер канала для беспроводного интерфейса указан, то вероятно проблема состоит именно в этом. Номер 6 канала указывается в файле примерно так:
auto wlan0 . wireless-channel 6
Простое решение проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети
auto wlan0 . #wireless-channel 6
Сложное решение проблемы состоит в регистрации бага на сайте производителя маршрутизатора (прошивки для него) и обновление прошивки маршрутизатора после (в случае) его исправления.
Перезапуск сети
Теперь, когда все необходимые действия выполнены, можно перезапустить сеть и проверить соединение. Для этого:
$ sudo /etc/init.d/networking restart
Теперь, при запуске команды ip addr должно отобразиться подключение eth0 с выставленными параметрами. Если подключение отображается, но параметры не такие, какие были указаны в файле /etc/network/interfaces , либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.
FAQ по сетям
Как зайти на мой компьютер извне (через интернет)?
Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:
Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто.
Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).
Мне кажется, у меня слишком медленно работает сеть!
Измерьте скорость сети между двумя компьютера с помощью iperf . Можно воспользоваться этой инструкцией. В ней предлагают скомпиллировать программу из исходников, но можно просто установить её из репозитория. Если iperf покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, scp и ftp весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP -сервера) или в чём-то ещё. Если iperf показал величину, которая в разы меньше желаемой, то да — с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ethtool ), проверить наличие «errors» в выводе ifconfig и протестировать скорость подключения к какому-нибудь третьему компьютеру.
Как узнать, какие программы слушают порты на моём компьютере?
Чтобы посмотреть список открытых портов и названия слушающих их программ, используйте команду:
sudo netstat -nlpA inet,inet6
Для вывода информации о конкретном порте можно использовать grep . Например, для 80 порта:
sudo netstat -nlpA inet,inet6 | grep :80
Из вывода netstat не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет ps :
ps aux | grep 2671
Как присвоить два IP-адреса одной сетевой карте?
Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1. Кратковременно, до перезапуска сети:
sudo ip addr add 192.168.1.1/24 dev eth0
Навсегда — добавить в /etc/network/interfaces следующее:
#исправить строку auto auto eth0 eth0:1 # добавить алиас iface eth0:1 inet static address 192.168.1.1 netmask 255.255.255.0
Как пробросить порт?
Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.
iptables -t nat -A PREROUTING -p tcp -d внешний_ір --dport 8081 -j DNAT --to-destination внутренний_ір:8081 iptables -t nat -A POSTROUTING -p tcp --dst внутренний_ір --dport 8081 -j SNAT --to-source внешний_ір
И обязательно нужно что-то вроде
iptables -t filter -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
Настройка доступа к Интернет на нескольких компьютерах под управлением ОС WinXP
Если у Вас два и более компьютеров, то Вы можете настроить подключение к интернету на каждом из них.
Для этого определитесь, какой из компьютеров будет «главным», именно он будет выступать в роли шлюза в интернет для всех остальных компьютеров (если он выключен, выход в интернет будет невозможен).
- Настройте на нем сетевое подключение, так как описано здесь со всеми своими сетевыми параметрами.
- Установите на этот компьютер вторую сетевую карту.
- После этого в папке Network Connections (Сетевые подключения) у Вас должно отображаться два пункта Local Area Connection (Подключение по локальной сети). Для удобства можно переименовать первое подключение на «Интернет», а второе на «Офисная сеть».
Зайдите в свойства подключения для второй сетевой карты (Офисная сеть) и отметьте галочками следующие пункты:
- Client for Microsoft Networks (Клиент для сетей Microsoft)
- File and Printer Sharing for Microsoft Networks (Файлы и принтеры для сетей Microsoft)
- Internet Protocol (TCP/IP) (Протокол интернета (TCP/IP))
- IP-address (IP-адрес): 192.168.0.1
- Subnet mask (Маска подсети): 255.255.255.0
- Default gateway (Основной шлюз): ничего не указывайте
- Preferred DNS server (Основной DNS-сервер): 87.249.224.1
- Alternate DNS server (Альтернативный DNS-сервер): 92.61.16.1.
На этом настройки «главного» компьютера завершены.
Убедитесь, что на «главном» компьютере кабель вставлен именно во вторую сетевую карту. B первую сетевую карту вставьте кабель ЛайнерТелеком.
Для удобства можно переименовать это подключение на «Интернет». Зайдите в свойства Local Area Connection (Подключение по локальной сети) и настройте все так, как указано в пункте 3.
Откройте свойства Internet Protocol (TCP/IP) (Протокол интернета (TCP/IP)).
- IP-address (IP-адрес): 192.168.0.2
- Subnet mask (Маска подсети): 255.255.255.0
- Default gateway (Основной шлюз): 192.168.0.1
- Preferred DNS server (Основной DNS-сервер): 87.249.224.1
- Alternate DNS server (Альтернативный DNS-сервер): 92.61.16.1.
Остальные компьютеры надо настраивать c теми же параметрами, что и «второй», но IP-адреса должны раздаваться по порядку, то есть: 192.168.0.3, 192.168.0.4 и т.д.
- Тарифы
- Вопросы и ответы
- Контакты
- Документы
- Оплата услуг
- Рекомендуемое оборудование
- Лицензии
- Доставка документов
- Работы на сети
Введение
Современные версии Astra Linux поддерживают возможность использования трёх (а с учётом возможности использования Astra Linux для мобильных устройств — четырёх) способов настройки сети:
-
Служба NetworkManager — служба, обеспечивающая базовые операции с сетевыми интерфейсами.
Эта служба в первую очередь предназначена для использования на персональных компьютерах, предоставляет удобный графический интерфейс для выполнения базовых операций, но потребляет довольно много ресурсов, поэтому для серверных приложений не рекомендуется. Помимо проводных сетевых интерфейсов может работать с интерфейсами WiFi.
При стандартной установке Astra Linux Common Edition эта служба и её графический интерфейс устанавливаются и запускаются автоматически, и автоматически получают управление внешними сетевыми интерфейсами.
Кроме указанных выше методов настройки сети некоторые сетевые параметры можно устанавливать:
- изменяя параметры ядра (инструмент sysctl);
- получая параметры настроек сетевых подключений по протоколу DHCP с помощь команды dhclient (см. DHCP).
Данный способ применять не рекомендуется, так как после выполнения команды получения сетевых настроек от службы DHCP:
sudo dhclient
в памяти остается процесс dhclient, периодически перезапрашивающий параметры сети и обновляющий настройки сетевых подключений, что конфликтовать с настройками, устанавливаемыми сетевыми службами.
NetworkManager
Конфигурационные файлы NetworkManager
Конфигурационные файлы NetworkManager:
- /etc/NetworkManager/NetworkManager.conf — стандартный конфигурационный файл, не должен изменяться при настройке ОС, не рекомендуется для внесения изменений так как может автоматически изменяться при установке обновлений;
- /etc/NetworkManager/conf.d/*.conf – файлы для размещения локальных изменений конфигурации, вносимых при настройке ОС. Не изменяется при установке обновлений, переопределяет файлы в каталоге /usr/lib/NetworkManager/conf.d/ (см. ниже);
- /usr/lib/NetworkManager/conf.d/*.conf – файлы для размещения локальных изменений конфигурации, вносимых программными пакетами;
- /var/lib/NetworkManager/NetworkManager-intern.conf – внутренний конфигурационный файл, изменяется автоматически службой NetworkManager и не должен изменяться иными способами.
Сценарии и конфигурации сетевых интерфейсов находятся в подкаталогах каталога /etc/NetworkManager/.
Документация по использованию NetworkManager находится в каталоге /usr/share/doc/network-manager/.
Графические средства настройки сетевых интерфейсов
В состав дистрибутива Astra Linux входит сетевая служба NetworkManager и графический инструмент настройки сетевых интерфейсов (апплет) NetworkManager, обеспечивающий графический пользовательский интерфейс для выполнения всех стандартных операций по настройке сети в режиме настольного компьютера.
При стандартной установке Astra Linux служба NetworkManager и соответствующий графический инструмент устанавливаются и запускаются автоматически, получая под свое управление все внешние сетевые интерфейсы.
Графический инструмент после установки доступен через меню «Пуск» — «Панель управления» — «Сеть» — «Сетевые соединения», или через иконку быстрого запуска на всплывающей линейке в нижней части экрана.
Пример настройки адреса DNS-сервера с помощью графического инструмента
При использовании графического инструмента управления настройками сети для того, чтобы указать адрес DNS-сервера, следует выполнить следующие действия:
-
Нажать правой кнопкой мыши (ПКМ) на иконке NetworkManager в системном трее → «Изменить соединения. «:
На вкладке «Параметры IPv4» задать IP-адрес, маску сети и шлюз (при необходимости), а так же IP-адрес контроллера домена в качестве адреса дополнительного DNS-сервера:
Инструмент командной строки nmcli для работы с NetworkManager
В составе пакета имеется инструмент командной строки nmcli для работы с NetworkManager.
Инструмент может работать с устройствами (devices, dev) или с соединениями (connection, con).
Примеры применения командного интерфейса к устройствам:
# установить IP-адрес для устройства eth0
nmcli device modify eth0 ipv4.address 192.168.32.97/24
# установить адрес шлюза для устройства eth0
nmcli device modify eth0 ipv4.gateway 192.168.32.1
# установить адрес DNS для устройства eth0
nmcli device modify eth0 ipv4.dns 192.168.32.1
# проверить настройки устройства eth0
nmcli device show eth0
При установке ОС по умолчанию устанавливается сетевой интерфейс «Проводное соединение 1» , настроенный на получение динамического адреса по протоколу DHCP.
Кроме «длинного» имени «Проводное соединение 1» можно использовать опции path (выбор соединений по номеру конфигурации в шине dBus) или apath (выбор активных соединений по номеру конфигурации в шине dBus), например:
nmcli con show path 3
nmcli con show apath 1
Типовой задачей при настройке серверов является переключение соединения на использование статического (постоянного) IP-адреса.
Пример сценария настройки соединения (connection, сокращенно con), выполняющего эту задачу:
# Имя соединения, и устанавливаемые начальные параметры: адрес/маска (ip), адрес шлюза (gw), адреса DNS (dns, можно несколько адресов через пробел), шлюз для статического маршрута (gwroute)
con=»Проводное соединение 1″
ip=»10.0.2.254/24″
gw=»10.0.2.1″
dns=»10.0.2.254 8.8.8.8″
gwroute=»10.0.2.2″
# Проверить наличие соединения
if nmcli con show «$con» > /dev/null ; then
echo «Настраиваем «$con» на работу со статическим адресом $ip gw $gw.»
# Задать адрес и адрес шлюза
nmcli con mod «$con» ip4 $ip gw4 $gw
# Задать адреса DNS
nmcli con mod «$con» ipv4.dns «$dns 8.8.8.8»
# Добавить статический маршрут
nmcli con mod «$con» +ipv4.routes «192.168.1.0/24 $gwroute»
# Отключаем DHCP, переводим в «ручной» режим настройки
nmcli con mod «$con» ipv4.method manual
echo «Применены следующие настройки:»
nmcli -p con show «$con» | grep ipv4
# Перезапустить соединение для применения новых настроек. Лучше всегда делать перезапуск одной командой, чтобы не терять машину при работе через удаленное подключение:
nmcli con down «$con» ; nmcli con up «$con»
else
echo «Соединение «$con» не найдено, настройте адрес вручную.»
exit 1
fi
Полное описание командного интерфейса доступно в общей системе документации:
man nmcli
man nmcli-examples
man nm-online
Во избежание конфликтов со службой networking служба NetworkManager НЕ РАБОТАЕТ с сетевыми интерфейсами, перечисленными в файле /etc/network/interfaces или в файлах в каталоге /etc/networking/interfaces.d/. По умолчанию в файле /etc/network/interfaces присутствует только интерфейс локальной петли (loopback).
Для того, чтобы NetworkManager прочитал изменения конфигурации (в том числе изменения списка интерфейсов, перечисленных в файле /etc/network/interfaces), следует перезапустить службу NetworkManager:
sudo systemctl restart NetworkManager
При работе со службой NetworkManager можно использовать её псевдоним network-manager: sudo systemctl restart network-manager
Для того, чтобы изменения настроек сетевого адаптера, сделанные через графический интерфейс, вступили в силу, следует перезапустить сетевой адаптер. При работе в графическом интерфейсе это можно сделать просто нажав левой кнопкой мыши на апплет управления сетями и ещё раз нажав левой кнопкой мыши на имя сетевого адаптера в открывшемся списке.
Предотвращение дублирования сетевых адресов
Для предотвращения дублирования сетевых адресов, присваиваемых сетевым интерфейсам, NetworkManager использует параметр сетевого интерфейса ipv4.dad-timeout.
Значения этого параметра:
-
любое положительное число — периодичность проверки в миллисекундах. При положительном значении параметра при смене адреса при активации интерфейса выполняется проверка дублирования. Проверка выполняется с заданной периодичностью. Активация интерфейса не завершается успехом без успешного завершения проверки (т.е., до обнаружения, что дублирование отсутствует).
Проверка дублирования выполняется только при смене (назначении) адреса. При включении интерфейса с ранее назначенным адресом проверка не выполняется.
Для задания значения в конфигурационном файле отдельного сетевого интерфейса параметр можно разместить в секции [ipv4]:
[ipv4] dad-timeout=
Для задания значения, используемого по умолчанию, оно должно быть размещено в секции [connection] (если такой секции нет — то добавить её). Например, файл переопределения умолчаний может называться /etc/NetworkManager/conf.d/dad.conf и иметь следующий вид:
[connection] ipv4.dad-timeout=
Синтаксис команды переопределения значения с помощью интерфейса командной строки:
sudo nmcli con mod ipv4.dad-timeout
sudo nmcli con mod Проводное\ соединение\ 1 ipv4.dad-timeout -1
Networking: Настройка сети из командной строки
Теоретически, службы NetworkManager и networking конфликтовать не должны, так как первая не работает с сетевыми интерфейсами, перечисленными в файле /etc/network/interfaces, а вторая — работает только с интерфейсами, перечисленными в этом файле, но при переходе к использованию службы networking лучше отключить NetworkManager , для чего выполнить команду:
sudo systemctl —now mask NetworkManager
Также можно удалить графическую оснастку NetworkManager (значок сети в панели задач):
sudo apt remove network-manager-gnome
Иконка будет скрыта в следующей сессии пользователя.
Традиционно, настройка сети TCP/IP из командной строки выполняется с использованием инструментов ifup и ifdown, входящих в пакет ifupdown, и предназначенных для высокоуровневой настройки сети.
При этом можно выделить два типичных случая
- Для систем, работающих в статичной сети (например, для серверов), следует сохранять как можно более простую конфигурацию ;
- Для систем, работающих с динамически меняющимися сетями и IP-адресами (например, для мобильных компьютеров) рекомендуется дополнительно использовать для настройки пакет resolvconf, упрощающий переключение конфигураций при смене сетевого адреса.
Пакеты resolvconf и NetworkManager могут конфликтовать, так как работают с одним файлом /etc/resolv.conf
Пакет ifupdown содержит три команды: команды ifup и ifdown, обеспечивающие настройки сетевых интерфейсов в соответствии с конфигурационным файлом /etc/network/interfaces, и команда ifquery, проверяющая корректность конфигурационного файла /etc/network/interfaces.
При этом список включенных в данный момент интерфейсов хранится в файле /run/network/ifstate
Сценарий изменения настройки сетевого интерфейса (на примере интерфейса eth0):
- Внести изменения в файл /etc/network/interfaces в секцию, относящуюся к интерфейсу eth0.
- Проверить корректность файла:
sudo ifquery eth0
sudo ifdown eth0; sudo ifup eth0
Не следует использовать низкоуровневые конфигурационные команды как, например, ifconfig(8) и ip(8) для переключения сетевых интерфейсов во включенное (up) состояние.
Типичной ошибкой при использовании команд ifdown/ifup является повторное назначение параметров интерфейса неотключенным и некорректно работающим сервисом NetworkManager,
что выглядит как игнорирование изменений, внесённых в файл /etc/network/interfaces.
Для проверки полного состояния сетевого интерфейса вместо устаревшей команды ifconfig следует использовать современную команду ip из пакета iproute2:
-
проверить все сетевые адреса, назначенные сетевому интерфейсу:
ip address show dev eth0
sudo ip address flush dev eth0
Сетевые интерфейсы в статичных сетях
Полное описание синтаксиса файла настроек интерфейсов /etc/network/interfaces доступно по команде
man interfaces
Основные опции настройки:
Опции, начинающиеся с «iface …»
Определяют сетевую конфигурацию и имеют следующий синтаксис:
Опции , начинающиеся с «mapping «
Опции , начинающиеся с симовола «#»
Не допускается определять повторяющиеся имена в опциях iface.
Интерфейс локальная петля (loopback)
Автоматическое включение интерфейса локальной петли при запуске системы задаётся в /etc/network/interfaces следующими командами:
auto lo
iface lo inet loopback
Этот интерфейс всегда присутствует в стандартном файле /etc/network/interfaces.
Интерфейс, получающий адрес через DHCP
Отправка запроса DHCP и получение адреса при подключении сетевого кабеля:
allow-hotplug eth0
iface eth0 inet dhcp
Интерфейс со статическим адресом
allow-hotplug eth0
iface eth0 inet static
address 192.168.11.100
netmask 255.255.255.0
gateway 192.168.11.1
dns-domain example.com
dns-nameservers 192.168.11.1
В примере подразумевается следующее:
- Диапазон IP-аресов локальной сети: 192.168.11.0 — 192.168.11.255
- IP-адрес шлюза: 192.168.11.1
- Собственный IP-адрес интерфейса 192.168.11.100
- The resolvconf package: installed
- Имя домена: «example.com» (используется пакетом resolvconf)
- IP-адрес сервера DNS: 192.168.11.1 (используется пакетом resolvconf)
При этом, если не используется пакет resolvconf, соответствующая настройка параметров DNS должна быть выполнена вручную в файле /etc/resolv.conf:
nameserver 192.168.11.1
domain example.com
Systemd-networkd / systemd-resolved
Для использования служб systemd-networkd / systemd-resolved во избежание конфликтов следует отключить, остановить и заблокировать все остальные службы управления сетевыми интерфейсами:
sudo systemctl —now mask NetworkManager
sudo systemctl —now mask networking
sudo systemctl —now mask resolvconf
И разблокировать и запустить systemd-networkd / systemd-resolved:
sudo systemctl unmask systemd-networkd
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
sudo systemctl unmask systemd-resolved
sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved
Конфигурационные файлы сетевых служб systemd хранятся в каталоге /etc/systemd/network.
Доступны следующие типы конфигурационных файлов:
- .link – описывают физические параметры каждого интерфейса: имя, MAC, MTU и другие
- .network – описывают параметры сети: IP, маршруты, DNS и другие
- .netdev – описывают виртуальные интерфейсы, мосты
Описания содержимого конфигурационных файлов доступны в общей системе документации:
man systemd-networkd
man systemd.link
man systemd.network
man systemd.netdev
man systemd-resolved
Мобильный режим
В мобильном режиме используется сетевой менеджер connman, а файл /etc/resolv.conf заменяется на ссылку на файл /var/run/connman/resolv.conf .
Сетевой менеджер connman поддерживает собственный интерфейс командной строки connmanctl.
Описание команд connmanctl доступно в системе документации: