第 109 回 東京エリア Debian 勉強会資料.Deb
銀河系唯一のDebian専門誌
2014 年 02 月 15 日ｎｄ：特集ｑｓａｓｍ

デビアン勉強会

目次
事前課題

2

1.1

野島 . . . . . . . . . . . . .

2

1.2

吉野 (yy y ja jp) . . . . . .

2

1.3

dictoss(杉本 典充). . . .

2

1.4

Yosuke . . . . . . . . . . .

2

2

Debian Trivia Quiz

33

最近の Debian 関連のミーテ

1

ィング報告

3.1

4

4.1

はじめに . . . . . . . . . . .

54.2

前提知識 . . . . . . . . . . .

54.3

DNS フォワーダとして使う .

54.4簡易 DNS サーバーとして使う

74.5

簡易 PXE ブートをさせてみる

74.6

終わりに . . . . . . . . . . .

8

会場での無線 LAN のつなぎ方

95.1

はじめに . . . . . . . . . . .

95.2

wpasupplicant

5

び/etc/network/interfaces を利用の場合 . . . . . . . . . .

45.3

東 京 エ リ ア Debian 勉 強 会

108 回目報告 . . . . . . . . .

4Debian で dnsmasq を使う

51

及69

そ の 他 の 無 線 LAN 用 パッ
ケージを利用の場合 . . . . .

9索引10

第 109 回 東京エリア Debian 勉強会 2014 年 02 月

1 事前課題
野島 貴英

今回の事前課題は以下です:

1. 本日、何の作業をやるかを宣言ください。
この課題に対して提出いただいた内容は以下です。

1.1

野島

1.3

UEFI なマシンをクラックして Debian を入れる。UEFI な

前回の続きを行う予定です（mpd5 を kfreebsd で動くようマシン触るの始めて。

1.2

dictoss(杉本 典充)にデバッグする）

吉野 (yy y ja jp)

1.4• DDTSS• manpages-ja (まだ片付けられてないです...)Yosukecl-quicklisp パッケージを理解する。

2

第 109 回 東京エリア Debian 勉強会 2014 年 02 月

2 Debian Trivia Quiz
野島 貴英

ところで、みなさん Debian 関連の話題においついていますか？Debian 関連の話題はメーリングリストをよんでいると追跡できます。ただよんでいるだけでははりあいがないので、理解度のテストをします。特に一人だけでは意味がわからないところもあるかも知れません。みんなで一緒に読んでみましょう。
今回の出題範囲は debian-devel-announce@lists.debian.org や debian-devel@lists.debian.org に投稿された内容などからです。
問題 1. 先日、次期 Debian のバージョンである Jessie
にて、とあるアーキテクチャのサポートが打ち切られま
問題 5. Debian の公報チームが、ソーシャルメディアのした。それは、どのアーキテクチャ？

公式アカウントでの発言する内容の募集をしています。

□ A hurd-i386

最初に投稿されるのはどのアカウントでしょうか？

□ B s390x□ A twitter の debian□ C ia64□ B google ＋の debian問題 2. 今月 2 月あたまにリリースされた stable 版の□ C identi.ca の debian

Debian のバージョンはいくつでしょう？
問題 6. Debian Member へ SIP サービスが提供されま□ A 7.3

した。Debian Member じゃない人が Debian Member□ B 7.4と SIP を使ったコミュニケーションをするときに便利な□ C 7.5

サイトは？
問題 3. Debian の資産 (Asset の事です) を任せること□ A rtc.debian.orgのできる「信頼に足る組織 (Trusted Organization)」の□ B freephonebox.net

定義が先日レビューされていました。信頼に足る組織の□ C www.nttdocomo.co.jp

条件に当てはまらない組織はどれ
問題 7. Debconf14 の開催日は？

