2013年8月1日木曜日

Raspberry Pi を有線/無線ネットワークに接続する(DHCP版)

Raspberry Pi の初期ネットワーク設定

初期状態の /etc/network/interfaces は次のようになっています。

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
DHCPで割り当てを受ける場合、この設定を変更する必要はありません。

有線接続

そのままでOK. 何もしなくとも、DHCPでIPアドレスなどの割り当てが受けられます。どうぞネットワークの海原へ。

無線接続の場合

これもひと手間かけるだけです。何が手間かというと、無線LANのSSIDとアクセスキー(パスフレーズ)の設定です。

SSIDとアクセスキーの設定には wpa_passphrase を使います。書式は次の通り。

wpa_passphrase <ssid> [passphrase]

# SSID = hogehoge, アクセスキー = fugafuga の場合は、
$ wpa_passphrase hogehoge fugafuga
# で、出力はこうなる。
network={
        ssid="hogehoge"
        #psk="fugafuga"
        psk=b276f31c7d3c1862c991617334abe708b16c1dcc85c1f1cf5ceae1c15bb75572
}
この出力を /etc/wpa_supplicant/wpa_supplicant.conf に追加すれば、自動的にネットワークが認識されます。手順は次の通り。
# 権限変更
$ sudo chmod 666 /etc/wpa_supplicant/wpa_supplicant.conf
# ネットワークデータの追記
$ wpa_passphrase hogehoge fugafuga >> /etc/wpa_supplicant/wpa_supplicant.conf
# 権限を戻す
$ sudo chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
もしくは
$ sudo sh -c "wpa_passphrase hogehoge fugafuga >> /etc/wpa_supplicant/wpa_supplicant.conf"
この状態で /etc/wpa_supplicant/wpa_supplicant.conf を表示すると、
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="hogehoge"
        #psk="fugafuga"
        psk=b276f31c7d3c1862c991617334abe708b16c1dcc85c1f1cf5ceae1c15bb75572
}
#psk=... は不要なので削除。もしSSIDを通知していない場合(ステルスSSID)には、scan_ssid=1 を追加して次のように変更します。
update_config=1
network={
        ssid="hogehoge"
        psk=b276f31c7d3c1862c991617334abe708b16c1dcc85c1f1cf5ceae1c15bb75572
        scan_ssid=1
}
以上で設定完了。Raspberry Pi を再起動するなり、 networkを再起動するなりして接続できることを確認します。

迷ったら man wpa_supplicant.conf を参照で。

2013年7月24日水曜日

Raspberry Pi を簡易DNSとDHCPサーバに

概要

Raspberry Pi (Raspbian) に dnsmasq をインストールして、LAN内のDNS&DHCPサーバーにします。LAN内のコンピュータへ、ホスト名の指定でアクセスできるようにするのが目的です。要するにLAN内限定のDDNSサーバのようなものです。

ネットワーク構成

  • ルータ & ゲートウェイ: 192.168.0.1
  • Raspberry Pi (DNS&DHCP server): 192.168.0.2
  • Raspberry Pi のIPアドレスは固定
  • Raspberry Pi は自力で名前解決ができる(外部DNSサーバが /etc/network/interfaces で指定されている)

手順

dnsmasqをインストール。

sudo apt-get install dnsmasq
次に /etc/dnsmasq.conf を編集します。設定方法はファイル内にかなり親切にコメントされています。今回は外部ファイルに設定を記述するため、次の行をコメントアウトします。
#conf-file=/etc/dnsmasq.more.conf
conf-file=/etc/dnsmasq.more.conf
設定事項は /etc/dnsmasq.more.conf に書き込みます。
domain-needed
bogus-priv

# LAN内で使用するドメインを指定。
# このドメインに対する正引き要求は、
# 1. /etc/hosts
# 2. dnsmasq のDHCP機能によって割り当てられたIPアドレス
# のみを検索して応答する。
local=/raspberry.local/

# 正引き要求に対して /etc/hosts 内にあるホスト名を回答するとき、
# ホスト名の末尾に下記で設定されたドメイン名を付加して応答する。
expand-hosts

# ドメイン名の指定。
# このドメイン名は以下のように利用される。
# 1. "expand-hosts" を設定した場合に付加されるドメイン名
# 2. DHCPクライアントが取得するドメイン名
domain=raspberry.local

# DHCPクライアントへ割り当てるIPアドレスの範囲とリース時間の指定。
# このオプションを設定するとDHCPサーバ機能が有効となる。
dhcp-range=192.168.0.10,192.168.0.80,12h

# DHCPクライアントに通知するルータ、DNSサーバ、NTPサーバの指定。
# 今回は、DNS, NTPサーバとして自身を指定する。
# NTPサーバの設定が必要。 (/etc/ntp.conf)
dhcp-option=option:router,192.168.0.1
dhcp-option=option:dns-server,192.168.0.2
dhcp-option=option:ntp-server,192.168.0.2
設定が完了したら、dnsmasq を再起動します。なお、別のDHCPサーバがすでにネットワーク上にある場合は、そのサービスを停止する必要があります。
sudo service dnsmasq restart
dnsmasq が稼働しているコンピュータ自身の名前を解決するため、/etc/hosts にIPアドレスとホスト名の対応を追記します。
# /etc/hosts に追記
192.168.0.2    raspiname
以上でLAN内のコンピュータに対して、ホスト名でアクセスできるようになりました。

取得済みIPアドレスのリリース

WindowsでDHCPクライアントの情報を更新するため、取得済みIPアドレスのリリースと再取得を行います。

# 取得済みのIPアドレスを解放
ipconfig /release
# IPアドレスの割り当てを受ける
ipconfig /renew
なぜかWindowsマシンだけDHCPクライアントの情報が更新されない、などの時はお試しください。これに気づくまでに無駄な時間を消費しました…。

2013年7月5日金曜日

メモ:ApeosPort -IV C2275 通信設定について (Windows7 32bit)

LPRプリンタを指定する場合、標準設定ではエラーが発生して印刷が失敗する。対策として、ドライバをインストールした後で通信プロトコルを変更する必要がある。コントロールパネルからプリンタを表示し、AdeosPort-IV のプロパティを選択、「ポートの構成」で変更を行う。通信プロトコルが "Raw" に設定されているので、"LPR" に変更する。

2013年5月29日水曜日

UbuntuでInsertキーを無効にする

Logicool K270 を使っていますが、BackSpaceキーを打とうとしてInsertキーを誤爆してしまうことが多いので無効化しました(CapsLockキーの無効化・割り当て変更なんかは「システム設定→キーボードレイアウト→オプション」でいけるけれど、Insertキーを無効にするオプションが見当たらなかったので)

まずはxevを利用してInsertキーのキーコードを調べます。

xev
キーコードは "118" でした。

次に xmodmap の設定ファイルを作成します。~/.xmodmap を次の内容で作成。

keycode 118 =
確認のため、設定を適用してみます。
xmodmap ~/.xmodmap

最後に、起動時に自動的に設定を適用するように設定します。「自動起動するアプリケーション」(gnome-session-properties) で、

xmodmap /home/username/.xmodmap
を追加すればOK.
※.xmodmap は絶対パスで指定してあげないと動きませんでした。

2013年5月3日金曜日

メモ:PC構成

デスクトップ

2013年4月時点の構成

  • ケース:Antec ISK-110
  • マザーボード:GA-H77N-WIFI (rev. 1.0)
  • CPU: Intel Celeron G1610 Intel Core i3 3220T (2013/6/1 変更)
  • メモリ:W3U1600HQ-4G (4GB*2)
  • HDD: TOSHIBA MK3252GSX 320GB (PHDD-320GBを分解して中身を利用)
  • 電源:ケース付属(90W ACアダプタ)
  • ファン:CPU付属標準ファンのみ
  • OS: Ubuntu 12.10
  • 備考:マザーボード付属の2.4GHz帯アンテナはロッドタイプ(SMAアンテナ)に交換済み。

安くて小さいやつを、ということで、Mini-ITX で。モニタ背面への設置も可能。メモリは4GBだと足りなくなったので8GBに変更。2.4GHz帯用のアンテナはAmazonや秋月電子通商で500円程度。Intel N2230がLinuxでは不安定なようで、IEEE 802.11nを無効化して使っています。

シングルボードコンピュータ

Raspberry Pi が4台(Model A * 2, Model B * 2)。

2013年5月2日木曜日

2013年2月14日木曜日

VNC server on Raspberry Pi (Raspbian)

昨年末に2台購入したRaspberryPi, 元気に稼働中です。1台はLAN内DHCP&DNSサーバ、もう1台は遊び用になっています。サーバの方はdnsmasqを使って、簡易DDNSとしています。LAN内のマシンにホスト名だけでアクセスできて便利です。

RaspberryPiは基本的にSSHでログインして操作していますが、たまにGUIを使いたいときもあります。SSHログインしてVNCサーバを起動すればよいのですが、できればログイン画面からGUIでいきたいものです。こういう場合メジャーなのはxinetdを使う方法ですが、調べてみると別の方法もあったりします。今回はlightdmとTightVNCでいきます。