Google グループは Usenet の新規の投稿と購読のサポートを終了しました。過去のコンテンツは引き続き閲覧できます。
Dismiss

ping できるのに,telnet で きないのです

閲覧: 3,998 回
最初の未読メッセージにスキップ

Keisuke Takebe

未読、
2003/02/21 7:46:162003/02/21
To:
竹部@長岡工業高等専門学校と申します.

IP Masquerade の設定をしているところなのですが,
変な現象に遭遇して,先に進めないでいます.

どのような現象かといいますと,LAN側クライアントから,
外部のホストに対して,ping や traceroute は通るのに,
telnet ができないのです.

システムの構成ですが,
RedHat Linux 7J (kernel 2.2.22 にアップデート済み)
(kernel-smp-2.2.22-7.0.3-i686.rpm, ipchains-1.3.9-17.i386.rpm)
CPU は Pentium3 が 2つなので,smp カーネルを入れてい
ます.

WAN側 eth0 : 3COM 3C996B-T (1000BASE-T; bcm5700)
LAN側 eth1 : INTEL Ethernet Pro 100 (e100)

このマシンに対して,LAN側からも WAN側からも問題なく
アクセスできます.逆も問題ありません.

/etc/sysconfig/ipchains の内容は,
:input ACCEPT
:forward DENY
:output ACCEPT
-A forward -s 192.168.1.0/24 -j MASQ

といった感じです.

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_always_defrag

も行なってあります.

外部のホストに telnet した場合,相手のホストに telnet
のパケットが飛んでいるのは tcpdump で確認したので,
forward はされているようなのですが…

気になることとしては,
cat /proc/sys/net/ipv4/ip_always_defrag
を実行すると,1 になっていないで,いろいろな値に変化
してしまうのですが,これが関係しているのでしょうか.

今月でErrataの提供も終わってしまうということなので
RHL7J を捨てるという選択肢もあるとは思いますが,シス
テムのアップデートのために長時間止めるわけにもいかず,
できれば現状のシステムで解決策はないものかと思ってい
ます.

原因として考えられることは何かありますでしょうか.
--
竹部 啓輔 (tak...@nagaoka-ct.ac.jp)
長岡工業高等専門学校・総合情報処理センター

Shinji KONO

未読、
2003/02/21 8:58:422003/02/21
To:
河野 真治@琉球大情報工学です。

In article <m3isvdp...@take.st.nagaoka-ct.ac.jp>, Keisuke Takebe <tak...@take.st.nagaoka-ct.ac.jp> writes


> どのような現象かといいますと,LAN側クライアントから,
> 外部のホストに対して,ping や traceroute は通るのに,
> telnet ができないのです.

router のfirewallの設定がそうなっているに一票!

ssh は通るとか...

---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科,
科学技術振興事業団さきがけ研究21(機能と構成)

Norimasa Nabeta

未読、
2003/02/21 9:30:062003/02/21
To:
>> (ko...@ie.u-ryukyu.ac.jp (Shinji KONO)) さんは
>> 『ping できるのに,telnet で きないのです』の中で書きました。

> 河野 真治@琉球大情報工学です。

> In article <m3isvdp...@take.st.nagaoka-ct.ac.jp>, Keisuke Takebe <tak...@take.st.nagaoka-ct.ac.jp> writes
>> どのような現象かといいますと,LAN側クライアントから,
>> 外部のホストに対して,ping や traceroute は通るのに,
>> telnet ができないのです.

> router のfirewallの設定がそうなっているに一票!
>
> ssh は通るとか...

河野さんに500点


--
のりたま@たった500点かよ(三村風)


Keisuke Takebe

未読、
2003/02/21 9:41:572003/02/21
To:
竹部@長岡工業高等専門学校です.

ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> In article <m3isvdp...@take.st.nagaoka-ct.ac.jp>, Keisuke Takebe <tak...@take.st.nagaoka-ct.ac.jp> writes
> > どのような現象かといいますと,LAN側クライアントから,
> > 外部のホストに対して,ping や traceroute は通るのに,
> > telnet ができないのです.
>
> router のfirewallの設定がそうなっているに一票!

じつは,問題のサーバと同じセグメントにあるホストに対して,
telnet が通らないのです.

host1 --- LinuxBox --- host2
eth1 eth0
プライベート ← → グローバルアドレス

LinuxBox と host2 は同じセグメントにあります.
host2 では,同じセグメントに対して telnet, ssh などを通す
設定になっております.

