Ubuntu server настройка wifi

Обновлено: 06.07.2024

В современном мире редко встречаются люди, которые используют проводное подключение непосредственно к ноутбуку. Чаще всего провод подключают к роутеру, а тот, в свою очередь, раздает Wi-fi на остальные устройства сети. Есть гаджеты, на которых настройка Wi-fi в Ubuntu не требуется – устройство с коробки способно выходить в сеть. Однако встречаются и такие продукты, которые требуют определенных действий для возможности выхода в Интернет.

Установка драйвера Wi-fi в Ubuntu

Если Ubuntu не определяет наличие сетевых подключений к Wi-fi, скорее всего, в системе не установлен нужный драйвер. Производителей, как и предлагаемых ими моделей Wi-fi-адаптеров огромное количество, а способ установки драйверов для всех универсальный, поэтому для примера выбран адаптер Broadcom.

Первым делом необходимо определить производителя сетевой платы, установленной в компьютере. Для этого выполняется команда:

Здесь вариантов может быть много:

Для Broadcom имеется 4 драйвера. Выбирать нужно среди тех, для которых в последней колонке указано подключение через шину PCI. Данному критерию удовлетворяют:

Среди них можно найти драйвер с расширенными возможностями, однако не факт, что именно он подойдет к имеющемуся адаптеру. b43 предлагает много режимов, но в списке поддерживаемых моделей нет нужной (BCM 4313).

Это вовсе не означает, что настройка Wi-fi в Linux закончена. Теперь необходимо рассмотреть другие варианты. Для модели 4313 подходит brcmcmac. Значит, нужно скачать его.

Найти подходящий драйвер возможно по PCI ID. Этот параметр однозначно дает понять о совместимости ПО с платой. Для просмотра PCI ID для Broadcom в терминале задается команда:

По такому принципу можно найти драйвера для любой модели сетевого адаптера.

Внимание! Перед запуском драйвера, возможно, потребуется установка прошивки, о чем написано на странице скачивания.

Согласно инструкции, скачанный fw-файл необходимо скопировать в папку /lib/firmware/brcm. Для этого в терминале нужно выполнить:

В завершении загружается требуемый модуль ядра. Перед этим следует заблокировать остальные модули, чтобы предотвратить их автозагрузку.

  1. Выгрузить модули:
    sudo modprobe -r wl
    s udo modprobe -r b43
    sudo modprobe -r b43-legaxy
  2. Ограничить их загрузку путем добавления в черный список:

На этом мероприятия по настройке Wi-fi в Linux завершены.

Как подключить Wi-fi Ubuntu

Теперь подключиться к беспроводной сети возможно двумя способами. Первый – использовать графический интерфейс, второй – настроить подключение Wi-fi через консоль Linux. К терминалу прибегают в случаях, когда графический интерфейс недоступен, либо требуется более узкая настройка сети.

Настройка Wi-fi в Ubuntu через графический интерфейс


Настройка Wi-fi в Ubuntu через терминал

Этот способ рекомендуется использовать лишь в случаях крайней необходимости, так как он требует определенных навыков.

Network Manager, позволяющий настроить подключение автоматически, обычно устанавливается по умолчанию вместе с Ubuntu. Однако в некоторых сборках он отсутствует. Например, для настройки Wi-fi на Ubuntu Server проще использовать именно командную строку. Иногда пользователи сами удаляют менеджер, так как он тормозит загрузку системы.

Передача данных в сетях Wi-fi шифруется протоколами WEP, WEB и WPA/WPA2. Первое взламывается за считанные минуты, вследствие чего используется редко. Поэтому рассмотрен будет наиболее надежный и широко распространенный протокол WPA.

Процесс делится на следующие этапы:

  1. Проверить сеть на наличие доступных точек доступа.
  2. Подключиться к выбранной точке через wpa_supplicant.
  3. Присвоить IP-адрес.
  4. Настроить DNS-серверы для корректного открытия веб-страниц.

На первом этапе запускается утилита iwlist:


Последующая настройка требует создания конфигурационного файла. Так как определилась сеть H30_CE550, с ней и пойдет работа:

Подключение создается с помощью wpa_supplicant:

sudo wpa_supplicant -Dnl80211 -iwlp3s0b1 -cwpa.conf

