ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ネットワーク&セキュリティコミュのYAMAHA RT57iのipマスカレードで質問させて下さい

  • mixiチェック
  • このエントリーをはてなブックマークに追加
現在RT57i [ Rev.8.00.83 Wed Jan 9 20:00:48 2008 ]を使っております。

configは要約すると次の様になっています。

#
# IP configuration
#

ip route default gateway pp 1 filter 500000 gateway pp 2 filter 500000 gateway pp 1
ip route 192.168.100.0/24 gateway 192.168.0.2

#
# LAN configuration
#

ip lan1 address 192.168.0.1/24
ip lan1 secure filter in 100000 100001 100002 100003 100004 100005 100006 100007 100099

#
# Provider Type configuration
#

provider type isdn-terminal
provider filter routing connection
provider lan1 name LAN:
provider lan2 name "PPPoE/0/1/6/0/0/0:YYYY"

#
# PP configuration
#

pp disable all

### PP 1 ###

pp select 1
pp name PRV/1/1/6/0/0/0:XXXX
pp always-on on
pppoe use lan2
pppoe auto connect on
pppoe auto disconnect off
pppoe call prohibit auth-error count off
pp auth accept pap chap
pp auth myname XXXX XXXX
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp secure filter in 200000 200001 200002 200003 200020 200021 200022 200023 200024 200025 200030 200032 200080 200081
ip pp secure filter out 200010 200011 200012 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ip pp nat descriptor 1000
pp enable 1

# Provider information

provider set 1 XXXX
provider dns server pp 1 1
provider select 1

### PP 2 ###

pp select 2
pp name "PRV/2/1/6/0/0/0:YYYY"
pp always-on on
pppoe use lan2
pppoe auto connect on
pppoe auto disconnect off
pppoe call prohibit auth-error count off
pp auth accept pap chap
pp auth myname YYYY YYYY
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp secure filter in 201000 201001 201002 201003 201020 201021 201022 201023 201024 201025 201030 201032 201080
ip pp secure filter out 201010 201011 201012 201013 201020 201021 201022 201023 201024 201025 201026 201027 201099 dynamic 201080 201081 201082 201083 201084 201098 201099
ip pp nat descriptor 1100
pp enable 2

# Provider information

provider set 2 YYYY
provider dns server pp 2 2

#
# TUNNEL configuration
#

tunnel disable all

#
# IP filter configuration
#

ip filter 100000 reject * * udp,tcp 135 *
 ;中略
ip filter 200080 pass * 192.168.0.32 tcp * www
ip filter 200081 pass * 192.168.0.32 tcp * smtp
ip filter 200099 pass * * * * *
ip filter 201000 reject 10.0.0.0/8 * * * *
 ;中略
ip filter 201080 pass * 192.168.0.32 tcp * www
ip filter 201099 pass * * * * *
ip filter 500000 restrict * * * * *

#
# IP dynamic filter configuration
#

ip filter dynamic 200080 * * ftp
ip filter dynamic 200081 * * domain
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
ip filter dynamic 201080 * * ftp
ip filter dynamic 201081 * * domain
ip filter dynamic 201082 * * www
ip filter dynamic 201083 * * smtp
ip filter dynamic 201084 * * pop3
ip filter dynamic 201098 * * tcp
ip filter dynamic 201099 * * udp

#
# NAT Descriptor configuration
#

nat descriptor type 1000 masquerade
nat descriptor masquerade static 1000 1 192.168.0.32 tcp www
nat descriptor masquerade static 1000 2 192.168.0.32 tcp smtp
nat descriptor type 1100 masquerade
nat descriptor masquerade static 1100 1 192.168.0.32 tcp www

#
# DNS configuration
#

dns server pp 1
dns server select 500001 pp 1 any . restrict pp 1
dns server select 500002 pp 2 any . restrict pp 2
dns private address spoof on
dns private name setup.netvolante.jp

この状態で、pp 2に割り当てられたIPアドレスに80番で接続すると、

