自分は CentOS をサーバー用途だけでなく、X Window System と日本語環境、そして GNOME を入れて、壁紙やスクリーンセーバーも設定してデスクトップクライアントとしても使っています:
サーバー用途であれば有線 LAN を繋いで起動しっぱなし・・でいいのですが、デスクトップとして使おうとすると、やはり無線 LAN を使いたくなります。公衆 WiFi にせよ、テザリングにせよ、PCを持ち歩く前提で、その持ち歩き先でネットワークを使うには無線 LAN しかないことも多いです。この無線 LAN を CentOS で使う場合の設定方法を備忘録も兼ねて紹介します。
ちなみに自分は CentOS 6 を使っています。デスクトップ Linux というと Ubuntu の印象が強いかもしれませんが、自分はサーバーとしては普段 CentOS 使いであることに加え、LibreOffice にせよ、IBM Notes にせよ、ウェブブラウザにせよ、デスクトップクライアントとして必要と思われるアプリはほぼ CentOS でも動きます。なので、自分としては慣れた CentOS を使うことにしているのでした。
まず、何はともあれ無線 LAN デバイスが認識されている必要があります。iwconfig コマンドで wlan0 が認識されているかどうかを確認します:
↑こんな感じで wlan0 デバイスが表示されれば無線 LAN デバイスが OS で認識されていることになります。認識されていない場合は、使っている機種のデバイスドライバを導入するなどして、OS が無線 LAN デバイスを認識している状態にしておく必要があります。
では、この認識された wlan0 を無線 LAN に接続して実際に IP アドレスが割当られるようにします。/etc/sysconfig/network-script/ifcfg-wlan0 を以下のような内容で作成します:
↑この例のように ONBOOT="yes" としておくと、起動と同時に有効になります。また TYPE=Wireless としておきます。ESSID には接続先の SSID を記載しておきます。
また /etc/sysconfig/wpa_supplicant の INTERFACES に wlan0 が含まれるようにしておきます:
具体的な SSID や接続形式を指定した接続設定は /etc/wpa_supplicant/wpa_supplicant.conf に記述します。このファイルの雛形を wpa_passphrase コマンドを使って作成します:
↑ ACCESSPOINT には SSID 名を、PASSPHRASE には接続パスフレーズ(パスワード)を指定します。この後に作成される /etc/wpa_supplicant/wpa_supplicant.conf をテキストエディタで開きます:
↑この例では WPA2 で接続することを指定したかったので、赤字の部分を後から追記しています。
では実際に接続サービスを実行するために必要なファイル(/etc/init.d/prepnet)を以下の内容で用意します:
実際にサービスとして必要なファイルは /etc/rc5.d/S09prepnet ですが、/etc/init.d/prepnet からシンボリックリンクを作成します:
最後にサービスの自動実行設定を行います:
ここまで行ってシステムを再起動すると、指定した SSID に接続して、IP アドレスが割り振られるところまでが確認できるようになります:
一昔前と違って、CentOS でも Skype アプリはあるし、LINE も(Chrome プラグインで)動くので CentOS をデスクトップ環境として採用できない理由はあまりないなあ、と思ってます。敢えて言えば iTunes はない。けど、個人的には iTunes に縛られたくないんだよね~。。
サーバー用途であれば有線 LAN を繋いで起動しっぱなし・・でいいのですが、デスクトップとして使おうとすると、やはり無線 LAN を使いたくなります。公衆 WiFi にせよ、テザリングにせよ、PCを持ち歩く前提で、その持ち歩き先でネットワークを使うには無線 LAN しかないことも多いです。この無線 LAN を CentOS で使う場合の設定方法を備忘録も兼ねて紹介します。
ちなみに自分は CentOS 6 を使っています。デスクトップ Linux というと Ubuntu の印象が強いかもしれませんが、自分はサーバーとしては普段 CentOS 使いであることに加え、LibreOffice にせよ、IBM Notes にせよ、ウェブブラウザにせよ、デスクトップクライアントとして必要と思われるアプリはほぼ CentOS でも動きます。なので、自分としては慣れた CentOS を使うことにしているのでした。
まず、何はともあれ無線 LAN デバイスが認識されている必要があります。iwconfig コマンドで wlan0 が認識されているかどうかを確認します:
# iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11abgn ESSID:"(ACCESSPOINT名)" Mode:Managed Frequency:2.462 GHz Access Point: (MACアドレス) Bit Rate=58.5 Mb/s Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=41/70 Signal level=-69 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:10112 Invalid misc:816 Missed beacon:0
↑こんな感じで wlan0 デバイスが表示されれば無線 LAN デバイスが OS で認識されていることになります。認識されていない場合は、使っている機種のデバイスドライバを導入するなどして、OS が無線 LAN デバイスを認識している状態にしておく必要があります。
では、この認識された wlan0 を無線 LAN に接続して実際に IP アドレスが割当られるようにします。/etc/sysconfig/network-script/ifcfg-wlan0 を以下のような内容で作成します:
DEVICE="wlan0" ONBOOT="yes" BOOTPROTO=dhcp TYPE=Wireless MODE=Auto ESSID="(ACCESSPOINT名)" IPV6INIT=no NAME="System wlan0"
↑この例のように ONBOOT="yes" としておくと、起動と同時に有効になります。また TYPE=Wireless としておきます。ESSID には接続先の SSID を記載しておきます。
また /etc/sysconfig/wpa_supplicant の INTERFACES に wlan0 が含まれるようにしておきます:
:
: INTERFACES="-iwlan0"
: :
具体的な SSID や接続形式を指定した接続設定は /etc/wpa_supplicant/wpa_supplicant.conf に記述します。このファイルの雛形を wpa_passphrase コマンドを使って作成します:
# wpa_passphrase ACCESSPOINT PASSPHRASE > /etc/wpa_supplicant/wpa_supplicant.conf
↑ ACCESSPOINT には SSID 名を、PASSPHRASE には接続パスフレーズ(パスワード)を指定します。この後に作成される /etc/wpa_supplicant/wpa_supplicant.conf をテキストエディタで開きます:
ctrl_interface=/var/run/wpa_supplicant
#ctrl_interface_group=wheel
ap_scan=1
network={
ssid="ACCESSPOINT"
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
#psk="PASSPHRASE"
psk=*********************************************************************
}
↑この例では WPA2 で接続することを指定したかったので、赤字の部分を後から追記しています。
では実際に接続サービスを実行するために必要なファイル(/etc/init.d/prepnet)を以下の内容で用意します:
#!/bin/sh /etc/init.d/messagebus start /etc/init.d/wpa_supplicant start killall dhclient >/dev/null 2>&1
実際にサービスとして必要なファイルは /etc/rc5.d/S09prepnet ですが、/etc/init.d/prepnet からシンボリックリンクを作成します:
# chmod a+rx /etc/init.d/prepnet # ln -s /etc/init.d/prepnet /etc/rc3.d/S09prepnet # ln -s /etc/init.d/prepnet /etc/rc5.d/S09prepnet
最後にサービスの自動実行設定を行います:
# chkconfig messagebus off # chkconfig wpa_supplicant off # chkconfig NetworkManager off # chkconfig network on
ここまで行ってシステムを再起動すると、指定した SSID に接続して、IP アドレスが割り振られるところまでが確認できるようになります:
# ifconfig
:
:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:608 (608.0 b) TX bytes:608 (608.0 b)
wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.0.XXX Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:182828 errors:0 dropped:0 overruns:0 frame:0
TX packets:176362 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23847854 (22.7 MiB) TX bytes:189332502 (180.5 MiB)
:
:
一昔前と違って、CentOS でも Skype アプリはあるし、LINE も(Chrome プラグインで)動くので CentOS をデスクトップ環境として採用できない理由はあまりないなあ、と思ってます。敢えて言えば iTunes はない。けど、個人的には iTunes に縛られたくないんだよね~。。