-D – опция, задающая драйвер Wi-fi Ubuntu nl80211. Его нельзя путать с драйверами устройств, так как он изначально имеется в системе и служит посредником между системой и адаптером. Если команда не срабатывает, значит в опции -D необходимо указать устаревший драйвер wext.

-i указывает интерфейс. Его можно узнать из результата выполнения сканирования iwlist.

В параметр -c нужно вписать созданный файл конфигурации.

Далее рекомендуется запустить новый терминал, чтобы избежать появления лишних процессов при настройке Wi-fi в Linux. При этом старый пусть останется открытым.

Для получения IP-адреса используется протокол DHCP. Сначала необходимо просканировать доступные сервера с помощью утилиты dhclient:

Следом отправляется запрос на получение IP:

Удостовериться в успешном присвоении адреса можно командой ifconfig.

На этом подключение Ubuntu к Wi-fi завершено – доступ в Интернет открыт.

Как раздать Wi-fi в Ubuntu

Данная инструкция подойдет пользователям ОС версии 16.04 и выше. В старых версиях Ubuntu возможность создать точку доступа для раздачи Wi-fi реализовывается через терминал.

Для настройки Ubuntu в качестве своеобразного роутера необходимо наличие Wi-fi-адаптера.


Предполагается, что Ethernet-кабель подключен к устройству напрямую. Теперь в меню «Сеть», вызываемом из трея, необходимо выбрать «Изменить соединение» («Edit connections»), и далее, выделив «Ethernet», нажать кнопку Add. В выпадающем списке должен быть установлен «Wi-fi». После нажатия на кнопку «Create» откроется окно настроек соединения.

На вкладке Wi-fi выставляются следующие значения:


На вкладке «Безопасность» необходимо установить протокол WPA/WPA2 и задать пароль, в параметрах IPv4 выбрать режим «Предоставить сеть другим компьютерам».

После сохранения настроек, потребуется активировать соединение, выбрав созданную точку доступа в окне «Подключиться к Hidden Wi-fi network».


Точка доступа Ubuntu создана и доступна для подключения к ней других устройств.

Почему Ubuntu не подключается к Wi-fi

Причин может быть несколько.

  1. Отсутствует адаптер. Выяснить это помогут терминальные команды:
  • ifconfig;
  • iwconfig;
  • lspci;
  • lsusb;
  • lsmod.

Если в результатах их выполнения адаптера нет, значит, проблема в нем.

  1. Адаптер есть, но отключен. Некоторые ноутбуки имеют возможность его отключения через нажатие одной из клавиш Fn.
  2. Wi-fi-сети отсутствуют.

Заключение

Настройка Wi-fi в Ubuntu не представляет сложности даже для новичков в среде Linux. По сути, основная задача заключается в установке драйвера на Wi-fi-адаптер. Все последующие действия обычно выполняют с помощью графического интерфейса и лишь в редких случаях, когда он недоступен, прибегают к терминалу. В новых версиях Ubuntu стало возможным настраивать точку доступа, так же не используя консоль, что значительно упрощает раздачу Интернета для неопытного пользователя.

В наше время проводное подключение ноутбука к интернету используется всё реже. Наиболее распространенный вариант - провод подключён к роутеру, а он уже раздает Wifi на весь дом. Технологию Wifi поддерживают большинство современных ноутбуков, и это удобно - можно взять его с собой на кровать, не боясь переломить шнур, или очень легко перенести его в другую комнату.

Но тут кроется одна проблема: не всегда и не на всех устройствах Wifi поддерживается из коробки. Да, есть такие ноутбуки Linux, в которых настройка Wifi в Ubuntu не нужна: после установки всё работает, вы можете подключаться к сетям или даже создавать точки доступа. Но это не так уж часто. В этой статье будет рассмотрена настройка Wifi в Ubuntu. Мы возьмём самую последнюю версию дистрибутива Ubuntu 16.04 с ядром Linux 4.4. Тут самую важную роль играет ядро, поскольку именно оно отвечает за поддержку оборудования. Я буду предполагать, что у вас не работает Wifi Ubuntu из коробки, если же вас интересует, как подключиться к сети, листайте ниже.

Установка драйвера Wifi