□ A 公式 Debian 開発者が居ない組織□ A 8 月 23 日〜31 日□ B 素早い応答/対応ができる組織□ B 8 月 10 日〜24 日□ C Debian 社会憲章と対立しない組織□ C 7 月 21 日〜31 日
問題 4. 1/23 に PC ゲームをネットで売るサービス(Steam) 運営で有名な Valve 社が、いくつかの Linux 対応のゲームを無料で提供しますと決めました。どんな人問題 8. Jessie のデフォルトの init システムが投票により決定しました。さて何になったでしょう？
□ A sysvinitが対象でしょうか？

□ B upstart□ A 全 Debian ユーザ□ C systemd□ B 全 Debian 公式開発者□ C 全 IT 企業の Debian サーバー戦士3

第 109 回 東京エリア Debian 勉強会 2014 年 02 月

3 最近の Debian 関連のミーティング報告
野島 貴英

3.1 東京エリア Debian 勉強会 108 回目報告
東京エリア Debian 勉強会 108 回目は (株) スクウェア・エニックスさんで開催されました。5 名の参加者がありました。

• 野島さんが、Debian Pure Blend の紹介と、Debian の公式パッケージに含まれているビジュアルノベルゲーム用のパッケージを例に用い、Pure Blend 用パッケージの作り方を紹介しました。

• 参加者全員で、各自の作業を行い、最後に成果発表をしました。
作業ははかどったかと思います。また、最後の成果発表にて、アイデア共有とか、課題について語るなど、いろいろ盛り上がったと思いました。
宴会は会場近くのタイ居酒屋「トンタイ」にて行いました。

4

第 109 回 東京エリア Debian 勉強会 2014 年 02 月

4 Debian で dnsmasq を使う
野島 貴英

4.1 はじめにdnsmasq とは、pxe/bootp/dhcp/tftp/dns フォワーダ/dns サーバーを一手に引き受ける事ができる便利かつ小さなソフトウェアです。こちらがあれば、仮想環境を使った debian システムのデバッグ、複数の debian 環境が必要となるような開発環境構築などにとても便利です。
ここでは、debian にて、dnsmasq を導入し、いろいろな使い方をしてみます。

4.2 前提知識
過去の東京エリア Debian 勉強会の KDE 開発環境の資料 [1] を見ておくとスムーズです。こちらに、本発表にて多数出てくる、br0 デバイスをセットアップについて記載しています。

4.3 DNS フォワーダとして使う
ノート PC に入れた Debian 上にて、KVM/bridge を使い、複数ホストで構成される LAN 環境を作って何か開発をすることを想定します。当然ノート PC はモバイル利用が主になりますので、モバイル用の通信アダプタを繋いだり、free wifi スポットのある喫茶店へ行ったり、東京エリア Debian 勉強会でハックしたり、有線繋いだりと、いろいろなグローバル回線のある環境へ接続できる必要があります。
ここで問題になるのは環境によって様々に変わる DNS リゾルバの扱いとなります。仮想環境上の Debian の DNS
リゾルバのアドレスは、ノート PC をどこに繋ぐかによらず、一定のアドレスであると、とても便利です。こういった環境を作るのに dnsmasq は便利です（図 1、図 2 参照。）

5

図 1 dns フォワーダが無い場合

図 2 dns フォワーダがある場合では早速使ってみます。

Step 1. dnsmasq を導入します。
note-pc$ sudo aptitude install dnsmasq

Step 2. br0 のみ listen するようにし、dns フォワーダとしてのみ動作するように設定します。
note-pc$ sudo vi /etc/dnsmasq.d/forwarder.conf
interface=br0
no-dhcp-interface=br0
bind-interfaces

Step 3. dnsmasq をリスタートします。
note-pc$ sudo service dnsmasq restart

