Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ifconfigコマンドについて

1,507 views
Skip to first unread message

ryuji sumoto

unread,
Mar 28, 2008, 12:41:03 AM3/28/08
to
お世話になります。須本と申します。

ネットワークの確認・設定を行うifconfigコマンドについて質問です。

NICが2枚指してあり、1枚(eth0)2枚(eth1)という環境です。
ifconfigコマンドで確認したところ
eth0とeth1、それとloアドレスが表示されます。

そこでeth1を停止しようと思い
#ifconfig eth1 down
で停止させました。
その後、ifconfigで確認するとeth1の表記はなくなりました。

しかし、ifconfig -aで確認すると、表示されIPアドレスも有効になってます。
ためしに、外部からpingを打ってみましたが、有効の状態です。

ifconfig eth1 downというコマンドでは停止はできないのでしょうか?
ネットやmanで調べた範囲では、停止するコマンドのようですが。。
当たり前かもしれませんが、ifdown eth1では停止できました。

CentOS4.5とvine3.2の環境です。

以上宜しくお願い致します。

L.Takashi ISHIOKA

unread,
Mar 28, 2008, 5:51:39 AM3/28/08
to
>> On Fri, 28 Mar 2008 13:41:03 +0900, ryuji sumoto <sum...@mukuan.org> said:

ryuji> そこでeth1を停止しようと思い
ryuji> #ifconfig eth1 down
ryuji> で停止させました。
ryuji> その後、ifconfigで確認するとeth1の表記はなくなりました。

ryuji> しかし、ifconfig -aで確認すると、表示されIPアドレスも有効になってます。
ryuji> ためしに、外部からpingを打ってみましたが、有効の状態です。

-a をつけると DOWN(UP がない)も表示はされます.
そのときの 表記には UP がなかったのでしょうか?

ryuji> ifconfig eth1 downというコマンドでは停止はできないのでしょうか?

いま CentOS4.6 をつかっている機械hogeで ifconfig eth0 down したら,
他のマシンからのping hoge はそのときだけ止まりました. up したら
表示が再開します. まぁこれは 1枚しかない状態のですが...

--
(ishi)

ryuji sumoto

unread,
Mar 28, 2008, 6:28:53 AM3/28/08
to
須本です。

L.Takashi ISHIOKAさん
ご返答ありがとうございます。

> -a をつけると DOWN(UP がない)も表示はされます.
> そのときの 表記には UP がなかったのでしょうか?

-aオプションは、DOWN(UP)に関係なくすべて表示されるということですね。

2枚とも有効の状態
#ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:E0:18:FD:61:96
inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:4
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:256 (256.0 b)
Interrupt:9

eth1 Link encap:Ethernet HWaddr 00:16:01:22:BC:B4
inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10548900 errors:0 dropped:0 overruns:0 frame:0
TX packets:12540058 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3756774408 (3582.7 Mb) TX bytes:836305765 (797.5 Mb)
Interrupt:9 Base address:0xb000

この状態で、eth1を停止
#ifconfig eth1 down
#ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:E0:18:FD:61:96
inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:4
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:256 (256.0 b)
Interrupt:9

eth1 Link encap:Ethernet HWaddr 00:16:01:22:BC:B4
inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10548900 errors:0 dropped:0 overruns:0 frame:0
TX packets:12540058 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3756774408 (3582.7 Mb) TX bytes:836305765 (797.5 Mb)
Interrupt:9 Base address:0xb000

結果は同じになります。pingも通ります。
-aオプションをつけないとeth0のみ表示され、down成功のように見えますが
pingが通り停止はしていない状態です。

>
> いま CentOS4.6 をつかっている機械hogeで ifconfig eth0 down したら,
> 他のマシンからのping hoge はそのときだけ止まりました. up したら
> 表示が再開します. まぁこれは 1枚しかない状態のですが...

私もNIC1枚の環境では、ifconfig eth0 down で停止、UPで再開できました。
1枚と2枚の環境では違うのでしょうか。。
もう少し調べてみます。

"河本陽一/いっつ"

unread,
Mar 28, 2008, 9:46:03 AM3/28/08
to
こうもとです。

「ryuji sumoto」さんの書かれた、
「[linux-users:107978] ifconfigコマンドについて」についての返事です。

> そこでeth1を停止しようと思い
> #ifconfig eth1 down
> で停止させました。
> その後、ifconfigで確認するとeth1の表記はなくなりました。
>
> しかし、ifconfig -aで確認すると、表示されIPアドレスも有効になってます。
> ためしに、外部からpingを打ってみましたが、有効の状態です。

 その外部のマシンのarpテーブルはどうなっていますか。
 生きているNIC(eth0)のMACアドレスになっていませんか。

----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp


ryuji sumoto

unread,
Mar 28, 2008, 11:07:48 AM3/28/08
to
河本さん

お世話になります。須本です。

>  その外部のマシンのarpテーブルはどうなっていますか。
>  生きているNIC(eth0)のMACアドレスになっていませんか。

外部マシンのarpテーブルをみてみました。

>arp -a
Interface: 192.168.0.2 --- 0x10003
Internet Address Physical Address Type
192.168.0.1 00-0b-a2-0c-b9-53 dynamic
192.168.0.11 00:E0:18:FD:61:96 dynamic
192.168.0.15 000:E0:18:FD:61:96 dynamic

おっしゃるとおり、生きているNICのMACアドレスになっていました。
そこで、arpテーブルを削除し、もう一度pingをうってみました。
pingが通ったので、arpテーブルを表示しました。
結果同じです。

>arp -a
Interface: 192.168.0.2 --- 0x10003
Internet Address Physical Address Type
192.168.0.1 00-0b-a2-0c-b9-53 dynamic
192.168.0.11 00:E0:18:FD:61:96 dynamic
192.168.0.15 000:E0:18:FD:61:96 dynamic

生きているeth0のほうにはpingは打っていないのですが、
テーブルが表示されています。

他のマシンからも死んでいるeth1にpingを飛ばしても
pingが通り、同じようにarpテーブルが表示されます。
頭が混乱してきました。。

宜しくお願い致します。

Akinori AIZAWA

unread,
Mar 28, 2008, 12:34:39 PM3/28/08
to
ryuji sumoto さんは書きました:

>>  その外部のマシンのarpテーブルはどうなっていますか。
>>  生きているNIC(eth0)のMACアドレスになっていませんか。
>
> 外部マシンのarpテーブルをみてみました。
>
>> arp -a
> Interface: 192.168.0.2 --- 0x10003
> Internet Address Physical Address Type
> 192.168.0.1 00-0b-a2-0c-b9-53 dynamic
> 192.168.0.11 00:E0:18:FD:61:96 dynamic
> 192.168.0.15 000:E0:18:FD:61:96 dynamic
>
> おっしゃるとおり、生きているNICのMACアドレスになっていました。
>

*略*
>
> 他のマシンからも死んでいるeth1にpingを飛ばしても
> pingが通り、同じようにarpテーブルが表示されます。
> 頭が混乱してきました。。

先ずは、eth0 及び eth1 を同一セグメントにしなければならない
事情とか、両方有効にも拘らず、eth0 にパケットが全く流れてい
ない事とか、eth0, eth1 は同一 Hub に繋がってるのか否かとか、
を説明しないと、他の人にも判り難いのでは無いかと。

#てか、割り込みぶつかってる様ですけど・・・
 ちゃんと IRQ Share とか出来てるのかな?
 最近はそういうの気にしないで良いんでしたっけ?

> 2枚とも有効の状態
> #ifconfig -a
>
> eth0 Link encap:Ethernet HWaddr 00:E0:18:FD:61:96
> inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0
> UP BROADCAST MULTICAST MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:4 errors:0 dropped:0 overruns:0 carrier:4
> collisions:0 txqueuelen:1000
> RX bytes:0 (0.0 b) TX bytes:256 (256.0 b)
> Interrupt:9
>
> eth1 Link encap:Ethernet HWaddr 00:16:01:22:BC:B4
> inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:10548900 errors:0 dropped:0 overruns:0 frame:0
> TX packets:12540058 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:3756774408 (3582.7 Mb) TX bytes:836305765 (797.5 Mb)
> Interrupt:9 Base address:0xb000


--
会沢 昭則 あ☆WP Akinori AIZAWA | Packet Radio User's Group.
no...@awp.dhis.prug.or.jp (home) | Saitama Pref. Saitama City.
a.ai...@ntt.com (office) | Ham Radio Station : JP1AWP

Atsunori Saito

unread,
Mar 29, 2008, 1:51:26 AM3/29/08
to
さいとうです。

On Sat, 29 Mar 2008 01:34:39 +0900, Akinori AIZAWA <no...@awp.dhis.prug.or.jp> wrote:

> > 他のマシンからも死んでいるeth1にpingを飛ばしても
> > pingが通り、同じようにarpテーブルが表示されます。
> > 頭が混乱してきました。。
>
> 先ずは、eth0 及び eth1 を同一セグメントにしなければならない
> 事情とか、両方有効にも拘らず、eth0 にパケットが全く流れてい
> ない事とか、eth0, eth1 は同一 Hub に繋がってるのか否かとか、
> を説明しないと、他の人にも判り難いのでは無いかと。

ネットワークの構成を見ないとなんとも言えませんが、eth0, eth1
とも同じブロードキャストドメインだとすると、Linuxはこのよう
な挙動をします。

# Linuxは、インターフェースがIPアドレスを持つのではなく、マ
# シンがIPアドレスを持つという概念で作られています。

下記にようにすることで、別インターフェースからarp応答を返さ
ないようになります。
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter

# そもそも、インターフェースをdownするより、IPアドレスを付け
# なければいいんだと思いますが...

--
// SAITO Atsunori
// % echo zbp.yvnzt@fsrahg | rot13 | rev

Jun OKAJIMA

unread,
Mar 29, 2008, 3:15:50 AM3/29/08
to
ちゃんと読まずにとりあえずレス。

# ifdown eth0
などではうまく行く訳ですよね。

であれば、

# ifconfig eth0 down
# ifconfig -a > /home/yourname/out1
( reboot)
# ifdown eth0
# ifconfig -a > /home/yourname/out2
$ diff out1 out2

というのはいかがでしょうか。

また、これに、
# some_net_command >> out1
といったものを付け加えるのも面白いと思います。
たとえば、route -n とか、それこそ arp とか。
二つのI/Fのあいだで、Forwarding してませんか?
これなんか怪しいんですが。

有限会社デジタルインフラ 岡島


08/03/29 に Atsunori Saito<tun...@gmail.com> さんは書きました:

ryuji sumoto

unread,
Mar 29, 2008, 5:49:14 PM3/29/08
to
お世話になります。
須本です。

> 先ずは、eth0 及び eth1 を同一セグメントにしなければならない
> 事情とか、両方有効にも拘らず、eth0 にパケットが全く流れてい
> ない事とか、eth0, eth1 は同一 Hub に繋がってるのか否かとか、
> を説明しないと、他の人にも判り難いのでは無いかと。

失礼しました。ifconfigの結果表示は、ifconfigの動作確認の
ためのテスト環境です。

それで実際の環境は、下記の通りです。

Inetrnet -- router1 ----------------- Server1(グローバルIP)
|
------------- Server2(グローバルIP)
| ------------- router2 --------問題のサーバ
  eth0 ローカルIP 
  eth1 グローバルIP

現在は、eth0にローカルIPを振り当て、
router2のスタティックマスカレード機能を使ってます。
eth1を設定したのは、最初はrouter2を使わず直接グローバルIPを
割り当てる予定でした。

結局、router2を挟む形になりましたので、eth1をifconfigでdownさせて
運用していましたが、Server1やServer2から接続できない状態が続きました。

そこで、eth1(ifcfg-eth1)の設定を完全に消してからサーバを再起動したら
うまく接続できるようになりました。
ですので原因は、ifconfigコマンドでDownできていなかったのではと
思いましたので、テスト環境でifconfigコマンドの挙動を試した次第です。

問題のサーバの現状は、
# ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:1B:21:08:82:D5
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fe08:82d5/64 Scope:Link


UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:80568 errors:0 dropped:0 overruns:0 frame:0
TX packets:88520 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:10489055 (10.0 MiB) TX bytes:47716801 (45.5 MiB)
Base address:0x1100 Memory:88020000-88040000

eth1  Link encap:Ethernet HWaddr 00:15:17:1E:C3:6E


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)
Base address:0x2000 Memory:88180000-881a0000

となっております。
運用が始まってしまいましたので、eth1のUPとdownができない状態です。
宜しくお願い致します。

ryuji sumoto

unread,
Mar 29, 2008, 6:05:52 PM3/29/08
to
お世話になります。
須本です。

> > 先ずは、eth0 及び eth1 を同一セグメントにしなければならない
> > 事情とか、両方有効にも拘らず、eth0 にパケットが全く流れてい
> > ない事とか、eth0, eth1 は同一 Hub に繋がってるのか否かとか、
> > を説明しないと、他の人にも判り難いのでは無いかと。

失礼しました。ifconfigの結果表示は、ifconfigの動作確認の
ためのテスト環境です。

それで実際の環境は、下記の通りです。

Inetrnet -- router1 ----------------- Server1(グローバルIP)
|
------------- Server2(グローバルIP)
| ------------- router2 --------問題のサーバ
  eth0 ローカルIP 
  eth1 グローバルIP

現在は、eth0にローカルIPを振り当て、
router2のスタティックマスカレード機能を使ってます。
eth1を設定したのは、最初はrouter2を使わず直接グローバルIPを
割り当てる予定でした。

結局、router2を挟む形になりましたので、eth1をifconfigでdownさせて
運用していましたが、Server1やServer2から接続できない状態が続きました。

そこで、eth1(ifcfg-eth1)の設定を完全に消してからサーバを再起動したら
うまく接続できるようになりました。
ですので原因は、ifconfigコマンドでDownできていなかったのではと
思いましたので、テスト環境でifconfigコマンドの挙動を試した次第です。

問題のサーバの現状は、
# ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:1B:21:08:82:D5
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fe08:82d5/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:80568 errors:0 dropped:0 overruns:0 frame:0
TX packets:88520 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:10489055 (10.0 MiB) TX bytes:47716801 (45.5 MiB)
Base address:0x1100 Memory:88020000-88040000

eth1  Link encap:Ethernet HWaddr 00:15:17:1E:C3:6E

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

"河本陽一/いっつ"

unread,
Mar 29, 2008, 9:49:27 PM3/29/08
to
こうもとです。

「ryuji sumoto」さんの書かれた、
「[linux-users:107989] Re: ifconfigコマンドについて」についての返事です。

> eth1を設定したのは、最初はrouter2を使わず直接グローバルIPを
> 割り当てる予定でした。

 ということは、eth1はServer2と同じネットワークだったと言うことです
ね。
 きっと、ルーティングテーブルも残ったままだったのでしょう。
 [linux-users:107978]で、外部からpingを打って有効だと確認した外部の
マシンは、Server1やServer2のグローバルIPアドレスが割り振られているマ
シンからですよね。router2ではないですよね。

 最初のメールで、環境はCentOS4.5とvine3.2とのことでしたが、それぞれ
どのマシンのことですか。eth1を落としたマシンはどのディストリビューショ
ンですか。

 ちなみに、Debian(etch)では、"ifconfig eth1 down"でルーティングテー
ブルも消えました(eth0とは別ネットワークにしています)。

----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp


Hisashi Kaneko

unread,
Mar 30, 2008, 12:19:57 AM3/30/08
to
金子と申します。

知っている人には当り前なのでしょうが、
このLinuxの挙動に最近気がついた者です。

私のところでは、あるLinuxサーバに、

eth0 192.168.0.10/24
eth1 192.168.0.15/24

と同じセグメントのIPアドレスをつけて
動作させる必要がありました。
しかし、他から 192.168.0.15 にPINGを打っても、
どうしても eth0 で受け手しまうことを
発見(?個人的にはです…)しました。

PINGを打ったサーバ(同セグメント)で
arp -a すると、192.168.0.15 は、eth0 の
MACアドレスとなっていました。

そのとき、eth1 を抜線しても 192.168.0.15 にPINGが
通るということは確認したのですが、
なるほど、私の環境でも、ifconfig eth1 down しても
PINGは通ったのでしょうね。おもしろいです。
ifdown eth1 の場合は、arp情報がクリアされるから(かな?)
PINGが通らなくなるのでしょう。

> 下記にようにすることで、別インターフェースからarp応答を返さ
> ないようになります。
> echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter

なお、私の環境でも、上記の、さいとうさんの方法で、
問題を解決しております。
arp_ignore も 1 にしましたがこれは不要でしたかね。

普段は読むだけですが、偶然にも最近経験したことと似ていて、
おもしろかったので反応してしまいました。

ご参考までに…。

早間

unread,
Mar 30, 2008, 12:34:40 AM3/30/08
to
早間です。

>
> eth0 192.168.0.10/24
> eth1 192.168.0.15/24
>
> と同じセグメントのIPアドレスをつけて
> 動作させる必要がありました。

このような場合
# ifconfig eth0 192.168.0.10 broadcast 192.168.0.255 \
netmask 255.255.255.0
# ifconfig eth0:1 192.168.0.15 broadcast 192.168.0.255 \
netmask 255.255.255.0
とすれば、一つのカードだけで働くので card もケーブルも一つ少なくて済みます。

# Check IP Alias

-- 早間 義博

Hisashi Kaneko

unread,
Mar 30, 2008, 1:25:24 AM3/30/08
to
金子です。

早間さん、ありがとうございます。

見栄をはってもしかたがないのですが、
自分もIP Aliasは知ってましたよ、という言い訳を…。


192.168.0.15 は、eth0 ではなく、eth1で受けたかったんです。
というのも、192.168.0.15 側は、透過モードのスパムフィルタ機器を
経由させていて、スパムフィルタ機器が死んだ場合でも、
192.168.0.10 側のサービスを巻き添えにしない構成にしたかったんです。

本当は、eth1は別セグメントにする予定だったのですが、
これ以上は聞かないでください…(笑)

ryuji sumoto

unread,
Mar 30, 2008, 1:57:34 AM3/30/08
to
河本さん、皆様

須本です。お世話になります。

本稼動の環境と私がテストした環境で行ったこととのメールが
入り混じってしまった混乱させてしまいました。すいません。まとめます。

まず、実際の環境。
router1 ----- router2 -----問題のサーバ
 |
 |------------------Server1
 |------------------Server2

問題のサーバ(CentOS4.5)
eth0 192.168.0.2/24(ローカルIP)
eth1 ***.***.***.10/24(グローバルIP)(停止したつもり)

Server1・Server2(windows2003)
***.***.***.11/24(グローバルIP)
***.***.***.12/24(グローバルIP)
問題のサーバと同じネットワーク

router2
***.***.***.10/24(グローバルIP)
問題のサーバへスタティックマスカレード機能使用

上記のような環境で、router1の配下に3台あり、問題のサーバだけが
router2を通していました。
この環境で問題になったのが、まったくの外部(インターネット)からは
問題のサーバにアクセスできました。
しかし、Server1やServer2からはアクセスができない状態でした。
router1のアクセスコントロールで制御されているのかと思いましたが
問題ないとのことでした。(router1は別管理者でさわれません)

原因がわからず困っていましたが、問題のサーバでLANケーブルを抜いて
スタンドアローンの状態にした時に、pingを自分の停止しているはずの
eth1(eth1 ***.***.***.10/24)に飛ばしてみたらpingが帰ってきました。
そこで、eth1の設定が残っているのではと思い、ifconfigで見ましたが
eth0だけ表示されました。(ifconfig -aはやっていません)
そこで念のため、eth1の記述を全部削除し、マシンの再起動をしました。
そのあとは、Server1等からも接続できました。
ですのでifcofnig eth1 downのコマンドできちんと停止していなかったと
思ったしだいです。

そこでテスト環境で実験をしてみて、最初のメールを出しました。

テスト環境では、vine3.2で行い
[linux-users:107992] Re: [linux-users:107987] Re: ifconfigコマンドについて
で金子さんがいっている状態と同じでした。

長文になりましたが宜しくお願いします。

Hisashi Kaneko

unread,
Mar 30, 2008, 6:34:11 AM3/30/08
to
金子です。

おもしろいので実験してみました。

環境は、XenのDomain-Uで、OSはCentOS4.6です。

3つのサーバ(A,B,C)は、それぞれeth0にIPアドレスをもち
eth1に下記のIPアドレスを割り当てます。

A 192.168.1.10/24(eth1)
B 192.168.1.20/24(eth1)
C 192.168.1.30/24(eth1)

A で、ifdown eth1 down しても、たしかに、
Aからは 192.168.1.10 にPINGが通りました。
しかし、B,Cからは通らなくなりました。

さらに、その状態から、Bに仮想IPアドレスとして
192.168.1.10を付けてみました。

A 192.168.1.10/24(eth1)停止したつもり
B 192.168.1.20/24(eth1)
192.168.1.10/24(eth1:0)
C 192.168.1.30/24(eth1)

B,Cからは、Bに対してPINGが通るようになりましたが、
Aは192.168.1.10にPINGは通るものの、
BでtcpdumpしてもBにパケットが届いている形跡がありません。
Aはローカル内で自己完結しているみたいです。

さらにさらに、Bの192.168.1.10をAのeth0にDNATしてみます。