Если вы попробовали подключиться к сети Wifi, и у вас не получилось, хотя пароль был правильный, или у вас даже не определяется системой присутствие сетевой карты Wifi, становится понятно, что из коробки не работает Wifi Ubuntu и нужна дополнительная настройка. Wifi-адаптеров и их производителей очень много. В этой статье мы будем рассматривать только Broadcom, потому что всё не охватить. Но я попытаюсь объяснить так, чтобы вы смогли разобраться, даже если у вас другой производитель адаптера Wifi Ubuntu.

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

sudo lspci | grep Network

wifi11

wifi

Для нашего Broadcom-адаптера есть четыре драйвера, смотрим только те, для которых в последней колонке есть PCI; наш адаптер подключён через эту шину. Это b43, b43-legasy и brcmfmac и brcmcmac.

wifi1

Дальше выбираем лучший драйвер: смотрим на колонки cfg80211, AP, IBSS, mesh, monitor, PHY modes. Собственно, поддержка протокола сап80211, поддержка режима точки доступа, поддержка IBSS, Mesh, поддержка режима прослушивания (для перехвата пакетов) и поддержка расширений протокола b/g/n/a.

Для нас сейчас лучший драйвер по этим параметрам - b43. Открываем его и смотрим, поддерживает ли он нашу карту:

wifi2

Кроме названия, здесь приводится PCI ID карты, чтобы точно определить совместимость. Для Broadcom его можно посмотреть командой:

lspci -nn -d 14e4:

wifi12

Находим нашу карту BCM4313 и в колонке Supported видим No - жаль, но этим драйвером она не поддерживается. Такого PCI ID здесь тоже в помине нет. Но настройка Wifi в Ubuntu ещё не закончена. Возвращаемся назад, и смотрим другой драйвер. Следующий по возможностям драйвер brcmsmac, он не поддерживает Mesh и IBSS, но нам и не нужно.

Открываем, смотрим и видим, что в первой же строчке есть наша карта:

wifi3

Вот теперь мы нашли нужный драйвер и уже даже знаем, какие режимы он поддерживает. Подобным образом можно подобрать драйвер для любого другого адаптера.

Обратите внимание, что перед тем, как запускать драйвер, для него, возможно, необходимо будет установить прошивки. Установка драйвера Wifi Ubuntu не нужна, поскольку он вшит в ядро. Информация о прошивке находится ниже на странице:

wifi4

В нашем случае нужно скачать и скопировать файлы brcm/bcm43xx-0.fw и brcm/bcm43xx_hdr-0.fw to в отдельную папку. Вот они - эти файлы, на вкладке tree, скачиваем и копируем в папку, которая указана в инструкции:

wifi5

sudo cp bcm43* /lib/firmware/brcm/

Как видите, всё немного сложно, но на самом деле там все действия описаны, и все ссылки есть, нужно только внимательно смотреть. Теперь осталось установить драйвер Wifi Ubuntu, для этого мы просто загрузим модуль ядра. Но перед этим нужно добавить в чёрный список все другие модули, которые ядро может загружать автоматически:

sudo modprobe -r wl
$ sudo modprobe -r b43
$ sudo modprobe -r b43-legaxy

Добавляем их в чёрный список:

blacklist b43
blacklist b43-legacy
blacklist wl

Теперь запускаем наш выбранный драйвер:

sudo modprobe brcmsmac

Вот и всё, теперь Wifi работает. Теперь вы знаете, как установить драйвер Wifi в Ubuntu, как его найти, как определить необходимую версию для вашей карты. Хотя мы рассмотрели способ для Broadcom, с другими адаптерами нужно работать похожим образом. Загружаем выбранный драйвер, запрещаем все остальные доступные. И не забудьте установить прошивку. Даже если Ubuntu не видит Wifi, вы сможете разобраться.

Подключение к Wifi в Ubuntu

После того, как установка драйвера Wifi Ubuntu завершена, подключиться к сети не составит труда, это намного легче, по сравнению с тем, через что вы уже прошли. На панели теперь появился такой значок:

wifi8

Когда не работает Wifi Ubuntu, его нет. Точнее он есть, но выглядит по-другому. Кликните по этому значку и выберите из списка нужную сеть. Осталось ввести пароль:

wifi9

Готово, подключить Wifi Ubuntu не так уж сложно, и вы можете пользоваться интернетом.

wifi10

Подключение к Wifi в Ubuntu через терминал

