Как я могу сконфигурировать мой безголовый сервер для автоматического подключения к беспроводной сети?

18

Я настраиваю безголовый сервер, но у меня нет доступа к Ethernet, где я хочу его разместить, поэтому мне нужно, чтобы он автоматически подключался к моей сети WiFi при загрузке (у нее есть беспроводная карта). Я могу подключиться к Ethernet-соединению, чтобы настроить его, но мне нужно, чтобы оно автоматически подключалось к моей точке доступа с этого момента.

Как я могу настроить это?

Сет
источник

Ответы:

19

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

Сначала вам нужно выяснить, какой интерфейс использует ваша беспроводная карта. Мы используем iwconfigкоманду для этого:

iwconfig  

В моем случае моя беспроводная карта - это wlan0интерфейс, поэтому я буду этим пользоваться. Теперь нам нужно сканировать беспроводные сети:

iwlist wlan0 s  

Это должно дать много результатов, показывая детали различных беспроводных сетей в вашем регионе. Обычно проще фильтровать по ESSID. grepпомогает нам здесь:

iwlist wlan0 s | grep ESSID  

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

Небезопасные и WEP-сети

Если ваша сеть не защищена или защищена более старым WEP (время обновить вашу систему безопасности или маршрутизатор!), Подключение относительно простое. Если ваша сеть не защищена, вы сможете подключиться с этим:

iwconfig wlan0 essid NAME_OF_NETWORK  

Если ваша сеть защищена WEP, просто добавьте keyаргумент и пароль, например:

iwconfig wlan0 essid NAME_OF_NETWORK key PASSWORD  

Возможно, вам придется бежать

dhclient  

Чтобы ваш маршрутизатор назначил вам IP-адрес.

WPA / WPA2

WPA / WPA2 немного сложнее. Вам нужно будет использовать wpa_supplicant. Сначала создайте файл конфигурации в /etc:

sudo wpa_passphrase NETWORK_NAME NETWORK_PASSWORD > /etc/wpa_supplicant.conf  

Теперь нам нужно подключиться:

sudo wpa_supplicant -B -iINTERFACE_NAME -cPATH_TO_CONFIG -DDRIVER  

Например:

sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext  

-Bработает wpa_supplicantв фоновом режиме. wextВодитель должен работать в большинстве случаев. Чтобы увидеть запуск других драйверов:

wpa_supplicant  

Для получения дополнительной информации о подключении см. Как подключиться и отключиться от сети вручную в терминале?

Подключайтесь при запуске

Теперь нам нужно отредактировать /etc/network/interfaces. Откройте его в своем любимом редакторе ( vim, nanoи т.д.); вам нужно использовать sudo.

Удалить все, кроме:

auto lo
iface lo inet loopback

(шлейфовое устройство). Теперь добавьте:

auto wlan0  
iface wlan0 inet dhcp  

pre-up <COMMAND> 

Где wlan0находится ваш беспроводной интерфейс и <COMMAND>какая команда используется для подключения к вашей сети (см. Выше). Например, если ваша сеть не защищена, вы должны добавить:

pre-up iwconfig wlan0 essid some_network_name  

Если ваша сеть защищена с помощью WPA / 2, вы бы добавили что-то вроде этого:

pre-up sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext  

Если вы используете, wpa_supplicantвы должны также добавить:

post-down sudo killall -q wpa_supplicant  

Сохраните файл, перезапустите, отключите Ethernet и попробуйте запустить:

sudo apt-get update

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

Примеры и объяснения

Если ваша сеть не защищена или защищена с помощью WEP, вы /etc/network/interfacesдолжны выглядеть примерно так:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet dhcp  

pre-up iwconfig wlan0 essid some_network_name 
# note: if WEP secured you would also have a 'key' argument with your password

Если ваша сеть защищена WPA / 2, вы /etc/network/interfacesдолжны выглядеть примерно так:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet dhcp  

pre-up sudo wpa_supplicant -B -iwlan0 -c/etc/network/wpa_supplicant.conf -Dwext  

post-down sudo killall -q wpa_supplicant  

Теперь объяснение.

  • auto wlan0: Запуск wlan0интерфейса автоматически.

  • iface wlan0 inet dhcp: Получает нам IP-адрес через DHCP

  • pre-up: Указывает команду (и) для установления соединения.

  • post-down: Указывает команду (ы), которая будет использоваться для очистки после себя (при необходимости).

Источники:

Сет
источник
9

Я предлагаю статический IP-адрес, чтобы вы могли легко SSH и FTP на сервере. Также вы можете значительно упростить ваш файл:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet static
address 192.168.1.125  
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 192.168.1.1
wpa-ssid <your_network>
wpa-psk <your_key>

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

chili555
источник
1
Было бы здорово, если бы вы могли добавить немного больше объяснений для нового человека, поэтому им не нужно читать мой ответ, прежде чем они поймут ваш.
Сет
Будет ли ваш ответ работать ТОЛЬКО с данными изменениями в файле интерфейса? Я имею в виду, что для этого не нужно, чтобы wpa_supplicant работал в фоновом режиме и т. Д. И т. Д., А также все остальное, как указано в принятом ответе Сета?
OverTheEdge
@ OververEdge Это делает. Пожалуйста, попробуйте, а если нет, начните новый вопрос, и мы поможем.
chili555