/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