Иногда случаются ситуации, когда графический интерфейс не работает. Тогда тоже может понадобиться интернет. Дальше мы рассмотрим, как подключить Wifi Ubuntu через терминал. Как вы знаете, для обмена данными в сети Wifi используется шифрование, это WEB, WPA и WPA2. Мы не будем рассматривать WEP, потому что это слишком просто, и это шифрование не безопасное - его можно взломать за несколько минут.

Остановимся на WPA. Настройка Wifi в Ubuntu через терминал состоит из нескольких этапов:

  • Просканировать сеть и найти доступные точки
  • Подключиться к точке, используя wpa_supplicant
  • Получить IP-адрес по DHCP
  • Настроить DNS-серверы, чтобы сайты открывались корректно

В графическом интерфейсе всё происходит автоматически, но поскольку мы выбрали этот путь, нужно будет действовать вручную.

Сканируем сеть с помощью специальной утилиты:

sudo iwlist scan

wifi14

Была обнаружена одна сеть с ESSID H30_CE550. Отлично, теперь мы будем использовать эту точку, чтобы подключить Wifi Ubuntu. Выполните команду:

wifi15

wpa_passphrase H30_CE550 > wpa.conf

После этого введите пароль и нажмите Enter, утилита создаст файл конфигурации для подключения. Файл можно было создать вручную, но так ведь проще.

Для самого же подключения будем использовать утилиту wpa_supplicant. Рассмотрим её синтаксис:

$ wpa_supplicant -D драйвер -i интерфейс -c файл_содениения

Драйверов, которые задаются опцией -D всего два: это устаревший wext и новый драйвер Wifi Ubuntu nl80211. Не стоит путать эти драйверы с драйверами устройств. Это универсальная прослойка между этими драйверами и системой. Пробуйте сначала второй, а если не работает, то тогда уже первый. Интерфейс вы можете посмотреть из вывода утилиты iwlist scan, в моём случае это wlp3s0b1, но скорее всего у вас будет wlan0. А имя файла - это тот файл, который мы только что создали. Запускаем:

sudo wpa_supplicant -Dnl80211 -iwlp3s0b1 -cwpa.conf

wifi16

Готово, второй этап подключения Wifi в Ubuntu завершён: мы в сети. Осталось получить IP-адрес и DNS, чтобы полноценно работать. Оставьте этот терминал в покое и откройте новый. Вообще, можно было запустить wpa_supplicant с опцией -B, но тогда бы мы потеряли над ней контроль. Если бы настройка Wifi Ubuntu 16.04 пошла не так, нам бы пришлось искать и убивать процесс, к тому же, у нас не было бы вывода программы.

Для получения IP по протоколу DHCP воспользуемся утилитой dhclient. Сначала найдём все доступные DHCP-серверы в сети:

sudo dhclient -r

wifi17

Затем просто запросим адрес для нашего интерфейса:

sudo dhclient -i wlp3s0b1

wifi18

На получение IP-адреса уйдет несколько секунд. После этого, выполнив ifconfig, мы можем убедиться, что у нас уже есть IP:

sudo ifconfig wlp3s0b1

wifi6

А также проверить сеть с помощью ping:

wifi7

Готово. Подключение к Wifi в Ubuntu через терминал завершено. На случай, если вы надумаете тестировать это при запущенном NetworkManager, снимите галочку с управления Wifi в апплете, чтобы программа не мешала.

После этого интерфейс будет программно заблокирован, разблокировать его можно командой:

sudo rfkill unblock wlan

Теперь можете выполнять подключение Wifi в Ubuntu через консоль. Всё будет работать. При следующем подключении вам не нужно создавать файл конфигурации заново, вы можете даже написать небольшой скрипт, чтобы соединение выполнялось автоматически.

Выводы

Надеюсь, что после прочтения этой статьи вы стали лучше понимать, как работает Wifi в Ubuntu, как выполняется установка драйвера и что делать, если Ubuntu не видит Wifi. Настройка Wifi Ubuntu 16.04 - довольно сложная задача, особенные трудности может вызвать поиск прошивок и подбор драйвера. Если у вас остались вопросы, спрашивайте в комментариях!

В последних версиях Debian / Ubuntu произошла смена имени сетевого интерфейса, что сделало не актуальным информацию из статьи для последних версий ОС. В связи с этим при настройке сетевого интерфейса выполняем всё тоже по инструкции меняем только имя сетевого интерфейса с wlan0 на enp0s1, enp0s2, enp0s3 и т.д. в зависимости от вашей конфигурации оборудования.

