お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2013-10-12 09:46:09

math_silver
新しいメンバ
登録日: 2013-10-12

Ubuntu 12.04で、特定ホスト向けのトラフィックがルートテーブルに従わなくなる

初めて投稿させていただきます。
不思議な状態でして、何を調べたらいいのか分からないです。

Ubuntuは、VMPlayer上の仮想マシンとして動いています。ホストはWindows7Pro 64ビットです。
VMPlayer上でのネットワーク設定は、ブリッジになっています。サーバとして使っていますが、公開はしていません。
Ubuntuは192.168.1.0/24のネットワークにあり、同じネットワーク上にPPTPサーバ(192.168.1.221)があり、
そのトンネルの先にあるネットワークが192.168.17.0/24です。以下の通り、スタティックルートを設定しています。

root@ubuntu:~# netstat -rn
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ   MSS Window  irtt インタフェース
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.17.0    192.168.1.221   255.255.255.0   UG        0 0          0 eth0
root@ubuntu:~#

で、おかしな状況は、PPTPの先にあるネットワーク向けで、192.168.17.51宛てだけで起こっています。
Ubuntuが起動した後、しばらくは正常なのですが、気付くとおかしくなっています。
数時間のこともあれば、数日正常なこともあります。
以下がおかしくなった状態でのTracerouteの結果です。本来は192.168.1.221が最初に来るはずなのに、
なぜかデフォルトゲートウェイに送られています。当然、ホストまでは届きません。
WANのIPアドレスは伏せてあります。

root@ubuntu:~# traceroute 192.168.17.51
traceroute to 192.168.17.51 (192.168.17.51), 30 hops max, 60 byte packets
1  192.168.1.1 (192.168.1.1)  2.918 ms  4.664 ms  5.175 ms
2  ***.***.***.2 (***.***.***.2)  20.311 ms  20.795 ms  21.720 ms
3  ***.***.***.30 (***.***.***.30)  22.420 ms^C
root@ubuntu:~#

PPTPトンネルの先にある、ほかのIPアドレス宛は、正常通り、192.168.1.221向けに送られています。
192.168.1.230が、インターネットの先にある、PPTPクライアントのIPアドレスです。
実際の宛先のホストは存在しないので、そこでCtrl-Cで止めています。
root@ubuntu:~# traceroute 192.168.17.100
traceroute to 192.168.17.100 (192.168.17.100), 30 hops max, 60 byte packets
1  192.168.1.221 (192.168.1.221)  1.724 ms  2.109 ms  2.489 ms
2  192.168.1.230 (192.168.1.230)  189.426 ms  191.151 ms  193.155 ms^C
root@ubuntu:~# traceroute 192.168.17.52
traceroute to 192.168.17.52 (192.168.17.52), 30 hops max, 60 byte packets
1  192.168.1.221 (192.168.1.221)  3.376 ms  3.344 ms  5.621 ms
2  192.168.1.230 (192.168.1.230)  193.496 ms  194.960 ms  196.571 ms^C
root@ubuntu:~#

以下は、Ubuntuのバージョンなどの情報です。
root@ubuntu:~# uname -a
Linux ubuntu 3.5.0-41-generic #64~precise1-Ubuntu SMP Thu Sep 12 16:50:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
root@ubuntu:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="12.04.3 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.3 LTS)"
VERSION_ID="12.04"
root@ubuntu:~#

一応、/etc/hostsファイルも見ましたが、デフォルトから何も変わっていません。

他に見るべき個所など、必要な情報があれば、お知らせください。
以上、よろしくお願いします。

オフライン

 

#2 2013-10-12 19:00:01

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu 12.04で、特定ホスト向けのトラフィックがルートテーブルに従わなくなる

PPTP サーバー (192.168.1.221) の経路情報はどうなっていますか?

PPTP サーバーで 192.168.17.0/24 宛の経路が定義されていないときの動作のように見えます。
pptp トンネルの先にあるはずの 192.168.17.0/24 のネットワークに含まれる 192.168.17.51 以外の IP アドレス宛の traceroute の結果も、デフォルト ゲートウェイ (192.168.1.1) に向いていそうです。

オフライン

 

#3 2013-10-12 20:35:59

math_silver
新しいメンバ
登録日: 2013-10-12

Re: Ubuntu 12.04で、特定ホスト向けのトラフィックがルートテーブルに従わなくなる

ryさん、
最初の投稿にも書いたのですが、192.168.17.0/24 のネットワークに含まれる 192.168.17.51 以外の IP アドレス宛の traceroute は、
正常に、PPTPサーバに送られているように見えます。PPTPサーバでもスタティックルートを設定してあります。
ですので、PPTPサーバよりも、ubuntuのマシン自身を疑っているのですが、何か見落としていますでしょうか。

PPTPトンネルの先のPPTPクライアントで、iptablesが動いているのですが、例えば、そこで192.168.17.51宛ての特定の通信が
ブロックされ続けることで、ubuntuが、自身のルートテーブルに従わずに、192.168.17.51宛てのトラフィックをデフォルトゲートウェイに
送るように変えるようなことはあるのでしょうか。

オフライン

 

#4 2013-10-13 08:07:47

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu 12.04で、特定ホスト向けのトラフィックがルートテーブルに従わなくなる

math_silver による投稿:

192.168.17.0/24 のネットワークに含まれる 192.168.17.51 以外の IP アドレス宛の traceroute は、
正常に、PPTPサーバに送られているように見えます。

math_silver による投稿:

root@ubuntu:~# traceroute 192.168.17.100
traceroute to 192.168.17.100 (192.168.17.100), 30 hops max, 60 byte packets
1  192.168.1.221 (192.168.1.221)  1.724 ms  2.109 ms  2.489 ms
2  192.168.1.230 (192.168.1.230)  189.426 ms  191.151 ms  193.155 ms^C
root@ubuntu:~# traceroute 192.168.17.52
traceroute to 192.168.17.52 (192.168.17.52), 30 hops max, 60 byte packets
1  192.168.1.221 (192.168.1.221)  3.376 ms  3.344 ms  5.621 ms
2  192.168.1.230 (192.168.1.230)  193.496 ms  194.960 ms  196.571 ms^C

PPTP サーバー (192.168.1.221) の次のホップが同じネットワーク アドレスに属するホストなので、PPTP サーバーでの経路情報が気になった次第です。
加えて言えば、その先の 192.168.1.230 の経路情報も気になります。

加えて、問題視している ubuntu 12.04 上での netstat -rnC (オプションの C は大文字で、キャッシュを出力させる指定) の結果を見て、192.168.168.17.* 宛の経路を確認してみてください。

オフライン

 

#5 2013-10-13 22:06:46

math_silver
新しいメンバ
登録日: 2013-10-12

Re: Ubuntu 12.04で、特定ホスト向けのトラフィックがルートテーブルに従わなくなる

ryさん、ありがとうございます。
netstat の -C オプションは知りませんでした。結果は以下の通りです。
root@ubuntu:~# netstat -rnC | grep 192.168.17
192.168.1.29    192.168.17.75   192.168.1.221          1500 0          0 eth0
192.168.17.51   192.168.1.29    192.168.1.29    l     16436 0          0 lo
192.168.1.29    192.168.17.51   192.168.1.1            1500 0        671 eth0
192.168.17.75   192.168.1.29    192.168.1.29    l     16436 0          0 lo
192.168.1.29    192.168.17.75   192.168.1.221          1500 0          0 eth0
root@ubuntu:~#
これを見ると、192.168.17.51宛ては、デフォルトゲートウェイに向いてしまっています。
試しに別のPCに割り当ててみた192.168.17.75は、このubuntuサーバにSSHでアクセスができて、
上記のキャッシュでも、正常にPPTPサーバに向いています。

問題が発生した後、VMPlayerにて、仮想マシンのネットワークI/Fを切断・再接続をしたり、
仮想マシンを再起動したりすると、問題の状態から復旧しますので、なにか時間の経過で
キャッシュがおかしくなってしまっているのでしょうか。ただ、復旧しても、また時間がたつと、
再発してしまいます。192.168.17.51のPCが、頻繁にこのサーバにアクセスするPCですので、
たまたまこのアドレスだけで問題が起こっているのかもしれません。

192.168.1.230は、PPTPクライアントのppp0インターフェースに割り当てられたIPアドレスで、
このクライアントがルータとして動いていて、eth0が192.168.17.0/24に接続しています。
そこでは、192.168.1.0/24宛てのスタティックルートをppp0インターフェース向けに設定しています。
root@pptpclient ~# netstat -rn | grep 192.168.1.0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 ppp0
root@pptpclient ~#

念のため、関連するIPアドレスをまとめておきます。
サイトA
Ubuntu(問題の仮想マシン) 192.168.1.29
ホスト:Windows7 192.168.1.28
PPTPサーバ: 192.168.1.221
デフォルトゲートウェイ: 192.168.1.1

サイトB
PPTPクライアントルータ: 192.168.1.230(ppp0), 192.168.17.13(eth0)
PC: Windows7 192.168.17.51

以上、よろしくお願いします。

オフライン

 

#6 2013-10-14 07:58:00

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu 12.04で、特定ホスト向けのトラフィックがルートテーブルに従わなくなる

うーん。
問題の ubuntu マシンが何をきっかけに誤った経路をキャッシュしているのかが分かるといいのですが、経路情報の入手元とかその時期とかを調べる確実な手段が思いつきません。

強いて上げるなら、netstat -rnCc | grep 192.168.17.51  (オプションの小文字の c は 1 秒ごとに繰り返し表示する指定) として、インターフェース再起動後からの経路キャッシュの変化を見続けるくらいでしょうか。

オフライン

 

Board footer

Powered by FluxBB