host1 ←→ LinuxBox, host2 ←→ LinuxBox の通信は,
ping, telnet, ssh とも問題ありません.

host1 → host2 の通信で,ping は通ります.

host1 からのping について,パケットサイズをデフォルト
よりも大きなものに変えてみても問題なく通ります.

ところが,telnet host2 を実行すると,しばらくだんまりの後,
接続できないということでエラーになってしまいます.

LinuxBoxの NICに,1000BASE-T,100BASE-TX と速度が違うも
のを使っているのがまずいのかと思ってみたりもしたのですが…

# IP Masq は何度か設定したことがあり,それらは何の問題も
# なかったのですが,今回の問題はわけがわかりません.(T_T)

Norimasa Nabeta

未読、
2003/02/21 19:19:032003/02/21
To:
>> (Keisuke Takebe <tak...@take.st.nagaoka-ct.ac.jp>) さんは
>> 『Re: ping できるのに,telnet で きないのです』の中で書きました。

> 竹部@長岡工業高等専門学校です.

> ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
>> In article <m3isvdp...@take.st.nagaoka-ct.ac.jp>, Keisuke Takebe <tak...@take.st.nagaoka-ct.ac.jp> writes
>> > どのような現象かといいますと,LAN側クライアントから,
>> > 外部のホストに対して,ping や traceroute は通るのに,
>> > telnet ができないのです.
>>
>> router のfirewallの設定がそうなっているに一票!

> じつは,問題のサーバと同じセグメントにあるホストに対して,
> telnet が通らないのです.

> host1 --- LinuxBox --- host2
> eth1 eth0
> プライベート ← → グローバルアドレス

> LinuxBox と host2 は同じセグメントにあります.
> host2 では,同じセグメントに対して telnet, ssh などを通す
> 設定になっております.

> host1 ←→ LinuxBox, host2 ←→ LinuxBox の通信は,
> ping, telnet, ssh とも問題ありません.

> host1 → host2 の通信で,ping は通ります.

> host1 からのping について,パケットサイズをデフォルト
> よりも大きなものに変えてみても問題なく通ります.

> ところが,telnet host2 を実行すると,しばらくだんまりの後,
> 接続できないということでエラーになってしまいます.

host2 のOSの正体はわかりませんが、

> host2 では,同じセグメントに対して telnet, ssh などを通す
> 設定になっております.

のような設定がしてあるとしたら、host2 の設定を疑うほうがよ
いと思います。
host1 から host2 に対して telnet した際に、host2 側のログに
なにか記録されていませんか。

YOKOTA Yoshinori

未読、
2003/02/22 6:03:482003/02/22
To:
<m3vfzd8...@take.st.nagaoka-ct.ac.jp>の記事において
tak...@take.st.nagaoka-ct.ac.jpさんは書きました。

>> host1 --- LinuxBox --- host2
>> eth1 eth0
>> プライベート ← → グローバルアドレス
>>
>> LinuxBox と host2 は同じセグメントにあります.
>> host2 では,同じセグメントに対して telnet, ssh などを通す
>> 設定になっております.
>>
>> host1 ←→ LinuxBox, host2 ←→ LinuxBox の通信は,
>> ping, telnet, ssh とも問題ありません.

もし私なら、LinuxBox で、eth0 見るやつと eth1 を見るやつの二つ tcpdump
を起動しておいて、それから host1 -> host2 に telnet してみて、どういう
パケットが飛んでいるか、どいつがパケット飛ばさずにだんまりを決めこんで
いるのか確認してみる、かな。
## ついでに host1 と host2 でも tcpdump を動かしてみるかも。
---
By よこた

Keisuke Takebe

未読、
2003/02/24 3:18:232003/02/24
To:
竹部@長岡工業高等専門学校です.

YOKOTA Yoshinori <yok...@yynet.tama.tokyo.jp> writes:
> <m3vfzd8...@take.st.nagaoka-ct.ac.jp>の記事において
> tak...@take.st.nagaoka-ct.ac.jpさんは書きました。
>
> >> host1 --- LinuxBox --- host2
> >> eth1 eth0
> >> プライベート ← → グローバルアドレス
> >>
> >> LinuxBox と host2 は同じセグメントにあります.
> >> host2 では,同じセグメントに対して telnet, ssh などを通す
> >> 設定になっております.

書き忘れていましたが(すみません)
host1 は Windows 2000 で,host2 は RHL7J の別のサーバです.
host2 がフィルタリングを何もしていない場合でも,telnet や ssh が通りま
せんでした..


