館澤です。 SUSE1.9のマシンにエイリアスIPを付ける方法について質問があります。 エイリアスIPの付け方について、試してみたところ (1) ifconfig eth0:0 IPアドレス ... を利用 (2) YaST の[ネットワークカード]-[編集]-[詳細設定]- [バーチャルエイリアス]を利用 の2種類の方法があることが分かったのですが、 これらの挙動が若干異なっていおり気になっています。 【(1)と(2)の違い】 (1)の方法ですと ifconfig -a で eth0:0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:10.35.193.220 Bcast:xx.xx.xx.xx Mask:255.255.255.0 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 Base address:0x3040 Memory:fea60000-fea80000 とエイリアスIPのデバイスが表示されるのですが、 (2)の方法だと ifconfig -a で、エイリアスIPのデバイスが表示されませんでした。 【質問】 YaSTのエイリアスIP割り当てをコマンドラインで表現すると どのようになるのでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします。 -- 館澤学 <mabu@home.email.ne.jp>
M. Takeyamaです。 On Fri, 05 Nov 2004 18:41:08 +0900 Manabu Tatesawa <mabu@home.email.ne.jp> wrote:
館澤です。
[...]
SUSE1.9のマシンにエイリアスIPを付ける方法について質問があります。 エイリアスIPの付け方について、試してみたところ
ご存知の方いらっしゃいましたら宜しくお願いします。
YASTの設定だけだとうまくいきませんね。(経験上) /etc/sysconfig/network ifcfg-eth-xxxxx のファイルの中で 例) IPADDR_0="xx.xx.xx.xx" <--- エイリアスIP NETMASK_0="255.255.255.0" <--- /24のネットワークの場合のネットマスク この2つはYASTが生成してくれますが... LABELが足りないとうまく動作しないようです。この場合、 LABEL_0=0 の1行を加えてください。 あたり前ですが... networkの再起動しないと反映されません。 /etc/init.d/network stop; /etc/init.d/network start; P.S. (宣伝モード) もし、よかったら、11/21(日)の勉強会に是非参加してみてください。 質問コーナーもありますし... #参加者の集まりがわるいようなので... #(せっかくの機会なので...) ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/
山口と申します。 On Fri, 05 Nov 2004 18:41:08 +0900 Manabu Tatesawa <mabu@home.email.ne.jp> wrote:
SUSE1.9のマシンにエイリアスIPを付ける方法について質問があります。 エイリアスIPの付け方について、試してみたところ
(1) ifconfig eth0:0 IPアドレス ... を利用 (2) YaST の[ネットワークカード]-[編集]-[詳細設定]- [バーチャルエイリアス]を利用
の2種類の方法があることが分かったのですが、 これらの挙動が若干異なっていおり気になっています。
【(1)と(2)の違い】
(1)の方法ですと ifconfig -a で
eth0:0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:10.35.193.220 Bcast:xx.xx.xx.xx Mask:255.255.255.0 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 Base address:0x3040 Memory:fea60000-fea80000
とエイリアスIPのデバイスが表示されるのですが、 (2)の方法だと ifconfig -a で、エイリアスIPのデバイスが表示されませんでした。
比較的新しい Linux Kernel の TCP/IP 機能は、ifconfig コマンドでは操作で きない部分があります。/sbin/ifup スクリプトを眺めてみるとわかると思いま すが、実際には iproute2 パッケージに含まれる ip というコマンドで、IP イ ンターフェースの操作がされています。 上記の件は、eth0 というインターフェースに2つ以上のアドレスが付けられる ことが理由です。eth0:0 等ではなく、eth0 そのものにアドレスが複数割り当て できます。 ifconfig コマンドでは、同じインターフェース名に割り当てられた IP アドレ スは、先頭の1つしか表示できない仕様らしいので、混乱が起こります。
【質問】
YaSTのエイリアスIP割り当てをコマンドラインで表現すると どのようになるのでしょうか?
例として eth1 に2つアドレスを振ってみます。 (1) 現在振られているアドレスを表示 # ip addr show dev eth1 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:90:99:26:8a:e8 brd ff:ff:ff:ff:ff:ff (2) 1つ目のアドレスを追加 # ip addr add 192.168.1.1/24 brd 192.168.1.255 dev eth1 (3) 現在振られているアドレスを表示 # ip addr show dev eth1 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:90:99:26:8a:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1 (4) 2つ目のアドレスを追加 # ip addr add 192.168.1.2/24 brd 192.168.1.255 dev eth1 (5) 現在振られているアドレスを表示 # ip addr show dev eth1 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:90:99:26:8a:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1 inet 192.168.1.2/24 brd 192.168.1.255 scope global secondary eth1 (6) ifconfig コマンドだと1つしか見えない # ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:90:99:26:8A:E8 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:10 Base address:0xcc00 (7) ifconfig コマンドのように、インターフェース名を指定して追加 (label) # ip addr add 192.168.1.3/24 brd 192.168.1.255 dev eth1 label eth1:0 (8) 現在振られているアドレスを表示 # ip addr show dev eth1 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:90:99:26:8a:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1 inet 192.168.1.2/24 brd 192.168.1.255 scope global secondary eth1 inet 192.168.1.3/24 brd 192.168.1.255 scope global secondary eth1:0 (9) ifconfig -a コマンドでも確認できる # ifconfig -a (中略) eth1 Link encap:Ethernet HWaddr 00:90:99:26:8A:E8 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:10 Base address:0xcc00 eth1:0 Link encap:Ethernet HWaddr 00:90:99:26:8A:E8 inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 BROADCAST MULTICAST MTU:1500 Metric:1 Interrupt:10 Base address:0xcc00 (10) 追加したアドレスを削除 # ip addr del 192.168.1.3 dev eth1 # ip addr del 192.168.1.2 dev eth1 # ip addr del 192.168.1.1 dev eth1 (または ip addr flush dev eth1 で一括削除) (11) もはや eth1 には何も IP アドレスがついていない # ip addr show dev eth1 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:90:99:26:8a:e8 brd ff:ff:ff:ff:ff:ff ※ip コマンドは強力ですが、エラーチェックが緩い (?) ため、おかしな設定も できてしまうところがありますので、注意が必要です。 ■参考文献 Linux Advanced Routing & Traffic Control HOWTO ・Chapter 3.iproute2 入門 http://www.linux.or.jp/JF/JFdocs/Adv-Routing-HOWTO/lartc.iproute2.html IP(8) ip - show / manipulate routing, devices, policy routing and tunnels (# man ip) -- 山口健史 (YAMAGUCHI Kenji) E-Mail: yamk@yamk.net
館澤です。 Takeyamaさん、山口さん ありがとうございます。 デバイスにIPアドレスを付ける方法が変更されていたのですね。 とても勉強になりました。 "M. Takeyama(takezou)" <takezou040728@yahoo.co.jp> wrote:
YASTの設定だけだとうまくいきませんね。(経験上) /etc/sysconfig/network ifcfg-eth-xxxxx のファイルの中で
/etc/sysconfig/network/* や /etc/sysconfig/network/scripts/* の中を 覗いてみたのですが、かなり複雑に思えました。 やっていることが分かったので、もうちょっと頑張って読んでみます。 YAMAGUCHI Kenji <yamk@yamk.net> wrote:
比較的新しい Linux Kernel の TCP/IP 機能は、ifconfig コマンドでは操作で きない部分があります。/sbin/ifup スクリプトを眺めてみるとわかると思いま すが、実際には iproute2 パッケージに含まれる ip というコマンドで、IP イ ンターフェースの操作がされています。
上記の件は、eth0 というインターフェースに2つ以上のアドレスが付けられる ことが理由です。eth0:0 等ではなく、eth0 そのものにアドレスが複数割り当て できます。
ifconfig コマンドでは、同じインターフェース名に割り当てられた IP アドレ スは、先頭の1つしか表示できない仕様らしいので、混乱が起こります。
具体例まで書いていただき、分かりやすい説明本当に有難うございます。 iproute2パッケージ、ipコマンドがキーワードですね。 いろいろ試してみたいと思います。 #fakeパッケージはiproute2対応になっているのかしら #こちらも試してみたいと思います。 -- 館澤学 <mabu@home.email.ne.jp>
participants (3)
-
M. Takeyama(takezou)
-
Manabu Tatesawa
-
YAMAGUCHI Kenji