# show nat descriptor address
参照NATディスクリプタ : 1000, 適用インタフェース : PP[01](1)
Masqueradeテーブル
外側アドレス: ipcp/XX.XX.XX.XX ポート範囲=60000-64095 11個使用中
プロトコル 内側アドレス 宛先 マスカレード TTL(秒)
TCP 192.168.0.32.80 XX.XX.XX.XX.60041 80 896
TCP 192.168.0.32.2726 YY.YY.YY.YY.80 60041 896
TCP 192.168.0.32.80 XX.XX.XX.XX.60031 80 878
TCP 192.168.0.32.2720 YY.YY.YY.YY.80 60031 878
TCP 192.168.0.32.80 XX.XX.XX.XX.60022 80 818
TCP 192.168.0.32.2719 YY.YY.YY.YY.80 60022 818
TCP 192.168.0.32.80 XX.XX.XX.XX.60018 80 771
TCP 192.168.0.32.25 *.*.*.*.* 25 static
TCP 192.168.0.32.80 *.*.*.*.* 80 static
--------------------- - ---
参照NATディスクリプタ : 1100, 適用インタフェース : PP[02](1)
Masqueradeテーブル
外側アドレス: ipcp/YY.YY.YY.YY ポート範囲=60000-64095 2個使用中
プロトコル 内側アドレス 宛先 マスカレード TTL(秒)
TCP 192.168.0.32.80 XX.XX.XX.XX.60041 80 896
TCP 192.168.0.32.80 XX.XX.XX.XX.60031 80 878
TCP 192.168.0.32.80 XX.XX.XX.XX.60022 80 818
TCP 192.168.0.32.80 *.*.*.*.* 80 static
--------------------- - ---
有効なNATディスクリプタテーブルが2個ありました

このようにNATディスクリプタテーブルで、本来pp 2に所属しなければならないエントリが、pp 1に割り当てられてしまい、YY.YY.YY.YY:80への接続に対して応答が返せない状態になってしまいます。さらにpp 2のMasqueradeテーブルにpp 1の内容が入っています。XX.XX.XX.XX:80に対しては応答はあります。

nat descriptor masquerade static 1100 1 192.168.0.32 tcp www=8080として、portを書き換えた場合でも同様に有効なNATディスクリプタテーブルが不正な内容となってしまい、pp 2側からのIPマスカレードが正常に機能しません。

これはどのように対処するとpp 2に追加したIPマスカレードを機能させる事ができるのでしょうか?

コメント(8)

IPマスカレード云々の話ではなく、ルーティングの問題だと思います。
今の設定のままだと、

ip route default gateway pp 1 filter 500000 gateway pp 2 filter 500000 gateway pp 1

となっているので、必ず中から外へパケットが出て行く時はpp1(pp1が何らかの理由で繋がらなかった時のみpp2)経由で出ていくと思うので、必ずパケットが出る方向と入る方向(のルーティングを)を考えて設定をしないと駄目だと思います。

http://www.rtpro.yamaha.co.jp/RT/docs/filter-routing/filter-routing.html

の「フィルタ型ルーティング」を使えば何とか実現可能かと思いますが。

nat descriptor masquerade static 1000 1 192.168.0.32 tcp www
nat descriptor masquerade static 1100 1 192.168.0.32 tcp www

と言う記述でやろうとして(NATディスクリプタ1000と1100で80番ポートの静的マスカレードに同じ192.168.0.32のIPアドレスを指定して)いるので、難易度はかなり高いと言わざるを得ないでしょう。
1台のホストにIPアドレスを2個振ったり出来ると、設定の考え方が多少は楽(とはいえ「フィルタ型ルーティング」は必須です)になると思うので、そう言う方法もあるかとは思いますが。
なるほど。ありがとうございます。filterでルーティングしてみます。
filterベースで設定してみました。

ip route default gateway pp 2 filter 100 gateway pp 2 filter 101 gateway pp 1 f
ilter 50000 gateway pp 2 filter 50000 gateway pp 1
ip filter 100 pass * * tcp * 6660,6661,6662,6663,6664,6665,6667,6668,6669
ip filter 101 pass 192.168.0.33 * tcp * www
ip filter 201080 pass * 192.168.0.33 tcp * www
nat descriptor masquerade static 1100 1 192.168.0.33 tcp www

