[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