ワイヤレスネットワークに自動的に接続するようにヘッドレスサーバーを構成するにはどうすればよいですか?


18

ヘッドレスサーバーをセットアップしていますが、それを配置したい場所にイーサネットアクセスがないため、起動時にWiFiネットワークに自動的に接続する必要があります(ワイヤレスカードがあります)。イーサネット接続に接続して設定できますが、それ以降はアクセスポイントに自動的に接続する必要があります。

これをどのように構成できますか?

回答:


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  

-Bwpa_supplicantバックグラウンドで実行されます。wextドライバは、ほとんどのケースで動作するはずです。他のドライバーを実行するには:

wpa_supplicant  

接続の詳細については、ターミナルでネットワークに手動で接続および切断する方法を参照してください

起動時に接続する

次に、編集する必要があります/etc/network/interfaces。お気に入りのエディタで開きます(vimnanoなど)。を使用する必要があります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  

ファイルを保存し、再起動し、イーサネットを取り外して、実行してみてください:

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 wlan0wlan0インターフェースを自動的に開始します。

  • iface wlan0 inet dhcp:DHCPを介してIPアドレスを取得します

  • pre-up:接続を確立するためのコマンドを指定します。

  • post-down:必要に応じて、自分の後をクリーンアップするために使用するコマンドを指定します。

ソース:


9

サーバーに簡単にsshおよびftpできるように、静的IPアドレスをお勧めします。また、ファイルを大幅に簡素化できます。

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のルーターで使用される範囲外であることを確認し、もちろん、ここで適切な詳細を置き換えてください。


1
新しい人にもう少し説明を追加できるといいので、彼らはあなたのことを理解する前に私の答えを読む必要はありません。
セス14年

あなたの答えは、interfacesファイルに与えられた変更のみで機能しますか?つまり、wpa_supplicantをバックグラウンドなどで実行する必要はなく、Sethの受け入れられた答えで提案されている他のすべてのことを意味しますか?
OverTheEdge 16

@OverTheEdgeします。試してみてください。そうでない場合は、新しい質問を開始してください。
chili555 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.