Результат должен быть, примерно такой:

wlan0 IEEE 802.11bg ESSID:"h4cks4w"
Mode:Managed Frequency:2.437 GHz Access Point: СC:22:00:ВD:B1:77
Bit Rate=48 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=70/70 Signal level=-40 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:2025 Invalid misc:3677 Missed beacon:0

lo no wireless extensions.

eth0 no wireless extensions.

eth1 no wireless extensions.

Теперь посмотрим доступные нам сети следующей командой:


Результат должен быть, примерно такой:

wlan0 Scan completed :
Cell 01 - Address: СC:22:00:ВD:B1:77
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=70/70 Signal level=-36 dBm
Encryption key:on
ESSID:"Virus"
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
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=00000025cdb82b90
Extra: Last beacon: 0ms ago
IE: Unknown: 00055669727573
IE: Unknown: 010882848B962430486C
IE: Unknown: 030106
IE: Unknown: 2A0100
IE: Unknown: 2F0100
IE: Unknown: 32040C121860
IE: Unknown: DD090010180204F02C0000
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
Cell 02 - Address: EE:44:66:00:EE:44
Channel:4
Frequency:2.427 GHz (Channel 4)
Quality=34/70 Signal level=-76 dBm
Encryption key:on
ESSID:"Keenetic-3563"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=000000f9e4bac140
Extra: Last beacon: 2188ms ago
IE: Unknown: 000D4B65656E657469632D33353633
IE: Unknown: 010882848B961224486C
IE: Unknown: 030104
IE: Unknown: 32040C183060
IE: Unknown: 0706525520010D14
IE: Unknown: 33082001020304050607
IE: Unknown: 33082105060708090A0B
IE: Unknown: 050400010000
IE: Unknown: DD270050F204104A000110104400010210470010BC329E001DD811B28601EC43F602ED14103C000101
IE: Unknown: 2A0104
IE: Unknown: 2D1AEE1117FFFF0000010000000000000000000000000C0000000000
IE: Unknown: 3D1604050700000000000000000000000000000000000000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: 0B0505001E127A
IE: Unknown: DD07000C4304000000


Откроем файл interfaces в редакторе nano (или VI кому что ближе).

Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:

Генерация ключей

Теперь нам нужно сконвертировать нашу ключевую фразу (связку ESSID и WPA ASCII) в в hex-ключ.

ESSID - это имя точки доступа (wi-fi роутер), WPA ASCII в простанородье - "пароль" к wi-fi сети:

Результат будет примерно таким:

Наш hex-ключ, это все символы после "psk text-align: justify;"> Копируем его в буфер обмена и вставляем в файл /etc/network/interfaces в поле wpa-psk.

Теперь можно сохранить файл и перезагрузить сеть:


Должно установиться соединение. Если соединение не установилось - перезагружаем сервер.

В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов «nano» и «gedit». Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а «gedit» можно использовать только при включенной графической среде.

Требования к системе

Прежде чем Вы начнете, убедитесь, что:

Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например, тут Вы можете прочитать, как отключить установленный по умолчанию в Ubuntu сетевой помощник Network Manager. Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например, Firestarter) отключены/правильно настроены и не вмешиваются в работу сети. У Вас есть все необходимые параметры для подключения в Вашей сети (например, IP-адрес, маска подсети и шлюз по умолчанию для соединения с использованием статического IP). Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и «знают» Ваш сетевой интерфейс. Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен.

Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды:

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

Пример вывода команды:

Обратите внимание на строку:

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 , например так:

И допишите в него:
Для статического IP:

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; auto eth0 - указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.

eth0 - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:

В итоге файл /etc/network/interfaces должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)

Сохраните файл и закройте редактор. В данном примере (редактор nano) - нажмите Ctrl + X , затем Y , убедитесь, что «Имя файла для записи» - /etc/network/interfaces и нажмите Enter .

Более подробно про синтаксис файла /etc/network/interfaces можно прочитать в документации.

Пример конфигурации для динамического IP:

Временная настройка IP-адреса и маски подсети

При необходимости задать пробные настройки, выполните:

