[linux-users: 108471] Re: 2セッション接続について教えてください。

dezawa @ aliadne.net dezawa @ aliadne.net
2010年 6月 24日 (木) 18:28:33 JST


出沢です

早川さんとのやりとりを横から見てますが、状況が理解できないので質問です
# 編集してます

> 現状としてはサーバー上からpingをインターフェイス指定で送ると、
> デフォルトgwに設定してあるpppインターフェイスからは
  ppp-IF がdefault-gwというのはなんかおかしいのですが、
  「ppp1が対向しているプロバイダのルータ」のアドレスをdefault-gwに
   してあるのですよね?

> 応答がありコンソールでも確認できます。
  「pppインターフェイスからは応答があり」とは具体的には何でしょうか
    「コンソールでも確認できます」の内容とは違うのですよね?

> iptabeleでも該当のPPPを指定してあげればNATでローカルから外部にでれます。
> 
> デフォルトgwではないインターフェイス側だと、パケットをキャプチャすれば
> きちんとicmpは飛んで返事も帰ってきてるのですが、
  icmp echo-request の src-IP と 
  icmp echo-reply   の dst IP は一致してましたか?

    IF 指定で traceroute しても、default-gw 経由になっていたりしませんか?
 
> コンソール上ではなぜか認識してくれません。 
    ping に応答がない、という意味でしょうか。
  421 packets transmitted, 0 received, 100% packet loss, time 420002ms
  こんな具合?
     
> そんな状態なので、iptabeleで該当のPPPを指定してもNATでローカルから外部に
> でれません。


> こんな症状なので、ルーティングの問題ではないかと疑っております。


ルーティングで解決は厄介かな、と感じます。
サーバがどのgwにパケットを転送するか、はサーバ発のパケットなのか
ローカルネットのhost発のパケットなのかに関わらず、宛先のIPアドレスに
対応したgwに送られます。
gwの設定が default-gw だけしかないなら、すべてそちらに飛びます。
default-gwでないgwに飛ばすには、宛先のhost、もしくはnetworkを指定して
/sbin/route で設定する必要があります。
ただしこれを行うと、サーバ発でもローカルネットワーク発でもその
host/network宛はこのgw経由となってしまいます。

気になるのは、
iptables などでIFを指定しても、
そのIFからdefault-gwに向いているIFに転送されて
default-gw経由になってしまうのではないか、ということです。
そういう意味で上記の traceroute の結果を知りたいです。

懸念がビンゴだったら、、、、
早川さんご提案の   iptables -p tcp --source-port 80 -o ppp0 しても
ppp1経由となってしまう。。。。

# /sbin/route ってIF毎に設定できなかったですよね > 識者

/sbin/route で metric を明示的に同じ値を設定するのかな。
たしか、同一マシン上でのIF間の転送でもメトリック消費したと、、、
。。。。。遠い記憶。。
ただ
default-gwの設定を二つできたかな。ダメだったら工夫が必要かも。
 -net 0.0.0.0 -netmask 0.0.0.0 でいける??




linux-users メーリングリストの案内