Как на ноутбуке включить wifi? Ubuntu не работает Wi-Fi? Вот как это исправить Подключение к вай фай на ubuntu 10.10.
Если вы владелец какого-либо мобильного устройства под управлением OS Linux , то вам в первую очередь придется задуматься над выполнением задачи номер один - настройка соединения с беспроводной точкой доступа Wifi. По умолчанию, стандартные инструменты для Linux-десктопов надежны и удобны в использовании. Например, Wifi Radar , Network Manager , и многие другие программы этого класса. Конечно, подразумевается, что вы используете окружения типа Gnome или KDE, обладающих очень богатым функционалом и выбором.
Но как быть, если у вас нечто другое и более редкое - E17, Fluxbox, ION или вообще "голая" консоль? В этом случае вам стоит применить классический способ настройки - командная строка.
Давайте рассмотрим два случая настройки соединения с беспроводной точкой доступа:
- графическое приложение Wicd (для примера);
- консольные утилиты.
Вступление
Предполагается, что у вас имеется беспроводное сетевое устройство (адаптер), который работает под Linux
. Если вы вдруг обнаружили, что ваше устройство не работает, можно предложить, как один из вариантов для новичков, поставить последнюю версию дистрибутива Ubuntu
и установить проприетарные драйвера для своей беспроводной карточки. Предложенный случай является наиболее простым и действенным, по сравнению с попытками заставить работать адаптер через драйвер ndiswrapper.
Также предполагается, что у вас имеются в наличии два параметра для подключения к беспроводной точке: SSID и идентификационный ключ. Без них (особенно - без второго, так как первый еще можно легко узнать) вы не сможете установить соединение.
Wicd
Wicd - графическое приложение, написанное на Python. Гибкая и удобная в использовании программа, предлагающая большой функционал. Wicd легко устанавливается и им также легко пользоваться. Достаточно всего нескольких минут для ознакомления с программой. Стоит также заметить, что Wicd, помимо графического интерфейса, имеет и консольный вариант "исполнения", не уступающий по функциональности.
Командная строка
Давайте теперь посмотрим, как настроить wifi -соединение через командную строку. К слову сказать, такой способ является универсальным, так как используются утилиты, являющиеся стандартными для всех дистрибутивов Linux . Более того, все приложения с графическим интерфейсом (GUI) основаны на работе именно этих утилит. Образно говоря, если мы "снимем" "крышу" GUI у любого графического приложения, то под ней мы увидим скромных и незаметных тружеников консоли: ifconfig, wireless-tools, wpa_supplicant, ping, nmap и многих других.
Для выполнения нашей задачи понадобятся следующие утилиты:
- ifconfig : полностью управляет работой любого сетевого адаптера вашего компьютера (будь то проводной или беспроводной интерфейс);
- iwlist : выдает список доступных для подключения (находящихся в радиусе досягаемости) беспроводных дочек доступа;
- iwconfig : утилита управления и конфигурирования беспроводных сетевых устройств (адаптеров);
- dhclient (или его налоги): автоматически получает IP-адрес от dhcp-сервера беспроводной точки;
- wpa_supplicant : утилита для настройки шифрованных соединений.
Перед началом настройки wifi -соединения логичным было бы проверить наличие всех этих утилит в системе (хотя, почти все они входят в стандартный набор Linux -дистрибутивов). Давайте, все же, убедимся в том, что они есть у нас, выполнив совсем несложные команды (см. man which):
- which ifconfig
- which iwlist
- which iwconfig
- which dhclient
- which wpa_supplicant
При выполнении каждой из этих команд вы увидите путь, по которому они располагаются в файловой системе. Если вдруг не увидите - вам придется установить отсутствующие. Наиболее простой и рекомендуемый - это менеджером пакетов того дистрибутива Linux , которым вы пользуетесь. Как альтернатива - можно предложить установку из исходников, но такой путь требует достаточного опыта от пользователя.
Рассмотрим пример подключения к wifi-точке с шифрованием WEP
- Первое, что мы сделаем - посмотрим, какие сетевые адаптеры имеются у нас на компьютере:
Вывод будет содержать имена и подробное описание всех сетевых интерфейсов, которые удалось обнаружить утилите ifconfig . Если не был обнаружен желаемый, то причина заключается только в одном - нет драйверов для него и не включена поддержка этого интерфейса в ядре Linux.
- Запускаем беспроводной сетевой адаптер:
- wlan0 - стандартное в большинстве Linux -систем имя wifi -карточки;
- up - опция говорит команде ifconfig запустить для работы ("поднять") сетевое устройство.
- Теперь нам надо сканировать эфир вокруг себя на наличие доступных hot-spot"ов:
- wlan0 - имя беспроводного адаптера;
- scan - команда iwlist запускается в режиме сканирования.
Результатом работы iwlist будет детальный отчет, из которого на данном этапе нас интересует только одна строчка: ESSID:"Some_Name". Значение параметра ESSID ("Some_Name") - это имя беспроводной точки доступа. Теперь мы знаем, к какой конкретно wifi -точке мы будем подключаться.
- Выполняем подключение:
- wlan0 - сетевой адаптер, на котором настраивается соединение;
- essid - задаем имя точки доступа, к которой подключаемся;
- key - указываем ключ шифрования, использующийся этой точкой доступа для передачи данных.
Замечание:
Команда iwconfig
по умолчанию использует для ключа шифрования данные в шестнадцатеричном виде HEX. Если вы хотите указать ключ в виде простого текста (ASCII), вам необходимо использовать опцию s .
Например, так:
# iwconfig wlan0 essid Some_Name key s:Wireless_Key
Соединение установлено.
- Последний шаг - получаем от dhcp-сервера wifi-точки IP-адрес:
Естественно, вышеуказанные шаги выполнять каждый раз утомительно. Можно упростить процесс установки соединения, написав скрипт подключения, в котором мы объединим все эти команды в одно целое:
#! /bin/bash ifconfig wlan0 up iwconfig wlan0 essid Some_Name key s:Wireless_Key sleep 10 dhclient wlan0
Здесь мы добавили еще одну команду sleep с параметром 10 секунд. Это рекомендуется делать перед получением IP-адреса для надежности установки соединения.
Сохраняем этот файл под каким-либо именем (например, wireless_up) и делаем его исполняемым командой:
# chmod u+x wireless_up
Переносим wireless_up по пути /usr/local/bin, чтобы сделать его глобально видимым всей системой. Теперь вам достаточно набрать в командной строке:
# wireless_up
и соединение будет установлено.
Рассмотрим более сложный случай - соединение с точкой доступа по WPA-шифрованию
Соединение с таким шифрованием поддерживает только утилита wpa_supplicant , поэтому она нам понадобиться. Также, опять таки, предполагаем, что мы знаем ключ (пароль) шифрования этой точки доступа.
- Генерируем пароль на основе этого ключа с помощью утилиты wpa_passphrase , которая входит в состав пакета wpa_supplicant . Дело в том, что пароль, который мы будем использовать далее, должен быть в виде шестнадцатиричного числа:
Утилита выдаст сгенерированную строку psk, которую мы вставим в конфигурационный файл wpa_supplicant.conf:
# sudo nano -w /etc/wpa_supplicant.conf Network={ ssid=SSID psk=PSK }
Это очень упрощенный файл конфигурации, но он будет работать. Возможно, вам потребуется добавить в шапку этого файла еще одну строку:
Ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
для предоставления необходимых прав доступа.
2. "Поднимаем" интерфейс wlan0:
# ifconfig wlan0 up
- Указываем, к какой точке мы хотим подключиться:
- Запускаем утилиту wpa_supplicant на установку соединения:
- -B - запускать команду wpa_supplicant в фоновом режиме;
- -Dwext - говорим утилите wpa_supplicant использовать драйвер wext для интерфейса wlan0 ;
- -i - задаем настраиваемый сетевой интерфейс (wlan0 в нашем случае);
- -с - указываем путь к конфигурационному файлу wpa_supplicant.conf.
- Проверяем, что соединение установлено:
На выводе увидим подробную информацию по указанному интерфейсу wlan0 .
- Получаем локальный IP-адрес:
7.Упрощаем процесс, создав по пути /etc/network/interfaces запись следующего вида:
Auto wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -Bw -Dwext -i wlan0 -c /etc/wpa_supplicant.conf post-down killall -q wpa_supplicant
Заключение
В зависимости от дистрибутива Linux , существует множество способов настройки wifi -соединений. Именно благодаря такому разнообразию настроить соединение можно практически в любой Linux -системе.
Главное, чтобы сам беспроводной адаптер поддерживался в Linux на уровне драйверов. Но это уже зависит главным образом от разработчиков операционных систем.
Приветствую тебя мой дорогой читатель! Сегодня мы поговорим о проблемах Ubuntu WiFi. Самым верным способом подключения компьютера с любой операционной системой является провод. Но не всегда возможно прокинуть кабель, поэтому ещё более простой способ коннекта - это Wi-Fi.
Вот тут у пользователей ОС Linux могут возникнуть проблемы, так как не во всех дистрибутивах «Убунты», есть вшитые драйвера вай -фай модуля. Оно и понятно, производители системы специально стараются её не загружать всяким хламом. Раз ты читаешь эти строки, то скорее всего у тебя возникли сложности с настройкой WiFi. Но ничего страшного нет и сейчас мы решим эту злосчастную и противную проблему.
Как установить драйвера
И так в первую очередь нужно узнать – какая модель передатчика стоит внутри. Помимо этого, было бы хорошо узнать наименования компании, которая выпустила передатчик. Для этого открываем консоль и внимательно прописываем команду:
$ sudo lspci | grep Network
Теперь мы знаем название модели аппаратного передатчика. Осталось скачать драйвер для Linux. Заходим на страницу .
Теперь очень внимательно смотрите во второй столбец – это производитель. Тут может быть несколько вариантов как у меня. Поэтому после этого находим последний столбец – там будет указан тип подключения. Так как я использую внутренний модуль, который подключен к PCI, то выбираю именно этот вариант. Так можно взглянуть на типы поддерживаемых стандартов – «a/b/g/n», чтобы удостовериться, что вы скачиваете, именно то что нужно.
Открываем драйвер, который вы считаете наиболее приемлемым вариантом. Теперь находим в таблице название модели вашего модуля. И так для пущей уверенности, давайте проверим, PCI-ID - это первый столбец. Узнать PCI-ID можно с помощью команды:
Теперь внимательно посмотрите во второй столбец – если драйвер есть, то вы увидите надпись «Yes», если его нет, то «No». Если вы видите, что дров такого типа нет, то возвращаемся на страницу назад и смотрим другой пакет.
Как только находим нужный драйвер нужно его скачать. Нажимаем по ссылке в самом начале после надписи «For example». Возможно потребуется установка драйвера, но он как уже и было сказано вшит в саму систему.
Но нужно будет установить прошивочку. Поэтому поводу нужно просмотреть в раздел «Firmware installation». Там может быть ссылка на файл и прошивку, которую нужно будет скопировать и скачать. Для каждого драйвера может быть какие-то отдельные нюансы, поэтому просто внимательно прочтите этот момент.
В моём случае, мне нужно скачать пакет и скопировать его в отдельную папочку. Далее нужно будет выгрузить модули по порядку:
$ sudo modprobe -r wl
$ sudo modprobe -r b43
$ sudo modprobe -r b43-legaxy
Также добавляем модули в ЧС, чтобы система их не подгружала.
$ vi /etc/modprobe.d/blacklist-bcm.conf
blacklist b43
blacklist b43-legacy
blacklist wl
Теперь модуль нужно запустить, для этого есть простая команда в консоли:
$ sudo modprobe brcmsmac
Все теперь радиоволны вай-фай должны витать вокруг вас. Сразу скажу, что я привел пример на своем аппарате, установка драйверов идёт по тому же принципу, но могут быть не которые различия. Особенно это касается прошивочки – о ней нужно смотреть отдельную инструкцию по своей модели.
Как подключить WiFi в Ubuntu
Подключение теперь примерно такое же как в Windows или других ОС. В самом верху вы должны увидеть небольшой значок, который чем-то напоминает треугольник. Просто нажимаем на него, выбираем нужную сеть и вводим пароль. Теперь интернет на компе должен быть.
Бывает такие случаи, когда такой значок просто не появляется или нужно сделать это через командную строку. Чтобы произвести подключение к WiFi откройте консольку. И так всё действия нужно будет сделать ручками, так что приступим.
- Сканируем всё ближайшее воздушное пространство:
- В строке ESSID будет наименование, которое мы будем использовать для подключения. Далее прописываем:
$ wpa_passphrase ИМЯ_СЕТИ_ESSID > wpa.conf
- Надеюсь, вы уже поняли, что вместо второго слово нужно ввести наименование вашей сети. Далее вписываем ключ подключения.
- Теперь для подключения нужно ввести команду как на картинке выше. После «-D» нужно ввести название драйвера. После «-i» название интерфейса, который используется вашим оборудованием. Последнее «-с» - это наименование файла, который мы создали ранее.
- К маршрутизатору то мы подключились, но теперь нужно получить сетевой адрес и DNS прописать. Открываем новое окно, но не закрывая старое и прописываем:
$ sudo dhclient -r
$ sudo dhclient -i wlp3s0b1
Теперь вы знаете, как быстро настроить WiFi и запустить его, подключение уже должно работать. Можете попробовать пропинговать какой-нибудь сайт, для надёжности. На Линукс все куда сложнее, но после всех шагов, описанных в статье всё должно работать стабильно.
В данном руководстве объясняется, как подключить компьютер к сети при помощи конфигурационных файлов и консольных утилит. Основная цель - рассказать о различных способах подключения к интернету без использования GUI (графического интерфейса). Руководство не затрагивает таких тем, как настройка сетевых фильтров или, например, собственных точек доступа Wi-Fi. Подразумевается, что существует некий, предоставленный провайдером, способ подключения к интернету, для использования которого и необходимо выполнить приведенные ниже действия.
В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов «nano» и «gedit». Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а «gedit» можно использовать только при включенной графической среде.
Требования к системе
Для воспроизведения описанных в руководстве действий подходит любой вариант установки системы. Наличие графического пользовательского интерфейса не обязательно. Все действия необходимо выполнять в консоли . Подразумевается, что команды, начинающиеся с символа $ - необходимо выполнять от пользователя, а начинающиеся с # - от суперпользователя (root).
Прежде чем Вы начнете, убедитесь, что:
Различные сетевые фильтры (например 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
, например так:
И допишите в него:
Для статического 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 в параметры 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
Появится «псевдографическое» окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема на этих устройствах. Если на этом этапе 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
Перезапустите сеть:
Перезагрузитесь или перезапустите 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 {vpn} # Имя удаленного сервера (для нас), может быть любым. pty "pptp {адрес_сервера} --nolaunchpppd" # Команда запуска pptp. # Адрес сервера - может быть как IP адресом, так и доменным именем, например vpn.foo.bar
{логин} {vpn} {пароль}
После перезагрузки системы Вы сможете управлять соединением при помощи команд:
Процесс настройки 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
password for ubuntu:
Editing `/etc/wvdial.conf".
Scanning your serial ports for a modem.
Modem Port Scan<*1>: S0 S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyACM0<*1>: ATQ0 V1 E1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 Z -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyACM0<*1>: Modem Identifier: ATI -- Manufacturer: QUALCOMM INCORPORATED
ttyACM0<*1>: Speed 4800: AT -- OK
ttyACM0<*1>: Speed 9600: AT -- OK
ttyACM0<*1>: Speed 19200: AT -- OK
ttyACM0<*1>: Speed 38400: AT -- OK
ttyACM0<*1>: Speed 57600: AT -- OK
ttyACM0<*1>: Speed 115200: AT -- OK
ttyACM0<*1>: Speed 230400: AT -- OK
ttyACM0<*1>: Speed 460800: AT -- OK
ttyACM0<*1>: Max speed is 460800; that should be safe.
ttyACM0<*1>: 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
Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.
$ sudo nano /etc/wvdial.conf
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 - бесконечно. 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, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.
Замечания
Решение проблем
Не устанавливается соединение по 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
Приветствую Всех!
В этой статье я расскажу как подключиться к действующей сети Wi-Fi в Linux Ubuntu. А также как настроить и наиболее безопасно использовать данный вид подключения к сети.
Сейчас немного теории.
При использовании Wi-Fi в любой ОС, включая Linux Ubuntu, вся информация передается по радиоволне. Это делает Wi-Fi сети гораздо более уязвимыми по сравнению с проводными сетями. Дело в том, что радиосигналы, посылаемые точкой доступа (Wi-Fi роутером) и устройствами, которые подключены к точке доступа, доступны для перехвата любым аналогичным устройством, которое находится в радиусе «видимости» от точки доступа до клиента этой точки доступа. То есть перехват сетевого трафика становится очень простым, доступным и незаметным. А перехват сетевого трафика позволяет собрать информацию, необходимую для атаки на Wi-Fi сеть и ее взлома в дальнейшем. По мере того, как становится все больше точек доступа Wi-Fi, и количество желающих «взломать» Wi-Fi сеть.
Одна из распространенных мотиваций для взлома точек доступа — это бесплатное подключение к Интернету. Довольно распространенная сегодня картина — у вас в квартире установлен Wi-Fi роутер и к нему подключены не только ваши устройства, но и устройства кого-то из ваших соседей. Вы платите за Интернет, а ваш технически грамотный сосед, получает Интернет бесплатно.
А также он получает доступ ко всем устройствам, которые подключены к вашему Wi-Fi роутеру. Это дает ему возможность кражи ваших персональных данных, например, паролей к почте, к различным учетным записям, в том числе и к интернет-банкам. Одним словом, ко всему чем вы владеете.
Для уменьшения риска взлома вашей Wi-Fi сети в Linux Ubuntu и в других ОС, необходимо настроить сеть и придерживаться определенных правил.
Не подключайтесь к открытым общественным сетям Wi-Fi через устройства на котором у вас хранится ценная информация. А если вам в Linux Ubuntu или в любых других сетях необходим доступ к Интернет через открытые сети Wi-Fi, тогда используйте на вашем ноутбуке или планшете настроенный файерволл и антивирус.
Если вы используете роутер Wi-Fi у себя дома или в офисе, необходимо правильно его настроить:
При начальной настройке роутера необходимо сменить пароль администратора, а не оставлять используемый по умолчанию.
Используйте тип защиты WPA2.
Пароль для защиты должен быть длинный — желательно более 8 символов, и должен состоять из произвольного набора символов. Пароль qwerty1234 очень плохой — его взломают за несколько минут. Пароль y57k-S}