[Tokyodebian-2006] Debian勉強会21事前課題
Shinichiro Kashiwagi
shink at guitar.ocn.ne.jp
Fri Oct 6 15:12:30 UTC 2006
上川さま、Debian勉強会幹事のみなさま
はじめまして、柏木と申します。
インターネットサービスの開発の仕事をしております。
Debianを使い始めて数年になり、すっかり手放せなくなりました。
自作のソフトウェアはdeb化してますが、よくわかってません。
これまで使ってばかりなので、いつか恩返しというか貢献したいと
思っていましたが、Debianっていうくらいでなかなか敷居が高く、
コミュニティに入って修行したいと思っていたところ、
この勉強会のことを知りました。
初めてですが参加させて頂きたく思います。よろしくお願いします。
今回の課題ですが、
まずは周囲のマシンの /etc/network/interfaces をいくつかさらします。
幸か不幸か mapping とかを駆使するまでは至っていません。
(1) Ethernet 4ポートある小型PCで、ブリッジとして使っています。
bridge-utilsパッケージにより /etc/network/if-pre-up.d/bridge
が作られ、ifupdownパッケージ自身に手をいれなくても
このように新しい構文が使えるようになるというのは便利ですね。
(そういえば、/etc/network/interfaces はてっきり
ifupdown パッケージのconffileかと思ってましたが違うのですね)
----------------------------------
auto lo
iface lo inet loopback
auto eth0
auto eth1
auto eth2
auto eth3
auto br0
iface br0 inet manual
bridge_ports all
bridge_stp off
bridge_maxwait 10
bridge_fd 3
----------------------------------
(2) もうひとつ、IPv6ルータになっているサーバ機の例です。
eth0 が上流、eth1-4 が内側です。NATやDHCP等を提供しています。
----------------------------------
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 210.xxx.xxx.154
netmask 255.255.255.240
broadcast 210.xxx.xxx.159
gateway 210.xxx.xxx.145
iface eth0 inet6 static
address 2001:db8:1234:5678::154
netmask 64
up route -6 add default gw fe80::10 dev eth0
auto eth1
iface eth1 inet static
address 172.20.0.1
netmask 255.255.255.0
broadcast 172.20.0.255
iface eth1 inet6 static
address 2001:db8:1234:1020::1
netmask 64
auto eth2
iface eth2 inet static
address 172.20.1.1
netmask 255.255.255.0
broadcast 172.20.1.255
iface eth2 inet6 static
address 2001:db8:1234:1021::1
netmask 64
auto eth3
iface eth3 inet static
address 172.20.2.1
netmask 255.255.255.0
broadcast 172.20.2.255
iface eth3 inet6 static
address 2001:db8:1234:1022::1
netmask 64
auto eth4
iface eth4 inet static
address 172.20.3.1
netmask 255.255.255.0
broadcast 172.20.3.255
iface eth4 inet6 static
address 2001:db8:1234:1023::1
netmask 64
----------------------------------
さて、Debian のネットワーク設定について結構文句はあるので、
いくつか愚痴らせていただきます。
全体的にRedHat系に負けているような気がします。
* 前述と矛盾するかもしれませんが、設定できるパラメータ一覧がないのは
わかりにくいです。/etc/network/if-*.d/ スクリプトには
設定可能パラメータを表示するオプションをつけることを義務化して
(イメージとしては init.d script の status 引数みたいなもの)
ifup --list-options とかで全部表示できたらいいなと思います。
* iface ethX inet staticの中で、
今時、netmaskとbroadcastを両方指定しなければならないのは面倒。
ifconfig(8)がそうなのだから仕方ないが、
デフォルトで勝手に補ってくれてもよいのでは。
* IPv6まわりの設定方法がかなりいまいち。
- autoconf関係を制御できない。
inet6 staticと書いてもautoconfでアドレスが付いてしまう。
止めるには、/etc/sysctl.conf に
net/ipv6/conf/default/autoconf=0 としなければならない。
ここで net/ipv6/conf/{all,eth0,...}/autoconf=0 のように書いても
動作しない。(/etc/init.d/procps.shでsysctlを行うタイミングがかなり
早く、インターフェースが作られる前だから?)
inet6 autoconf なんてのがあるといいなあ。
(ちなみにRedhatでは変数で制御可能です)
- inet dhcp があるんだから inet6 dhcpもほしい。
DHCPv6で、IPv6のDNSサーバアドレスを配りたい。
- netmask 64 って当たり前だから省略させてほしい。
というかこれは用語が間違っていて、
netmask じゃなくて prefixlen なのですが。
- inet6 loopbackって意味あるのでしょうか。
マニュアルには書いてありますが、書かなくても勝手に ::1 が付きます。
* ifupdownのエラーがわかりにくい。また、エラーがあったばあいに
/etc/network/run/ifstateがおかしくなり、--forceを連発することになる。
(そういえばifstateはなぜ /var にないのでしょう?)
長くなってしまいましたが以上です。
それでは皆様、今後ともよろしくご指導ください。
--
柏木伸一郎 / Shinichiro Kashiwagi <shink at guitar.ocn.ne.jp>
More information about the Tokyodebian-2006
mailing list