/usr/share/doc/ifupdown/examples/network-interfaces.gz の和訳。
/etc/network/interfaces
ifup(8) , ifdown(8) の設定ファイル。
先頭に # が記述された行と空白行は無視される。インデントは必須ではない。
行末に記述された \ は次の行を現在の行の続きとして扱うことを表す。
pre-up , up , down , post-down オプションは
全てのインターフェイスにおいて有効であり、複数回指定することができる。
他のオプションは一度のみ指定することができる。
使用可能なオプションの詳細は INTERFACES(5) を参照。
loopback インターフェイスは実際のところ重要ではないのだが、
必要であれば使用することができる。
auto lo
iface lo inet loopback
ethernet カードの設定例: (broadcast と gateway は任意)
auto eth0
iface eth0 inet static
address 192.168.0.42/24
gateway 192.168.0.1
より複雑な ethernet 設定例。
あまり一般的ではないネットマスクと独自のブロードキャストアドレスを使用する:
(up の行はインターフェイスが起動する際に実行され、
down の行はインターフェイスが停止する際に実行される)
auto eth0
iface eth0 inet static
address 192.168.1.42/25
up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
up route add default gw 192.168.1.200
down route del default gw 192.168.1.200
down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
単一の ethernet カードで二つのインターフェイスを設定する ethernet 設定例。
Note:
ifconfig のような操作を実行する。 ifup / ifdown が扱う : とは異なる。
Warning:
二つのインターフェイスが起動している時に ifdown eth0 を実行した場合、
正しい状態に定義されない既知のバグがある。正しい状態に戻すには下記のコマンドを実行する。
ifdown eth0:1 ; ifup eth0; ifdown eth0
BTW, this is “bug” #193679 (これは実際のところバグというより禁則に近い)
auto eth0 eth0:1
iface eth0 inet static
address 192.168.0.100/24
gateway 192.168.0.1
iface eth0:1 inet static
address 192.168.0.200
netmask 255.255.255.0
別の方法で記述することもできる:
auto eth0
iface eth0 inet static
address 192.168.0.100/24
gateway 192.168.0.1
iface eth0 inet static
address 192.168.0.200
netmask 255.255.255.0
しかしこの方法で複数アドレスを指定する場合、
ifup / ifdown を使用して、個別に追加 / 削除を実行する方法がない。
pre-up コマンドと post-down コマンドを利用することもできる。
pre-up , post-down の終了ステータスを確認し、失敗していた場合、
設定(または設定の解除)は中断される:
auto eth0
iface eth0 inet dhcp
pre-up [ -f /etc/network/local-network-ok ]
上記の設定は /etc/network/local-network-ok ファイルが存在する場合にのみ
eth0 の起動を許可する。
一つは信頼済み LAN へ接続され、もう一つは未検証のインターネットへ接続される、
2つの ethernet インターフェイスの設定例。
(ネットワークカードの探査時に、更新されたカーネルが異なる命令を出した為に)
MAC アドレスがスワップされた場合、インターフェイスの起動は実行されない。
auto eth0 eth1
iface eth0 inet static
address 192.168.42.1
netmask 255.255.255.0
pre-up /path/to/check-mac-address.sh eth0 11:22:33:44:55:66
pre-up /usr/local/sbin/enable-masq
iface eth1 inet dhcp
pre-up /path/to/check-mac-address.sh eth1 AA:BB:CC:DD:EE:FF
pre-up /usr/local/sbin/firewall
一つは信頼済み LAN へ接続され、もう一つは未検証のインターネットへ接続された、
2 つの ethernet インターフェイスを
インターフェイス名ではなく、 MAC アドレスで識別する設定例:
auto eth0 eth1
mapping eth0 eth1
script /path/to/get-mac-address.sh
map 11:22:33:44:55:66 lan
map AA:BB:CC:DD:EE:FF internet
iface lan inet static
address 192.168.42.1
netmask 255.255.255.0
pre-up /usr/local/sbin/enable-masq $IFACE
iface internet inet dhcp
pre-up /usr/local/sbin/firewall $IFACE
異なる場所で使用するノートパソコンの PCMCIA インターフェイス:
Note:
auto 行の欠損に注意。
mapping eth0
script /path/to/pcmcia-compat.sh
map home,*,*,* home
map work,*,*,00:11:22:33:44:55 work-wireless
map work,*,*,01:12:23:34:45:50 work-static
iface home inet dhcp
iface work-wireless bootp
iface work-static static
address 10.15.43.23
netmask 255.255.255.0
gateway 10.15.43.1
Note:
/etc/pcmcia/network を下記のように変更した場合は動作しない:
if [ -r ./shared ] ; then . ./shared ; else . /etc/pcmcia/shared ; fi
get_info $DEVICE
case "$ACTION" in
'start')
/sbin/ifup $DEVICE
;;
'stop')
/sbin/ifdown $DEVICE
;;
esac
exit 0
上記と同じことを実行する設定例:
(この場合は、インターフェイスへオプションを設定したノートパソコンの識別し、
適切なネットワークにおいて ping が応答するコンピュータを検出する。
変数の値は注意深い検討が必要とされる)
mapping eth0
script /path/to/ping-places.sh
map 192.168.42.254/24 192.168.42.1 home
map 10.15.43.254/24 10.15.43.1 work-wireless
map 10.15.43.23/24 10.15.43.1 work-static
iface home inet dhcp
iface work-wireless bootp
iface work-static static
address 10.15.43.23
netmask 255.255.255.0
gateway 10.15.43.1
Note:
ping-places スクリプトは iproute パッケージのインストールが必要となり、
/etc/pcmcia/network の変更が必要となる。
ネットワーク上の全ての通信を読込むインターフェイスの設定例。
この設定は 'stealth'-type 設定の
Network Intrusion Detection センサーの設定において役立つ。
これはネットワーク上に IP アドレスを持たない為、
NIDS システムを危険なネットワークへ直接接続することを防止する。
しかし NIDS のセンサーに既知のバグ(例えば DSA-297 を参照)があり、
ネットワークパケットの処理によってバッファオーバーフローを引き起こすことがある。
auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down
ifupdown によって IP アドレスを割当てず、
外部プログラムによって設定されるインターフェイスの設定例。
これは PPPOE スクリプトのような外部プログラムによって
設定を行うインターフェイスにおいて役立つ。
auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
up /usr/local/bin/myconfigscript
down ifconfig $IFACE down