ダイナミックNAT+RIP
ダイナミックNATのプールアドレスをRIPにのせたい
プールアドレスに関する経路情報をISP(RouterX, Y)にどのようにして伝えれば良いか。

制約:X、YにはRIPを流す以外に経路情報を伝える方法はなく、X、Yにstaticルートを書く方法は不可
RIPの設定
RouterX
router rip
version 2
network 10.0.0.0
network 172.16.0.0
network 172.16.1.0
no auto-summary
RouterY
router rip
version 2
network 10.0.0.0
network 172.16.2.0
network 201.1.1.0
no auto-summary
RouterZ
router rip
version 2
network 201.1.1.0
結果


RouterXのshow ip route

200.2.2.0/24がない!
なぜ経路情報が広告されないか
RIPは直接接続しているネットワークが広告対象なため
解決策
その1:プールアドレスのループバックインターフェースを作成(非推奨)

なぜ非推奨なのか
Loopbackを無駄に作成するのは良くない
→OSPFなどではLoopbackが特別な意味を持つため
その2:RouterZにstaticルートを書いて、RIPにredistribute(再配布)する(推奨)
Null0インターフェースへ向けたスタティックルート
Router(config)# ip route 200.2.2.0 255.255.255.0 Null0
ripに再配布
Router(config)# router rip
Router(config-router)# redistribute static
結果
webサーバーのアクセスログ

どちらもダイナミックNATで変換された
おまけ
なぜパケットが捨てられない?
webからNAT内にレスポンスを返す時、その1ならLoopbackに、その2ならNull0に捨てられるので、PCに届かないのでは?
insideのインタフェースからoutsideのインタフェースの処理のときには、ルーティングしてからNATの処理を行います。
outsideのインタフェースからinsideのインタフェースの処理のときには、NATの処理をしてからルーティングします。
つまり、NAT動作の優先度が高いため
参考:https://www.cisco.com/c/ja_jp/support/docs/ip/network-address-translation-nat/6209-5.html
まとめ
- ip route 200.2.2.0 255.255.255.0 Null0
- RIPプロセスで redistribute static を実施
ISP側にはプールアドレスの存在がRIPで広告され、なおかつ実際のNAT処理には影響を及ぼさない形で実現できる。
← Go home