A 192.168.1.10/24(eth1)停止したつもり
B 192.168.1.20/24(eth1)
192.168.1.10/24(eth1:0) -> Aのeth0にDNAT
C 192.168.1.30/24(eth1)

すると、C から 192.168.1.10 のPINGは
Aまでちゃんと到達して通ります。
Aで動いているApacheなどのサービスにも
Cから192.168.1.10で利用可能です。
この段階でも、Aは相変わらず自己完結で192.168.1.10に
PINGが通ります。

Aで、ifdown eth1 すると、Aから192.168.1.10に
PINGは通らなくなりました。
B,CからはもちろんPINGが通ります。

以上のことから推測すると…、

> 原因がわからず困っていましたが、問題のサーバでLANケーブルを抜いて
> スタンドアローンの状態にした時に、pingを自分の停止しているはずの
> eth1(eth1 ***.***.***.10/24)に飛ばしてみたらpingが帰ってきました。

> ですのでifcofnig eth1 downのコマンドできちんと停止していなかったと
> 思ったしだいです。

たしかに、内部からはそんな感じでした。そういうもんでしょうか?
でも外部からは停止してるように見えるみたいです。
また、私のテストに当てはめると、「問題のサーバ」で
止めたはずのeth1のIPアドレスに対して「問題のサーバ」自身から
PINGが通ったとしても、router2経由で「問題のサーバ」に
接続することはできるような気もします。
「まったくの外部」からは接続できたんですものね。
なんで、Server1,Server2からは接続できなかったんだろう?
あ、私のテストでは、Windows Serverは試せませんでしたが。

以上、ご参考になれば。
(あー、おもしろかった)

ryuji sumoto

unread,
Mar 30, 2008, 11:14:36 PM3/30/08
to
須本です。

金子さん、検証ありがとうございました。
参考になりました。

[linux-users:107987] Re: ifconfigコマンドについて
で、さいとうさんが書かれているように、eth0とeth1が
同じブロードキャストドメインの場合はだめなので、違うネットワークで
設定し、もう一度検証しました。

ifconfig eth1 downとすると、外部からは接続できなくなります。問題なし。
でも内部からはpingが通ります。自己完結。

ifdown eth1 とすると、外部からは接続できなくなり、内部でもpingが
通りません。

気になるのは、ifconfig eth1 down でも、ifdown eth1でも
ifconfigの結果は、有効なeth0だけが表示されますが、
ifconfig -a(これは有効・無効にかかわらず表示される)をすると、
ifconfig eth1 downの場合は、eth1の表示にIPアドレス等が表示されます。
ifdown eth1の場合はeth1の表示はもちろんでてきますが、
IP等の記載がありません。


> 以上のことから推測すると…、
>
>> 原因がわからず困っていましたが、問題のサーバでLANケーブルを抜いて
>> スタンドアローンの状態にした時に、pingを自分の停止しているはずの
>> eth1(eth1 ***.***.***.10/24)に飛ばしてみたらpingが帰ってきました。
>
>> ですのでifcofnig eth1 downのコマンドできちんと停止していなかったと
>> 思ったしだいです。
>
> たしかに、内部からはそんな感じでした。そういうもんでしょうか?
> でも外部からは停止してるように見えるみたいです。

ifconfig eth1 downの場合は、外部ダメで内部はOKという仕様でしょうかね?


> また、私のテストに当てはめると、「問題のサーバ」で
> 止めたはずのeth1のIPアドレスに対して「問題のサーバ」自身から
> PINGが通ったとしても、router2経由で「問題のサーバ」に
> 接続することはできるような気もします。
> 「まったくの外部」からは接続できたんですものね。
> なんで、Server1,Server2からは接続できなかったんだろう?
> あ、私のテストでは、Windows Serverは試せませんでしたが。

Server1,Server2の環境と同じようにwindowsXPでクライアントとして
設置したマシンからも接続できなかったです。

問題のサーバのeth1設定が残ってた場合に、Server1,Server2と
同じネットワークなので、問題のサーバから出て行く場合に
roter2を通ることがなかったとかですかね?


基本的に使わなければ、設定しなければいいでしょうけども
問題解決までに、ifconfig eth1 downをしているので
自信満々で、「eth1は停止しているから問題ない」と言い張って
いましたので、ifconfig eth1 downの挙動が気になる次第です。

許可がでれば、もう一度問題のサーバで直接検証してみます。


0 new messages