この様に設定してみた所、

# show nat descriptor address
参照NATディスクリプタ : 1000, 適用インタフェース : PP[01](1)
Masqueradeテーブル
外側アドレス: ipcp/xx.xxx.xxx.xx ポート範囲=60000-64095 19個使用中
プロトコル 内側アドレス 宛先 マスカレード TTL(秒)
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60027 60001 897
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60026 60001 897
TCP 192.168.100.32.3032 yy.yy.y.yyy.80 60027 899
TCP 192.168.100.32.3031 yy.yy.y.yyy.80 60026 896
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60018 60001 892
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60008 60001 887
TCP 192.168.100.32.3030 yy.yy.y.yyy.80 60018 888
TCP 192.168.100.32.3029 yy.yy.y.yyy.80 60008 883
TCP 192.168.100.32.3028 yy.yy.y.yyy.80 60006 867
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60002 60001 811
TCP 192.168.100.32.3027 yy.yy.y.yyy.80 60003 853
TCP 192.168.100.32.3025 yy.yy.y.yyy.80 60002 807
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60000 60001 826
TCP 192.168.100.32.3026 yy.yy.y.yyy.80 60000 823
TCP 192.168.0.32.25 *.*.*.*.* 25 static
TCP 192.168.0.32.80 *.*.*.*.* 80 static
--------------------- - ---
参照NATディスクリプタ : 1100, 適用インタフェース : PP[02](1)
Masqueradeテーブル
外側アドレス: ipcp/yy.yy.y.yyy ポート範囲=60000-64095 2個使用中
プロトコル 内側アドレス 宛先 マスカレード TTL(秒)
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60027 80 899
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60026 80 896
TCP 192.168.100.32.4651 zzz.zzz.zz.zz.6667 60002 45
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60018 80 888
TCP 192.168.100.32.2468 zzz.zzz.zz.z.6664 60001 859
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60008 80 883
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60006 80 867
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60003 80 853
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60002 80 807
TCP 192.168.0.33.80 xx.xxx.xxx.xx.60000 80 823
TCP 192.168.0.33.80 *.*.*.*.* 80 static
--------------------- - ---

という結果になってしまいました。

ip filter 101 pass * * tcp * 8080
nat descriptor masquerade static 1100 1 192.168.0.32 tcp www=8080



ip filter 101 pass 192.168.0.33 * tcp * 8080
nat descriptor masquerade static 1100 1 192.168.0.33 tcp www=8080

のパターンも試してみましたが、ほぼ同様の結果になってしまいます。

二つのnat descriptorで同じportを指定する時点で問題がややこしくなるのでしょうか。portが違うip filter 100のルールは適切に処理されています。
ヤマハのサポセンに問い合わせてみて、ip filterの設定が間違っている事が判りました。

#
# IP configuration
#
ip route default gateway pp 2 filter 110 gateway pp 1 filter 50000 gateway pp 2 filter 50000 gateway pp 1

#
# IP filter configuration
#
ip filter 110 pass * * tcp 8080 *
ip filter 201080 pass * 192.168.0.32 tcp * 8080

#
# NAT Descriptor configuration
#
nat descriptor type 1000 masquerade
nat descriptor masquerade static 1000 1 192.168.0.32 tcp www
nat descriptor type 1100 masquerade
nat descriptor masquerade static 1100 1 192.168.0.32 tcp www=8080

この様に設定する事で、pp1->80 pp2->80=8080に振り分ける事が出来ました。
ip filter 110 pass * * tcp 8080 *でsrcアドレスが8080のパケットをpp2にふり
分けること(その前に試したのはdstだった)が肝心なのですね。

ありがとうございます。
別にそれほど熱くなる様子はないようです
YAMAHAのルータのコミュニティがあったんですね。

http://mixi.jp/view_community.pl?id=9086

こちらで質問した方が、良かったかも知れませんね。
おお。探していたんです>コミュニティ
ありがとうございます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

ネットワーク&セキュリティ 更新情報

ネットワーク&セキュリティのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング