Это относится к 12.04+, так как это те, которые я мог протестировать, но также может использоваться в более старых версиях. Я разделил это руководство на несколько частей, которые состоят из:
- Часть 1 Беспроводные маршрутизаторы без пароля или ключа WEP
- Часть 2. Беспроводные маршрутизаторы с ключом безопасности WPA или WPA2
- Часть 2.1. Подключение к маршрутизатору WPA с помощью wpa_supplicant
- Часть 2.2. Подключение к маршрутизатору WPA с помощью Network Manager
- Часть 3 Простое подключение через nmcli
- Часть 4 Отключение от беспроводного маршрутизатора
- Часть 5 Удаление соединения (включая файл конфигурации)
- Часть 6 Автоматическое подключение при входе в систему
- Бонус Как узнать имя вашего сетевого интерфейса через GUI
Следующие командные строки могут использоваться для подключения и отключения в зависимости от беспроводной карты, безопасности беспроводной сети и настроек беспроводного маршрутизатора. Прежде чем продолжить, убедитесь, что сетевая служба включена (для случаев, когда вы можете запустить Ubuntu в режиме восстановления):
В зависимости от версии Ubuntu вам может потребоваться запустить ее одним из следующих способов:
При использовании SystemD (начиная с 14.10+):
sudo systemctl start networking
При использовании Legacy init.d: sudo /etc/init.d/networking restart
При использовании Legacy Upstart: sudo service network-manager restart
Часть 1. Беспроводные маршрутизаторы без пароля или ключа WEP
Если беспроводной маршрутизатор не имеет пароля или защиты WEP, выполните следующие действия:
Откройте терминал и найдите беспроводное соединение:
iwlist wlan0 s
( S для сканирования. Wlan0 - моя беспроводная карта, но может отличаться для каждого пользователя. У некоторых есть eth0, у других wlan2 ... Вам нужно sudo
выполнить эту опцию. Чтобы узнать имя вашей беспроводной карты, просто введите iwlist и нажмите TAB. Это должно автоматически заполнить строку с именем сетевой карты. Вы также можете ввести iwconfig
и найти имя в списке, который будет отображаться.)
Если вы не знаете название вашего беспроводного устройства, введите: iwconfig
которое покажет вам ваши проводные / беспроводные устройства и их названия. Это могут быть что-то вроде wlan0, wlan1, eth1, eth2 ..
Поиск покажет вам все возможные точки доступа (AP), видимые для вас. После того, как вы увидите свой маршрутизатор в списке, попробуйте подключиться к нему:
Если у него нет пароля, сделайте следующее:
iwconfig wlan0 essid NAME_OF_ACCESS_POINT
Например
iwconfig wlan0 essid CYREX
после этого убедитесь, что dhclient
вы используете динамический IP-адрес, если вам не назначен маршрутизатор. Это должно оставить вас подключенным к маршрутизатору CYREX.
Если у него есть пароль, выполните:
iwconfig wlan0 essid CYREX key PASSWORD
Это должно соединиться, используя ПАРОЛЬ, который вы дали там.
Опять же, сделайте dhclient
после подключения, чтобы убедиться, что вы получили IP-адрес.
Убедиться, что вы правильно подключены, всегда хорошо, поэтому iwconfig
убедитесь, что ваша беспроводная карта подключена к SSID, который вы упомянули выше. На нем должно отображаться ваше подключенное устройство и назначенный вам IP-адрес. Если это не так и выдает ошибку, например, Интерфейс не поддерживает сканирование, попробуйте следующие 2 варианта:
Часть 2. Беспроводные маршрутизаторы с ключом безопасности WPA или WPA2
В случаях, когда беспроводной маршрутизатор имеет пароль WPA / WPA2, есть несколько способов сделать это. Я упомяну 2 самых популярных из них:
Откройте терминал и найдите беспроводное соединение:
iwlist wlan0 s
( S для сканирования. Wlan0 - моя беспроводная карта, но может отличаться для каждого пользователя. У некоторых есть eth0, у других wlan2 ... Вам нужно sudo
выполнить эту опцию. Чтобы узнать имя вашей беспроводной карты, просто введите iwlist и нажмите TAB. Это должно автоматически заполнить строку с именем сетевой карты. Вы также можете ввести iwconfig
и найти имя в списке, который будет отображаться.)
Если вы не знаете название вашего беспроводного устройства, введите: iwconfig
которое покажет вам ваши проводные / беспроводные устройства и их названия. Это могут быть что-то вроде wlan0, wlan1, eth1, eth2 ..
Поиск покажет вам все возможные точки доступа (AP), видимые для вас. После того, как вы увидите свой маршрутизатор в списке, попробуйте подключиться к нему:
Часть 2.1 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ WPA: Подключение к маршрутизатору WPA с помощью wpa_supplicant
Введите в терминале следующее (при условии, что у вас установлен wpasupplicant
пакет, который устанавливает все необходимые команды, которые мы будем использовать здесь):
wpa_passphrase SSID PASSWORD > CONFIG_FILE
Пример: wpa_passphrase Virus LinuxFTW > wpa.conf
Где Virus - это имя моего маршрутизатора, LinuxFTW - это мой пароль и wpa.conf
файл, в котором я хочу сохранить всю эту информацию. Обратите внимание, что вы можете сохранить файл в другом месте, многие пользователи сохраняют его /etc/wpa_supplicant.conf
вместо wpa.conf
. Данные файла wpa.conf должны выглядеть примерно так:
network={
ssid="Virus"
#psk="LinuxFTW"
psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae
}
До этого момента мы должны знать имя интерфейса нашей беспроводной карты (например: Wlan0, eth2, Wlan2 ...). Теперь нам нужно знать, какой драйвер используется. для этого мы набираем:
wpa_supplicant
Он должен показать нам много информации, но будет раздел под названием ** Drivers *, в котором показаны все доступные драйверы (они доступны при компиляции wpa_supplicant
). В моем случае это так:
drivers:
wext = Linux wireless extensions (generic)
nl80211 = Linux nl80211/cfg80211
wired = Wired Ethernet driver
none = no driver (RADIUS server/WPS ER)
Весь список хоста, hermes, madwifi, wext, broadcom, wired, roboswitch, bsd, ndis. Это может измениться в зависимости от того, как wpa_supplicant
был скомпилирован, но тот, который показывает для меня, должен быть похож на тот, что в вашей системе. Большинство пользователей выберут wext
драйвер.
Итак, теперь, когда у нас есть имя карты беспроводного интерфейса и имя драйвера, мы приступаем к подключению к нему, используя уже созданный файл конфигурации в следующем формате:
wpa_supplicant -iINTERFACE_NAME -cCONFIGURATION_FILE -DDRIVER_NAME
Например:
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
Где имя -i
вашей интерфейсной карты, -c
где находится ваш файл конфигурации и -D
имя драйвера, который вы будете использовать для подключения. Если он соединяется правильно, мы нажимаем CTRL+, Cчтобы отменить его, а затем снова выполняем строку, но на этот раз мы отправляем ее в фоновый режим, -B
чтобы мы могли продолжать использовать терминал:
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
После этого просто сделайте, sudo dhclient wlan0
чтобы получить IP от маршрутизатора.
Некоторые пользователи сообщают об удалении хэша и оставлении в конфигурации только пароля, например:
network={
ssid="Virus"
psk="LinuxFTW"
}
Другие добавили ssid_scan в файл конфигурации:
network={
ssid="Virus"
scan_ssid=1
#psk="LinuxFTW"
psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae
}
Или даже добавив тип ключа:
network={
ssid="Virus"
scan_ssid=1
key_mgmt=WPA-PSK
#psk="LinuxFTW"
psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae
}
Больше информации об этом в man wpa_supplicant.conf
Часть 2.2 РУКОВОДСТВО ПО СЕТЕВОМУ МЕНЕДЖЕРУ: Подключение к маршрутизатору WPA с помощью Network Manager
Хорошая вещь о сетевом менеджере состоит в том, что он поставляется с парой хороших сценариев и инструментов. Два из них nmcli
и create_connection
(Neat Python 3 script), которые мы будем использовать в этом случае.
После выполнения шагов, упомянутых ранее, чтобы найти имя SSID вашего маршрутизатора (помните часть iwlist
выше), мы делаем следующее:
sudo /usr/share/checkbox/scripts/create_connection -S SECURITY_TYPE -K PASSWORD SSID_NAME
Где SECURITY - это тип безопасности, который использует маршрутизатор (WPA, WEP), PASSWORD - это ... хорошо ... пароль, а SSID_NAME - это имя SSID маршрутизатора. Например:
sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
Создаст соединение для Network Manager, которое должно выглядеть примерно так:
$ sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
[sudo] password for cyrex:
Connection Virus registered
Connection Virus activated.
После этого вы должны получить IP-адрес, назначенный маршрутизатором. Если нет, просто сделайте это sudo dhclient wlan0
(предполагая, что wlan0 - это имя вашего интерфейса). Вы также можете проверить соединения вашего сетевого менеджера с помощью nmcli, например: nmcli c
который должен показать что-то вроде этого:
$ nmcli c
NAME UUID TYPE TIMESTAMP-REAL
Xcentral f51a5a64-8a91-47d6-897c-28efcd84d2b0 802-11-wireless Fri 22 Mar 2013 02:25:54 PM VET
Realtek 9ded7740-ad29-4c8f-861f-84ec4da87f8d 802-3-ethernet Tue 05 Mar 2013 01:18:31 AM VET
Intel e25b1fd8-c4ff-41ac-a6bc-22620296f01c 802-3-ethernet Fri 05 Apr 2013 10:04:05 PM VET
Virus 3f8ced55-507b-4558-a70b-0d260441f570 802-11-wireless Tue 09 Apr 2013 06:31:10 AM VET
Я упоминаю способ Network Manager, потому что есть пара случаев, когда использование wpa_supplicant
просто не будет работать (проблемы между маршрутизатором и беспроводной картой, проблемы безопасности и т. Д.). В моем случае все попытки использовать wpa_supplicant
на одном ПК не работали, но в другом это работало с первой попытки . Поэтому я публикую оба метода, чтобы помочь в каждом конкретном случае и чтобы пользователям было проще выбирать, какой из них они хотят.
Часть 3: Простое подключение через nmcli
Хотя мы говорили о способах подключения к нему без сетевого менеджера, есть также случай использования nmcli (CLI-версия сетевого менеджера), когда это применимо. Для этого мы делаем следующее:
Проверьте, какой ESSID мы можем видеть:
nmcli dev wifi
Проверьте имя ESSID, и мы перейдем к его использованию в следующей строке, включая пароль, необходимый для него (включая пароли типа WEP и WPA):
nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
Вот пример моего подключения к ESSID Linux5G
Если у вас есть несколько беспроводных устройств на вашем компьютере, вы можете указать, какое из них использовать, используя ifname
параметр следующим образом:
nmcli dev wifi connect ESSID_NAME пароль ESSID_PASSWORD если имя WIRELESS_DEVICE_NAME
Например, в моем случае имя устройства будет wlp9s0
таким, чтобы я использовал эту строку, чтобы указать устройство, к которому я буду подключаться:
Более подробную информацию о nmcli можно получить с помощью параметра справки. Например, если вы хотите узнать о nmcli dev
вас, напечатайте nmcli dev help
. Если вы хотите узнать больше о nmcli dev wifi
, вы бы набрали nmcli dev wifi help
и так далее.
Часть 4. Отключение от беспроводного маршрутизатора
Есть несколько способов сделать это:
Отключить с помощью «силы»: sudo ifconfig wlan0 down
Это отключит интерфейс беспроводной карты (драйвер отключен). Чтобы включить, просто введите, ifconfig wlan0 up
а затем sudo dhclient wlan0
. Он все равно будет отображаться как подключенный, если он просматривается Network Manager, но на самом деле соединение с маршрутизатором отсутствует. Попытка ping
выдаст connect: Network is unreachable
ошибку.
Освободите DHCP IP: sudo dhclient -r wlan0
Не забудьте сделать, sudo dhclient wlan0
чтобы назначить себе IP снова.
Отключиться с помощью Network Manager: nmcli nm enable false
Где nm - это параметр nmcli, который управляет состояниями Network Manager и устанавливает их. Параметр enable
может иметь значение true или false , означая, что если установлено значение false , все сетевые подключения, управляемые Network Manager, будут отключены. обратите внимание, что nmcli не требует корневых разрешений.
Чтобы увидеть статус типа Network Manager nmcli nm
, он должен показать что-то похожее на это:
$ nmcli nm
RUNNING STATE WIFI-HARDWARE WIFI WWAN-HARDWARE WWAN
running connected enabled enabled enabled enabled
Другой способ включения или выключения соединения (подключение / отключение) заключается в следующем:
nmcli c down id NAME` - Will disconnect the connection NAME
nmcli c up id NAME` - Will connect the connection NAME
Часть 5: Удаление соединения
Удалить существующее соединение довольно просто. Первый тип в терминале:
nmcli c
Это выведет что-то вроде этого:
$ nmcli c
NAME UUID TYPE TIMESTAMP-REAL
Realtek 9ded7740-ad29-4c8f-861f-84ec4da87f8d 802-3-ethernet Tue 05 Mar 2013 01:18:31 AM VET
PrivateSys 86b2b37d-4835-44f1-ba95-46c4b747140f 802-11-wireless Sun 21 Apr 2013 07:52:57 PM VET
pepe 9887664b-183a-45c0-a81f-27d5d0e6d9d8 802-11-wireless Thu 18 Apr 2013 02:43:05 AM VET
Virus 3f8ced55-507b-4558-a70b-0d260441f570 802-11-wireless Tue 16 Apr 2013 11:33:24 AM VET
Intel e25b1fd8-c4ff-41ac-a6bc-22620296f01c 802-3-ethernet Sun 21 Apr 2013 08:12:29 PM VET
Xcentral f51a5a64-8a91-47d6-897c-28efcd84d2b0 802-11-wireless Fri 22 Mar 2013 02:25:54 PM VET
Теперь допустим, что мы хотим удалить Xcentral , а затем перейдем к следующей команде:
nmcli c delete id Xcentral
После этого это должно выглядеть примерно так:
$ nmcli c delete id Xcentral
$ nmcli c
NAME UUID TYPE TIMESTAMP-REAL
Realtek 9ded7740-ad29-4c8f-861f-84ec4da87f8d 802-3-ethernet Tue 05 Mar 2013 01:18:31 AM VET
PrivateSys 86b2b37d-4835-44f1-ba95-46c4b747140f 802-11-wireless Sun 21 Apr 2013 07:52:57 PM VET
pepe 9887664b-183a-45c0-a81f-27d5d0e6d9d8 802-11-wireless Thu 18 Apr 2013 02:43:05 AM VET
Virus 3f8ced55-507b-4558-a70b-0d260441f570 802-11-wireless Tue 16 Apr 2013 11:33:24 AM VET
Intel e25b1fd8-c4ff-41ac-a6bc-22620296f01c 802-3-ethernet Sun 21 Apr 2013 08:12:29 PM VET
Все соединения хранятся в /etc/NetworkManager/system-connections/
Если бы я посмотрел в эту папку прямо сейчас, я бы увидел следующие файлы:
$ ls /etc/NetworkManager/system-connections
Intel pepe PrivateSys Realtek Virus
Это только в том случае, если вы хотите отредактировать / удалить / добавить соединение вручную.
Часть 6: Автоматическое подключение при входе
Для случаев, когда вы хотите автоматически подключиться к беспроводному маршрутизатору, выполните следующие действия:
Откройте interface
файл:
sudo nano /etc/network/interfaces
Добавьте следующую информацию (при условии, что ваш интерфейс называется wlan0):
auto wlan0
iface wlan0 inet static
address ASSIGNED_IP
netmask 255.255.255.0
gateway THE_GATEWAY
wireless-essid YOURSSID
wireless-key WIRELESSKEY_HERE
Сохраните файл и перезагрузите компьютер. Обратите внимание, что это будет сохранено в текстовом файле, доступ к которому можно получить с того же компьютера.
Бонус: найдите имя вашего беспроводного соединения в стиле GUI
Нажмите на Диспетчер сети и перейдите к информации о подключении
Перейдите на вкладку, которая содержит вашу беспроводную карту
На этом изображении эта сетевая карта называется eth1 (внутри скобок), но она может отличаться для каждого пользователя. Обычно это будет wlan (например, wlan0, wlan1, wlan2 ...), но это также может быть eth1, eth2 и т. Д. Так что вам нужно посмотреть, какое у него имя.
Другой способ быстро найти имя - ввести текст, iwconfig
который покажет все доступные карты беспроводной сети.