Где 192.168.0.1 - наш IP-адрес, /24 - число бит в префиксной части адреса (соответствует маске подсети 255.255.255.0).
eth0 - подключаемый сетевой интерфейс.

Данные настройки пропадут после перезагрузки системы и не повлияют на файл /etc/network/interfaces

Настройка DNS

Обратите внимание - в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.

В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:

Ubuntu до версии 12.04

В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:

Настройка соединений ppp

За создание соединений типа «точка-точка» в Ubuntu отвечает демон pppd , более подробная информация о котором доступна в документации. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.

Соединение PPPoE

В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – pppoeconf , для ее запуска наберите:

Появится «псевдографическое» 2) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема 3) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат - проверьте правильность подключения, питание модема. Следующий шаг - выбор «популярных параметров» - в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем - пароль. Теперь - выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер MSS до 1452-х байт - как правило, стоит согласиться. Следующий вопрос - устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты - установить ли соединение сейчас. pppoeconf по умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:

Если в Вашем случае опций, предоставляемых утилитой pppoeconf недостаточно - обратитесь к документации по pppd или pppoeconf.

Замечание: при настройке соединения с помощью pppoeconf часть настроек записывается в /etc/network/interfaces , в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги. Вернуть управление Network Manager можно следующим образом. Приведите /etc/network/interfaces к следующему виду (лишнее не обязательно удалять, достаточно закомментировать):

Перезагрузитесь или перезапустите Network Manager:

Соединение PPTP

И добавьте туда опции подключения, например такие:

Далее - отредактируйте файл /etc/chap-secrets 4) и добавьте туда:

После перезагрузки системы Вы сможете управлять соединением при помощи команд:

Процесс настройки VPN-соединения может сильно облегчить скрипт-помощник.

Настройка DIAL-UP подключения

Для настройки модемного соединения можно использовать встроенный конфигуратор pppd - pppconfig или специальную утилиту wvdial .

При помощи pppconfig

Процесс настройки при помощи pppconfig во многом похож на утилиту pppoeconfig , Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:

Управлять соединением можно так:

Где my-provider - имя, присвоенное Вами соединению при настройке.

При помощи wvdial

В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать wvdial . Для этого нужно его сначала установить. Например так:

В состав пакета wvdial входит утилита автоматического конфигурирования - wvdialconf .

Вывод будет примерно следующим:

Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.

В данном примере я дополнительно добавил несколько опций. См. комментарии.

Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.

Теперь, когда все настроено, соединение можно установить набрав:

Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой

Прервать соединение можно прервав выполнение команды wvdial , т.е. в том же терминале нужно нажать Ctrl + C .

Автоматическое подключение

Отредактируйте файл конфигурации /etc/network/interfaces , например так:

И допишите в него:
Для pppoe , pptp , и модемного подключения без использования wvdial :

Где my-provider - название вашего соединения.
При использовании wvdial :

Теперь при перезапуске сетевых служб соединение будет автоматически установлено.

Ручная настройка роутинга

Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать свой скрипт в /etc/ppp/ip-up.d/ , либо по рекомендации официальной документации создать /etc/ppp/ip-up.local например так:

со следующим кодом:

Далее - сделайте этот скрипт исполняемым, например так:

Теперь маршруты будут автоматически подключаться при установлении 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 , например так:

Для изменения величины 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
Например так:

Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это «wlan0») работает и «видит» беспроводные сети. Команда

должна выдать примерно такой результат:

а доступные сети можно посмотреть командой

которая должна выдать примерно такой результат:

Ничего страшного, просто введите команду

соответственно выключить устройство можно командой

Настройка

Редактируем /etc/network/interfaces , например так:

Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:

Генерация ключей

Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII ) в hex-ключ:

Результат будет примерно таким:

hex-ключ это все символы после «psk=».

Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.

Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.

Дополнительно

Отключаем чтение файла /etc/network/interfaces для others во избежания попадания пароля от сети к третьим лицам.

Примеры конфигураций

WPA2 + статический IP, скрытый ESSID.

Другие способы работы Wi-Fi оборудования

При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства - обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе Cсылки .

Решение проблем

Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором

Симптомы: сеть обычно изначально работает нормально, долго или недолго, а затем неожиданно пропадает и не появляется после перезагрузки. Эта проблема может быть непостоянной. Сеть «сама собой» начинает работать, а затем пропадает вновь. При перезапуске адаптера сети таким образом:

