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" に変更する。