- Работаем с Wi-Fi сетями из терминала в Linux. Просто и удобно!
- Подключаемся к WiFi(WPA2) через консоль в Debian Linux
- Привет уважаемый читатель!
- Подключаемся к роутеру/точке доступа
- Настройки сети
- Как настроить Wifi-соединение на любом Linux-десктопе
- Вступление
- Командная строка
- Рассмотрим пример подключения к wifi-точке с шифрованием WEP
- Рассмотрим более сложный случай — соединение с точкой доступа по WPA-шифрованию
- Заключение
Работаем с Wi-Fi сетями из терминала в Linux. Просто и удобно!
Доброго времени суток всем юзерам! 🙂 Я думаю ни для кого не секрет, что при работе с ОС Linux, часто приходится работать в терминале. Терминал вещь очень хорошая если умело работать с ним и сегодня попробуем поработать с сетями Wi-Fi из под терминала 🙂
Итак, что нам нужно? Руки, голова, Wi-Fi-сети и конечно ваш любимый дистрибутив Linux 🙂
Для начала нам нужно определить, какие интерфейсы в компьютере работают с Wi-Fi сетями:
после чего вы увидите что то похожее на это:
Как мы видим по скриншоту выше, интерфейс называется wlan0.
Теперь давайте убедимся, что интерфейс wlan0 поднят и работает:
После того, как интерфейс поднят и работает, давайте просканируем сети Wi-Fi командой:
sudo iw dev wlan0 scan | less
должно выйти похожее на это:
Конечно названия сети (SSID) будет отличаться от той, что на скриншоте. Тут мы можем получить достаточную информацию о сетях Wi-Fi, такую как:
- Название (SSID);
- Тип безопасности (WEP, WPA/WPA2);
- Уровень сигнала и тд.
К примеру, если сеть не имеет пароля и соответственно открыта, то для подключения к ней используйте команду:
sudo iw dev wlan0 connect [SSID]
Если же сеть имеет тип безопасности WEP, то для подключения вводим команду (нужно знать пароль от сети):
sudo iw dev wlan0 connect [SSID] key 0:[Пароль от сети]
Для работы с зашифрованными сетями я рекомендую другой принцип работы, о нем ниже.
В данном случае нам понадобится утилита wpa_supplicant, она установлена не во всех дистрибутивах по-умолчанию. К примеру в openSUSE и Ubuntu она есть + есть к ней и GUI. GUI не установлен, ну и не надо 🙂
Устанавливаем эту утилиту, если ее у вас еще нету в системе и редактируем файл конфига wpa_supplicant:
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
Рекомендую добавлять это в конец файла, а также закоментируйте другие настройки в файле, которые вы не используете.
После того как файл отредактирован, сохраняем его и перезапускаем его командой в терминале:
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
Теперь как вы подключены к желаемой сети, вам нужно получить IP-адрес, для этого выполняем команду:
Если вы все правильно сделали, то вы уже online + получили IP-адрес через DHCP, для проверки введите команду:
Будет что то похожее на:
Вот и все 🙂 Конечно, все тоже самое можно проделать и при помощи NetworkManager к примеру, но терминал есть терминал 🙂
Источник
Подключаемся к WiFi(WPA2) через консоль в Debian Linux
Привет уважаемый читатель!
Надоели в последнее время мне проблемы с wicd и wifi-radar для подключения к Wi-Fi в Linux, и я решил что пора бы подключаться через консоль, минуя все эти надстройки в виде программ для подключения. На самом деле все оказалось еще проще чем я предполагал. И сейчас я покажу как это делается. А тем кому пока не надоело подключатся через программы стоит добавить эту заметку в Избранное, в дальнейшем пригодиться.
Подключаемся к роутеру/точке доступа
Итак, предполагаем что подключение происходит с шифрованием WPA2, так как сейчас это самое популярное и наиболее безопасное решение, чем к примеру устаревший WPA.
Для начала посмотрим все ли в порядке с нашими устройствами:
# ifconfig
eth0 Link encap:Ethernet HWaddr e4:11:5b:f2:cc:4a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1131 errors:0 dropped:0 overruns:0 frame:0
TX packets:1131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:299033 (292.0 KiB) TX bytes:299033 (292.0 KiB)
Никакого wlan не видим, смотрим, может он отключен:
# ifconfig -a
eth0 Link encap:Ethernet HWaddr e4:11:5b:f2:cc:4a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:816 errors:0 dropped:0 overruns:0 frame:0
TX packets:816 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:209884 (204.9 KiB) TX bytes:209884 (204.9 KiB)
wlan0 Link encap:Ethernet HWaddr e4:d5:3d:9e:97:bb
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:26410
TX packets:0 errors:882 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:23
Ага, вот и он, наш wlan0, в некоторых исключительных случаях система его может обозначить как eth2, но не в нашем случае. Если ifconfig -a не вывел вам информации о беспроводном интерфейсе, значит система не видит устройство, либо оно отключено хардварно(на панели ноутбука), либо нет драйвера и устройство не определилось. В таком случае либо включите ваше устройство и повторите команду, либо переходите к установке драйвера. Установку я описывал в статьях:
Debian GNU\Linux: Broadcom Wi-Fi drivers в Compaq Presario CQ57
Broadcom драйвера wifi в Linux ядрах версий 3.4 и 3.5
Итак, зная наш интерфейс мы находим наш роутер или точку подключения:
#iwlist wlan0 scanning | grep -i essid
ESSID:»TP-LINK_985188″
ESSID:»Beryozka»
ESSID:»Tenda_18B2F8″
Видим наш «TP-LINK_985188».
Дальше, для WPA2 нам нужно создать запись соответствующую ESSID и Пароль доступа, для этого используем пакет программ wpasupplicant, если у вас не установлен, нужно установить:
# apt-get install wpasupplicant
Используем ее для генерации записи подключения:
# wpa_passphrase TP-LINK_985188 наш_пароль_установленный_на_роутере
Получаем сгенерированную запись:
network= <
ssid=»TP-LINK_985188″
psk=b8530ddba3a3625b9336be805da8cfb5f2d67d0e776d5ffd2f38b3f11b18a404
>
Открываем файл где храняться такие записи и добавляем нашу сгенерированную в него:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Сохраняем и закрываем.
Осталось только подключиться, что мы и делаем:
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
В дальнейшем нам нужно только использовать последнюю команду для подключения к этому роутеру.
Настройки сети
Подключиться по Wi-Fi не сложно, но это еще не все, нужно получить/указать свои клиентские настройки для использования сети. Если ваш роутер раздает настройки автоматически то просто введите команду:
#dhclient wlan0
Если же не раздает, пропишем их вручную, введите команды:
ifconfig wlan0 ip-адресс netmask сетевая_маска
И добавляем шлюз:
route add default gw 192.168.1.1 последний IP адрес стоит по умолчанию для большинства роутеров, если у вас другой то введите его.
Источник
Как настроить Wifi-соединение на любом Linux-десктопе
Если вы владелец какого-либо мобильного устройства под управлением OS Linux, то вам в первую очередь придется задуматься над выполнением задачи номер один — настройка соединения с беспроводной точкой доступа Wifi. По умолчанию, стандартные инструменты для Linux-десктопов надежны и удобны в использовании. Например, Wifi Radar , Network Manager , Wicd и многие другие программы этого класса. Конечно, подразумевается, что вы используете окружения типа Gnome или KDE, обладающих очень богатым функционалом и выбором.
Но как быть, если у вас нечто другое и более редкое — E17, Fluxbox, ION или вообще «голая» консоль? В этом случае вам стоит применить классический способ настройки — командная строка.
Давайте рассмотрим два случая настройки соединения с беспроводной точкой доступа:
— графическое приложение Wicd ( для примера );
— консольные утилиты.
Вступление
Предполагается, что у вас имеется беспроводное сетевое устройство (адаптер), который работает под Linux. Если вы вдруг обнаружили, что ваше устройство не работает, можно предложить, как один из вариантов для новичков, поставить последнюю версию дистрибутива Ubuntu и установить проприетарные драйвера для своей беспроводной карточки. Предложенный случай является наиболее простым и действенным, по сравнению с попытками заставить работать адаптер через драйвер ndiswrapper.
Также предполагается, что у вас имеются в наличии два параметра для подключения к беспроводной точке: SSID и идентификационный ключ. Без них (особенно — без второго, так как первый еще можно легко узнать) вы не сможете установить соединение.
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
1 . Первое, что мы сделаем — посмотрим, какие сетевые адаптеры имеются у нас на компьютере:
Вывод будет содержать имена и подробное описание всех сетевых интерфейсов, которые удалось обнаружить утилите ifconfig. Если не был обнаружен желаемый, то причина заключается только в одном — нет драйверов для него и не включена поддержка этого интерфейса в ядре Linux.
2 . Запускаем беспроводной сетевой адаптер:
здесь :
— wlan0 — стандартное в большинстве Linux-систем имя wifi-карточки;
— up — опция говорит команде ifconfig запустить для работы («поднять») сетевое устройство.
3 . Теперь нам надо сканировать эфир вокруг себя на наличие доступных hot-spot’ов:
— wlan0 — имя беспроводного адаптера;
— scan — команда iwlist запускается в режиме сканирования.
Результатом работы iwlist будет детальный отчет, из которого на данном этапе нас интересует только одна строчка: ESSID:»Some_Name». Значение параметра ESSID («Some_Name») — это имя беспроводной точки доступа. Теперь мы знаем, к какой конкретно wifi-точке мы будем подключаться.
4 . Выполняем подключение:
— wlan0 — сетевой адаптер, на котором настраивается соединение;
— essid — задаем имя точки доступа, к которой подключаемся;
— key — указываем ключ шифрования, использующийся этой точкой доступа для передачи данных.
Команда iwconfig по умолчанию использует для ключа шифрования данные в шестнадцатеричном виде HEX. Если вы хотите указать ключ в виде простого текста (ASCII), вам необходимо использовать опцию s .
5 . Последний шаг — получаем от dhcp-сервера wifi-точки IP-адрес:
Естественно, вышеуказанные шаги выполнять каждый раз утомительно. Можно упростить процесс установки соединения, написав скрипт подключения, в котором мы объединим все эти команды в одно целое:
Здесь мы добавили еще одну команду sleep с параметром 10 секунд. Это рекомендуется делать перед получением IP-адреса для надежности установки соединения.
Сохраняем этот файл под каким-либо именем (например, wireless_up) и делаем его исполняемым командой:
Переносим wireless_up по пути /usr/local/bin, чтобы сделать его глобально видимым всей системой.
Теперь вам достаточно набрать в командной строке:
. и соединение будет установлено.
Рассмотрим более сложный случай — соединение с точкой доступа по WPA-шифрованию
Соединение с таким шифрованием поддерживает только утилита wpa_supplicant, поэтому она нам понадобиться. Также, опять таки, предполагаем, что мы знаем ключ (пароль) шифрования этой точки доступа.
1 . Генерируем пароль на основе этого ключа с помощью утилиты wpa_passphrase, которая входит в состав пакета wpa_supplicant. Дело в том, что пароль, который мы будем использовать далее, должен быть в виде шестнадцатиричного числа:
Утилита выдаст сгенерированную строку psk, которую мы вставим в конфигурационный файл wpa_supplicant.conf:
Это очень упрощенный файл конфигурации, но он будет работать. Возможно, вам потребуется добавить в шапку этого файла еще одну строку:
для предоставления необходимых прав доступа.
2 . «Поднимаем» интерфейс wlan0:
3. Указываем, к какой точке мы хотим подключиться:
4 . Запускаем утилиту wpa_supplicant на установку соединения:
здесь :
— B — запускать команду wpa_supplicant в фоновом режиме;
— Dwext — говорим утилите wpa_supplicant использовать драйвер wext для интерфейса wlan0;
— i — задаем настраиваемый сетевой интерфейс (wlan0 в нашем случае);
— с — указываем путь к конфигурационному файлу wpa_supplicant.conf.
5 . Проверяем, что соединение установлено:
На выводе увидим подробную информацию по указанному интерфейсу wlan0.
6 . Получаем локальный IP-адрес:
7 .Упрощаем процесс, создав по пути /etc/network/interfaces запись следующего вида:
Заключение
В зависимости от дистрибутива Linux, существует множество способов настройки wifi-соединений. Именно благодаря такому разнообразию настроить соединение можно практически в любой Linux-системе.
Главное, чтобы сам беспроводной адаптер поддерживался в Linux на уровне драйверов. Но это уже зависит главным образом от разработчиков операционных систем.
Источник