будет выводиться в консоль похожий текст

Причиной проблемы может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.

Простое решение проблемы состоит в выключении компьютера и выдергивании кабеля питания из розетки с последующим подключением шнура питания и включением компьютера.

Сложное решение проблемы состоит в настройке параметров BIOS-а на полное обесточиваение сетевого оборудования при выключении компьютера.

Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором

Симптомы: сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после

перезагрузки маршрутизатора сеть сама собой появляется вновь.

Причиной проблемы может быть то, что некоторые маршрутизаторы произвольно выбирают номер рабочего канала, игнорируя номер канала выбранный в настройках маршрутизатора. Если в файле /etc/network/interfaces номер канала для беспроводного интерфейса указан, то вероятно проблема состоит именно в этом. Номер 6 канала указывается в файле примерно так:

Простое решение проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети

Сложное решение проблемы состоит в регистрации бага на сайте производителя маршрутизатора (прошивки для него) и обновление прошивки маршрутизатора после (в случае) его исправления.

Перезапуск сети

Теперь, когда все необходимые действия выполнены, можно перезапустить сеть и проверить соединение. Для этого:

Теперь, при запуске команды ip addr должно отобразиться подключение eth0 с выставленными параметрами. Если подключение отображается, но параметры не такие, какие были указаны в файле /etc/network/interfaces , либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.

FAQ по сетям

Как зайти на мой компьютер извне (через интернет)?

Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:

Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто. Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).

Мне кажется, у меня слишком медленно работает сеть!

Измерьте скорость сети между двумя компьютера с помощью iperf . Можно воспользоваться этой инструкцией. В ней предлагают скомпиллировать программу из исходников, но можно просто установить её из репозитория. Если iperf покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, scp и ftp весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP -сервера) или в чём-то ещё. Если iperf показал величину, которая в разы меньше желаемой, то да - с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ethtool ), проверить наличие «errors» в выводе ifconfig и протестировать скорость подключения к какому-нибудь третьему компьютеру.

Как узнать, какие программы слушают порты на моём компьютере?

Чтобы посмотреть список открытых портов и названия слушающих их программ, используйте команду:

Для вывода информации о конкретном порте можно использовать grep . Например, для 80 порта:

Из вывода netstat не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет ps :

Как присвоить два IP-адреса одной сетевой карте?

Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1. Кратковременно, до перезапуска сети:

Навсегда — добавить в /etc/network/interfaces следующее:

Как пробросить порт?

Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.

Настраиваем wi-fi сеть в Ubuntu, своими руками

Поставил Ubuntu Server 10.04 на ноут. Т.к. серверное ПО не предусматривает установку графической оболочки, то пришлось руками прописывать настройки wi-fi. Почему серверное и почему на ноут? Всё просто. Сборка стабильная - LTS (на долговременной поддержке), при установе графической оболочки, встаёт Gnome 2 (для этого ноута новая Unity - тяжела). Но не имея проводного интернета, надо с начала настроить wi-fi, для подключения интернета, а потом уже поставить Gnome.

- Ноутбук с картой wi-fi и установленной убунту (версию смотрим выше).
- Wi-Fi роутер, раздающий интернет и находящийся вне досягаемости провода с RJ-45 :).
- Мы знаем пароль для авторизации на роутере, для получения доступа в интернет.
- Знаем метод аутенфикации и шифрования, применяемый на роутере - WPA-PSK.

Приступаем к настройке и подключению.

Проверим факт работы нашей карты wi-fi. Наша карта с идентификатором - wlan0.

Результат должен быть, примерно такой.


Теперь посмотрим доступные нам сети следующей командой.

Результат должен быть, примерно такой.


Пришло время заняться файлом interfaces.

Откроем его в редакторе nano (nano уже установлен в системе).

Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:

Параметр Описание
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 = Atheroswired = 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 при загрузке/перезагрузке сети.

Генерация ключей

Теперь нам нужно сконвертировать нашу ключевую фразу (связку ESSID и WPA ASCII) в в hex-ключ.

ESSID - это имя точки доступа (wi-fi роутер), WPA ASCII в простонародье - "пароль" к wi-fi сети:

Результат будет примерно таким:

Наш hex-ключ, это все символы после "psk post-info"> wi-fi сеть в Ubuntu

Читайте также: