Jak mogę skonfigurować mój serwer bezgłowy do automatycznego łączenia się z siecią bezprzewodową?

18

Konfiguruję serwer bezgłowy, ale nie mam dostępu do sieci Ethernet w miejscu, w którym chcę go umieścić, więc muszę go automatycznie połączyć z moją siecią Wi-Fi po uruchomieniu (ma kartę bezprzewodową). Mogę połączyć się z połączeniem Ethernet, aby je skonfigurować, ale potrzebuję go, aby automatycznie połączyć się z moim punktem dostępu od tego momentu.

Jak mogę to skonfigurować?

Seth
źródło

Odpowiedzi:

19

Po przeprowadzeniu wielu badań udało mi się go uruchomić. Ponieważ mam kartę bezprzewodową Intel, nie musiałem instalować żadnych dodatkowych sterowników, ale być może będziesz musiał, w zależności od posiadanej karty.

Najpierw musisz dowiedzieć się, jakiego interfejsu używa karta bezprzewodowa. Używamy iwconfigdo tego polecenia:

iwconfig  

W moim przypadku moja karta bezprzewodowa jest wlan0interfejsem, więc będę jej używać. Teraz musimy skanować w poszukiwaniu sieci bezprzewodowych:

iwlist wlan0 s  

To powinno dać dużo danych wyjściowych, pokazując szczegóły różnych sieci bezprzewodowych w Twojej okolicy. Zwykle łatwiej jest filtrować według ESSID. greppomaga nam tutaj:

iwlist wlan0 s | grep ESSID  

Spowoduje to wyświetlenie nazw wszystkich sieci bezprzewodowych w Twojej okolicy. Teraz czas połączyć się z siecią.

Niezabezpieczone i sieci WEP

Jeśli Twoja sieć jest niezabezpieczona lub jest zabezpieczona przez starszą WEP (czas na aktualizację zabezpieczeń lub routera!), Połączenie jest stosunkowo proste. Jeśli twoja sieć jest niezabezpieczona, powinieneś być w stanie połączyć się z tym:

iwconfig wlan0 essid NAME_OF_NETWORK  

Jeśli twoja sieć jest chroniona WEP, po prostu dodaj keyargument, a następnie hasło:

iwconfig wlan0 essid NAME_OF_NETWORK key PASSWORD  

Być może będziesz musiał biec

dhclient  

Aby router przydzielił Ci adres IP.

WPA / WPA2

WPA / WPA2 jest nieco bardziej skomplikowany. Musisz użyć wpa_supplicant. Najpierw utwórz plik konfiguracyjny w /etc:

sudo wpa_passphrase NETWORK_NAME NETWORK_PASSWORD > /etc/wpa_supplicant.conf  

Teraz musimy połączyć:

sudo wpa_supplicant -B -iINTERFACE_NAME -cPATH_TO_CONFIG -DDRIVER  

Na przykład:

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

-Bdziała wpa_supplicantw tle. wextKierowca powinien działać w większości przypadków. Aby zobaczyć działanie innych sterowników:

wpa_supplicant  

Aby uzyskać więcej informacji na temat nawiązywania połączenia, zobacz Jak ręcznie podłączyć i rozłączyć się z siecią w terminalu?

Połącz się przy uruchomieniu

Teraz musimy edytować /etc/network/interfaces. Otwórz go w swoim ulubionym edytorze ( vim, nanoitp); musisz użyć sudo.

Usuń wszystko oprócz:

auto lo
iface lo inet loopback

(urządzenie loopback). Teraz dodaj:

auto wlan0  
iface wlan0 inet dhcp  

pre-up <COMMAND> 

Gdzie wlan0jest twój interfejs bezprzewodowy i <COMMAND>jest to polecenie, którego używasz do łączenia się z siecią (patrz wyżej). Na przykład, jeśli sieć jest niezabezpieczona, możesz dodać:

pre-up iwconfig wlan0 essid some_network_name  

Jeśli Twoja sieć jest zabezpieczona za pomocą WPA / 2, możesz dodać coś takiego:

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

Jeśli używasz wpa_supplicant, powinieneś również dodać:

post-down sudo killall -q wpa_supplicant  

Zapisz plik, uruchom ponownie, odłącz sieć Ethernet i spróbuj uruchomić:

sudo apt-get update

Jeśli polecenie zakończy się pomyślnie, gratulacje! Jesteś online! Jeśli polecenie nie zakończy się pomyślnie, dodaj komentarz poniżej.

Przykłady i objaśnienia

Jeśli Twoja sieć jest niezabezpieczona lub zabezpieczona za pomocą WEP, /etc/network/interfacespowinieneś teraz wyglądać podobnie do tego:

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

Jeśli twoja sieć jest zabezpieczona WPA / 2, /etc/network/interfacespowinieneś wyglądać podobnie do tego:

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  

Teraz wyjaśnienie.

  • auto wlan0: wlan0Automatycznie uruchamia interfejs.

  • iface wlan0 inet dhcp: Daje nam adres IP przez DHCP

  • pre-up: Określa polecenie (polecenia), aby nawiązać połączenie.

  • post-down: Określa polecenie (polecenia), które zostaną użyte do posprzątania po sobie (jeśli to konieczne).

Źródła:

Seth
źródło
9

Sugeruję statyczny adres IP, abyś mógł łatwo ssh i ftp na serwerze. Możesz także znacznie uprościć swój plik:

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>

Upewnij się, że adres znajduje się poza zakresem używanym przez router dla DHCP i, oczywiście, podaj tutaj odpowiednie dane.

chili555
źródło
1
Byłoby fajnie, gdybyś mógł dodać nieco więcej wyjaśnień dla nowej osoby, aby nie musieli czytać mojej odpowiedzi, zanim zrozumieją twoje.
Seth
Czy Twoja odpowiedź będzie działać TYLKO z podanymi zmianami w pliku interfejsów? Mam na myśli, czy to nie wymaga, aby wpa_supplicant działał w tle itp. Itd. I wszystkie inne rzeczy sugerowane w zaakceptowanej odpowiedzi Setha?
OverTheEdge,
@OverTheEdge It does. Spróbuj, a jeśli nie, zacznij nowe pytanie, a my pomożemy.
chili555