Step 4. 動作を確かめます6特定のポートだけで Listen していることを確かめる
note-pc$ sudo netstat -nlp | fgrep dnsmasq
tcp 0 0 127.0.0.1:53 0.0.0.0:*
LISTEN
16955/dnsmasq
tcp 0 0 192.168.0.1:53 0.0.0.0:* LISTEN
16955/dnsmasqudp 0 0 127.0.0.1:53
0.0.0.0:*16955/dnsmasq
udp 0 0 192.168.0.1:53 0.0.0.0:*16955/dnsmasq
実際に dnsmasq を指定して名前を引いてみる
note-pc$ sudo aptitude install dnsutils
note-pc$ dig @192.168.0.1 www.debian.org a; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Debian-1:9.9.3.dfsg.P2-4 <<>> @192.168.0.1 www.debian.org a; (1 server found);; global options: +cmd... 中略...
;; ANSWER SECTION:
www.debian.org.
300
INA
5.153.231.4
www.debian.org.
300
INA128.31.0.51
www.debian.org.
300
INA
130.89.148.14... 中略...

非常に簡単に DNS フォワーダとしてセットアップ出来ます。
また、グローバル回線を変更した場合（例：拠点 A の wifi スポットから、拠点 B の wifi スポットへ移動した等）は、... グローバル回線を有効にして...
note-pc$ sudo service dnsmasq restart

するだけで、新しいリゾルバ先を dnsmasq は取り込み、名前解決が出来るようになります。

4.4 簡易 DNS サーバーとして使う
今度は単一のドメインのホストレコードを返す簡単な DNS サーバーがちょっと欲しくなる時があります。このような場合、dnsmasq は簡易 DNS サーバーとしてもあっさり動作させることができます。
実は dnsmasq はデフォルトで/etc/hosts を読み込み、DNS サーバーとしても動作しています。そのため、簡易DNS サーバーとして利用する場合、/etc/hosts をそのまま利用するのが一番簡単です。
Step 1. /etc/hosts に名前解決したいホストを書きならべる。
#例となります。
note-pc$ sudo vi /etc/hosts-----------/etc/hosts ここから--------------192.168.0.3 debian0
192.168.0.4 debian1.my-domain debian1
192.168.0.5 debian2.my2-domain debian2-----------/etc/hosts ここまで---------------

Step 2. dnsmasq を restart します。
note-pc$ sudo service dnsmasq restart

Step 3. 実際に DNS を引いて確かめてみます。
note-pc$ dig @192.168.0.1 debian0 +short
192.168.0.3 (←正しく返却されている)
note-pc$ dig @192.168.0.1 debian1.my-domain +short
192.168.0.4 (←正しく返却されている)
note-pc$ dig @192.168.0.1 debian2.my2-domain +short
192.168.0.5 (←上とは異なるドメイン所属のレコードも正しく返却されている)
note-pc$ dig @192.168.0.1 debian2 +short
192.168.0.5 (←ホスト名だけでも正しく返却されている)

4.5 簡易 PXE ブートをさせてみる
dnsmasq を使って pxe ブートを仮想化環境である KVM から行ってみます。ここでは、文献 [2] の方法を使い、実際に wheezy の netinst 用インストーラが立ち上がるまで確かめてみます。

Step 1. /etc/dnsmasq.d/にて、今まで書いたファイルを一旦消去 (適宜)

7

note-pc$ sudo rm -f *Step 2. pxeboot 用の定義を記載
note-pc$ sudo vi /etc/dnsmasq.d/pxeboot.conf----- pxeboot.conf の中身----interface=br0
bind-interfaces
dhcp-range=192.168.0.129,192.168.0.254,255.255.255.0,1hdhcp-boot=pxelinux.0,pxeserver
pxe-service=x86PC, "Install Linux", pxelinux
enable-tftp
tftp-root=/home/your/srv/tftp----- pxeboot.conf の中身-----

Step 3. pxe ブートさせるイメージを展開しておく。
note-pc$ cd /home/your/note-pc$ mkdir srv;mkdir tftp
note-pc$ cd srv/tftp
note-pc$ wget http://ftp.debian.or.jp/debian/dists/stable/main/installer-amd64/current/images/netboot/netboot.tar.gz
note-pc$ tar xzf netboot.tar.gz

Step 4. dnsmasq を再起動
note-pc$ sudo service dnsmasq restart

Step 5. virt-install コマンド経由で、pxe ブートしてみる。
note-pc$ sudo qemu-img create -f raw /var/lib/libvirt/images/debian-pxe 5G
note-pc$ sudo virt-install --connect=qemu:///system -n debian-pxe --ram 512 \--pxe --disk /var/lib/libvirt/images/debian-pxe,bus=virtio,size=5,format=raw,cache=writeback \--bridge=br0,model=virtio --vnc --hvm --accelerate

virt-viewer がすぐに開き、PXE ブートして、Debian wheezy のインストール画面が出てきます。

4.6 終わりに
今回ここでは、簡易 dns フォワーダ、簡易 dns サーバー、簡易 pxe サーバーを dnsmasq を使って組み立てました。
しかし、man dnsmasq を読むと判る通り、もっと複雑な事も簡単に出来ます。また、自分はまったく未評価ですが、最近では lua 言語と合わせて使う事ができるようです。
複数の仮想環境を使ってノート PC 上に複数の Debian の開発環境を立ち上げる場合に、非常に便利です。

dnsmasq をぜひ一度お試しあれ。

参考文献[1] 野島 貴英,「Debian 開発者の KDE 環境あれこれ」, 第 85 回東京エリア Debian 勉強会資料, http://tokyodebian.alioth.debian.
org/pdf/debianmeetingresume201202.pdf[2] Debian.org,“PXEBootInstall”, https://wiki.debian.org/PXEBootInstall8

第 109 回 東京エリア Debian 勉強会 2014 年 02 月

5 会場での無線 LAN のつなぎ方
野島 貴英

5.1 はじめに今回試験として、会場側でフィルタ無しのグローバル回線を用意しました。ただ、会場側のセキュリティポリシーにより、wpa-psk AES hidden SSID という方式での提供となります。
以下に Debian マシンでの接続方法を記載します。
また、自分の環境では違うやり方でつながったという方は、野島まで教えて下さい。こちらでもノウハウとして溜めていく予定です。

5.2 wpasupplicant 及び/etc/network/interfaces を利用の場合
もっとも良いマニュアルは、/usr/share/doc/wpasupplicant/README.Debian.gz となります。困った場合はこちらも合わせてご参照下さい。
以下に/etc/network/interfaces の定義について会場の例を記載します。
$ sudo aptitude install wpasupplicant# hidden ssid の元では必ず ap-scan 1,scan-ssid 1 を指定する事。
# 参考：http://bugs.debian.org/358137$ sudo vi /etc/network/interfaces-----以下のエントリを追記ここから---------iface wlan_tokyodebian inet dhcp
wpa-ssid <<会場の SSID>>
wpa-psk <<会場のパスワード>>
wpa-ap-scan 1
wpa-scan-ssid 1-----以下のエントリを追記ここまで---------# 無線 LAN を有効にする。
$ sudo ifup wlan0=wlan_tokyodebian# 無線 LAN を無効にする。
$ sudo ifdown wlan0

ま た 、ハ マって し まった 時 の デ バッグ 方 法 は 、/usr/share/doc/wpasupplicant/README.Debian.gz 中 の”4.

Trubleshooting” の章が便利です。

5.3 その他の無線 LAN 用パッケージを利用の場合すみません、自分が情報を持たないため、現場で教えて下さい。

9

第 109 回 東京エリア Debian 勉強会 2014 年 02 月

6 索引

debian-dnsmasq, 510

Debian 勉強会資料
2014 年 02 月 15 日
初版第 1 刷発行
東京エリア Debian 勉強会 （編集・印刷・発行）

11