> もし私なら、LinuxBox で、eth0 見るやつと eth1 を見るやつの二つ tcpdump
> を起動しておいて、それから host1 -> host2 に telnet してみて、どういう
> パケットが飛んでいるか、どいつがパケット飛ばさずにだんまりを決めこんで
> いるのか確認してみる、かな。
> ## ついでに host1 と host2 でも tcpdump を動かしてみるかも。

とりあえず,LinuxBox で eth1, eth0 に対してそれぞれ tcpdump を仕掛けて
みました.

そうすると,不思議なことに,eth1 に対して tcpdump をかけている間は,
host1 → host2 の telnet が通りました.

接続が確立したあとは tcpdump を止めても問題ありませんが,eth1 で
tcpdump をかけないと,host1 → host2 の接続が確立しませんでした.

eth0 にだけ tcpdump を仕掛けた場合,host2 への telnet のパケットが飛ぶ
のですが,帰ってこないようなのです.

----- LinuxBox: tcpdump -i eth0 ----
tcpdump: listening on eth0
16:58:52.987997 linuxbox.61673 > host2.telnet:
S 1555595805:1555595805(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
16:58:55.919117 linuxbox.61673 > host2.telnet:
S 1555595805:1555595805(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
16:59:01.928216 linuxbox.61673 > host2.telnet:
S 1555595805:1555595805(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)

ここで,LinuxBox の eth1 の監視をすると,

----- LinuxBox: tcpdump -i eth0 ----
tcpdump: listening on eth0
17:09:29.468542 linuxbox.61679 > host2.telnet:
S 1714707245:1714707245(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
17:09:32.385483 linuxbox.61679 > host2.telnet:
S 1714707245:1714707245(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
17:09:38.394591 linuxbox.61679 > host2.telnet:
S 1714707245:1714707245(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
17:09:38.394750 host2.telnet > linuxbox.61679:
S 3769488261:3769488261(0) ack 1714707246 win 30660 <mss 1460,nop,nop,sackOK> (DF)
17:09:38.395071 linuxbox.61679 > host2.telnet: . ack 1 win 64240 (DF)
......

----- LinuxBox: tcpdump -i eth1 ----
tcpdump: listening on eth1
17:09:29.468480 host1.1467 > host2.telnet:
S 1714707245:1714707245(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
17:09:32.385437 host1.1467 > host2.telnet:
S 1714707245:1714707245(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
17:09:38.394552 host1.1467 > host2.telnet:
S 1714707245:1714707245(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
17:09:38.394830 host2.telnet > host1.1467:
S 3769488261:3769488261(0) ack 1714707246 win 30660 <mss 1460,nop,nop,sackOK> (DF)
17:09:38.395039 host1.1467 > host2.telnet: . ack 1 win 64240 (DF)
......

となって,telnet が通ります.

だんまりを決め込んでいるのは,host2 のようではありますが,
LinuxBox のプライベート側(eth1)にtcpdumpを仕掛けると,
host2 が返事を返してくれる…一体どういうことなのでしょう.


--
竹部 啓輔 (tak...@nagaoka-ct.ac.jp)
長岡工業高等専門学校・総合情報処理センター

〒940-8532 新潟県長岡市西片貝町888
TEL: 0258-34-9442 FAX: 0258-34-9700

YOKOTA Yoshinori

未読、
2003/02/24 19:28:182003/02/24
To:
<m3znomqe...@take.st.nagaoka-ct.ac.jp>の記事において
tak...@take.st.nagaoka-ct.ac.jpさんは書きました。

>> > >> host1 --- LinuxBox --- host2
>> > >> eth1 eth0
>> > >> プライベート ← → グローバルアドレス
>> > >>
>> > >> LinuxBox と host2 は同じセグメントにあります.
>> > >> host2 では,同じセグメントに対して telnet, ssh などを通す
>> > >> 設定になっております.

<snip>


>> とりあえず,LinuxBox で eth1, eth0 に対してそれぞれ tcpdump を仕掛けて
>> みました.
>>
>> そうすると,不思議なことに,eth1 に対して tcpdump をかけている間は,
>> host1 → host2 の telnet が通りました.

なんでだろ。eth1 の promiscuous mode を有効にしたらできるということかな。


>> 接続が確立したあとは tcpdump を止めても問題ありませんが,eth1 で
>> tcpdump をかけないと,host1 → host2 の接続が確立しませんでした.
>>
>> eth0 にだけ tcpdump を仕掛けた場合,host2 への telnet のパケットが飛ぶ
>> のですが,帰ってこないようなのです.
>>
>> ----- LinuxBox: tcpdump -i eth0 ----
>> tcpdump: listening on eth0
>> 16:58:52.987997 linuxbox.61673 > host2.telnet:
>> S 1555595805:1555595805(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
>> 16:58:55.919117 linuxbox.61673 > host2.telnet:
>> S 1555595805:1555595805(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
>> 16:59:01.928216 linuxbox.61673 > host2.telnet:
>> S 1555595805:1555595805(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)

inuxbox の eth1 で tcpdump をかけない状態で、このパケットは host2 に届
いてます? つまり linuxbox の eth0 と host2 で tcpdump をかけるとどう
なります?

---
By よこた

Keisuke Takebe

未読、
2003/02/24 21:43:212003/02/24
To:
竹部@長岡工業高等専門学校です.

YOKOTA Yoshinori <yok...@yynet.tama.tokyo.jp> writes:
> <m3znomqe...@take.st.nagaoka-ct.ac.jp>の記事において
> tak...@take.st.nagaoka-ct.ac.jpさんは書きました。
> >> > >> host1 --- LinuxBox --- host2
> >> > >> eth1 eth0
> >> > >> プライベート ← → グローバルアドレス

<snip>


> >> 接続が確立したあとは tcpdump を止めても問題ありませんが,eth1 で
> >> tcpdump をかけないと,host1 → host2 の接続が確立しませんでした.
> >>
> >> eth0 にだけ tcpdump を仕掛けた場合,host2 への telnet のパケットが飛ぶ
> >> のですが,帰ってこないようなのです.

> inuxbox の eth1 で tcpdump をかけない状態で、このパケットは host2 に届


> いてます? つまり linuxbox の eth0 と host2 で tcpdump をかけるとどう
> なります?

host2 でも tcpdump をかけてみましたが,linuxbox の eth0 で観測したもの
と同様の結果となりました.
----- host2: tcpdump -i eth0 ----
tcpdump: listening on eth0
11:34:40.310795 linuxbox.61784 > host2.telnet:
S 3200637469:3200637469(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
11:34:43.309524 linuxbox.61784 > host2.telnet:
S 3200637469:3200637469(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)
11:34:49.310114 linuxbox.61784 > host2.telnet:
S 3200637469:3200637469(0) win 64240 <mss 1460,nop,nop,sackOK> (DF)

host2ではフィルタリングはしていなくて,xinetdのログにも telnet はでて
きません.なぜか,linuxbox の eth1 で tcpdump をかけると host2 は返事
を返してくれるようです.

Keisuke Takebe

未読、
2003/03/04 8:04:512003/03/04
To:
竹部@長岡工業高等専門学校です.

以下のIP Masquerade がうまく動かないという件ですが,
件のLinuxBoxには,ネットワークの口が3つあるので,
eth2 をさらに別のセグメントにつないで試してみました.

eth0: 1000Base-T xxx.xxx.2.0/24 (bcm5700 (3c996B-T))
eth1: 100Base-TX 192.168.1.0/24 (e100)
eth2: 100Base-TX xxx.xxx.3.0/24 (e100)

となっていて,以下のようにつないでみました.

eth2 --- host3
LinuxBox
host1 --- eth1 eth0 --- host2
プライベート ← → グローバルアドレス

host1 から host3 への telnet が通りました.
host1 から host2 への telnet はあいかわらず通りません.

100Base-TX どうしの場合はうまくいって,
1000Base-Tと100Base-TX の組合せでうまくいかないという
感じです.

速度が違う組合せの場合には何か設定が必要なのでしょうか…


Keisuke Takebe <tak...@take.st.nagaoka-ct.ac.jp> writes:
> YOKOTA Yoshinori <yok...@yynet.tama.tokyo.jp> writes:
> > <m3znomqe...@take.st.nagaoka-ct.ac.jp>の記事において
> > tak...@take.st.nagaoka-ct.ac.jpさんは書きました。
> > >> > >> host1 --- LinuxBox --- host2
> > >> > >> eth1 eth0
> > >> > >> プライベート ← → グローバルアドレス
> <snip>
> > >> 接続が確立したあとは tcpdump を止めても問題ありませんが,eth1 で
> > >> tcpdump をかけないと,host1 → host2 の接続が確立しませんでした.
> > >>
> > >> eth0 にだけ tcpdump を仕掛けた場合,host2 への telnet のパケットが飛ぶ
> > >> のですが,帰ってこないようなのです.
>

--

新着メール 0 件