ARPシスコ機噚のニュアンスず興味深い事䟋。 パヌト2





こんにちはHabr この蚘事の前の郚分では、 NATルヌルずプロキシARP機胜に関連するCiscoルヌタヌのARPの機胜を調べたした。 この投皿では、CiscoルヌタヌずCisco ASAファむアりォヌルのARPの違いを明らかにしようずしたす。 蚘事の最埌で、ARPの䜜業に関連する実践の興味深い事䟋をいく぀か玹介したす。



Cisco ASAファむアりォヌルのNATおよびプロキシARP



NATルヌルのARPおよびプロキシARP蚭定に察するCisco ASAファむアりォヌルの動䜜は、Ciscoルヌタヌずは異なりたす。 デフォルトでは、Cisco ASAでNATルヌルを蚭定するず、デバむスはNATルヌルの内郚グロヌバルアドレスに䞀臎するARP芁求に応答したす。 ただし、この動䜜はASAむンタヌフェむスIPサブネットの内郚グロヌバルIPアドレスの所有暩に䟝存したせん。 この動䜜により、 sysopt noproxyarp <interface name>オプションが構成されたす。



次の単玔なトポロゞに基づいた䟋を怜蚎しおください。







Cisco ASAむンタヌフェむス蚭定

interface Vlan1 nameif inside security-level 100 ip address 192.168.20.1 255.255.255.0 ! interface Vlan2 nameif outside security-level 0 ip address 198.18.0.1 255.255.255.0
      
      





倖郚むンタヌフェむスのNATルヌルずアクセスリストの蚭定

 object network TEST-PC-tcp3389 host 192.168.20.5 nat (inside,outside) static 198.18.99.2 service tcp 3389 3389 access-list acl-outside-in extended permit tcp any object TEST-PC-tcp3389 eq 3389 access-group acl-outside-in in interface outside
      
      





提瀺された蚭定からわかるように、Cisco ASAむンタヌフェむスのIPサブネットに属さないアドレス198.18.99.2の䞋でtcp 3389RDPポヌトを公開したす。



sysopt noproxyarpオプションを確認したす。

 asa# sh run all sysopt . . . no sysopt noproxyarp inside no sysopt noproxyarp outside
      
      





オプションが蚭定されおいないnoproxyarpが有効になっおいないこずがわかりたす。 アドレス198.18.99.2のtcpポヌト3389を開いお、同時にスニファヌを芋おみたしょう。







成功Cisco ASAはARP芁求に応答し、ポヌトが開きたす。



sysopt noproxyarp outsideオプションを蚭定しおみたしょう。 倖郚むンタヌフェむスに接続されおいるコンピュヌタヌのアヌクキャッシュをクリアし、ポヌトを再床開こうずしたす。











ASAは、宛先IPアドレスぞのARP芁求に応答しなくなりたした。 ただし、宛先IPアドレスがASAむンタヌフェむスのIPサブネットにあるかどうかは関係ありたせん。 sysoptオプションを蚭定するず、noproxyarp ASAはむンタヌフェむスIPアドレスのみにアドレス指定されたARP芁求に応答したす。



ルヌタのip proxy-arpむンタヌフェむスの蚭定ずsysopt noproxyarp Cisco ASAオプションの蚭定を比范しないでください。 Cisco ASAオプションには、ファむアりォヌルを介したARP芁求のプロキシは含たれたせん。 このオプションは、NATルヌルの内郚グロヌバルIPアドレスず、 aliasキヌワヌドを䜿甚しお蚭定されたASA ARPテヌブルの静的゚ントリの提䟛のみを担圓したす。



ASAのセカンダリIPアドレス
aliasキヌワヌドを䜿甚しおASA ARPテヌブルにスタティック゚ントリを蚭定するず、ASAにアナログセカンダリIPアドレスを実装できたす。 ここでセットアップの䟋を説明したす 。



堎合によっおは、特定のNATルヌルに察しおARP応答機胜を無効にする必芁がありたす。 これを行うには、NAT蚭定でno-proxy-arpキヌワヌドを䜿甚したす。 最も䞀般的な䟋は、Cisco ASAでVPNを䜿甚するずきにNAT䟋倖を蚭定するこずです。 Cisco ASAの背埌のロヌカル゚リアネットワヌクが192.168.20.0/24であり、サむト間VPNのリモヌト偎のロヌカル゚リアネットワヌクが192.168.30.0/24であるずしたす。 このVPNのNAT䟋倖は、次のように構成できたす。

 object network local-LAN subnet 192.168.20.0 255.255.255.0 object network remote-LAN subnet 192.168.30.0 255.255.255.0 nat (any,any) source static local-LAN local-LAN destination static remote-LAN remote-LAN
      
      





ここに瀺されおいる蚭定は、ロヌカルLAN 192.168.20.0/24 IPサブネットが、同じロヌカルLAN IPサブネットの内郚グロヌバルアドレスの䞋で、各Cisco ASANATルヌルの任意、任意で完党に公開されおいるこずをCisco ASAに瀺したす。 したがっお、この蚭定では、Cisco ASAは、内郚むンタヌフェむスを含む任意のむンタヌフェむスで受信したIPサブネット192.168.20.0/24からのタヌゲットIPアドレスぞのARP芁求に応答したす。



アドレス192.168.20.5のホストが、アドレス192.168.20.6の同じIPサブネットからホストにアクセスしたい状況を想像しおください。 タヌゲットアドレス192.168.20.6に察しおARP芁求が生成されたす。 ARP芁求はブロヌドキャストされ、タヌゲットホストずCisco ASAむンタヌフェむスの内郚の䞡方に到達したす。 蚭定されたNATルヌルにより、Cisco ASAはMACアドレスでARP芁求に応答したす。 Cisco ASAからのARP応答がタヌゲットホストからの応答の前に到着するず、タヌゲットホストに向けられたすべおのトラフィックはCisco ASAに送られ、そこで安党にドロップされたす。



提瀺された䟋では、Cisco ASAはロヌカルIPサブネットの「ブラックホヌル」ずしお機胜し、すべおのトラフィックを自身に「吞い蟌み」たす。 同時に、ポリシヌNAT芁玠 destinations静的キヌワヌドの埌に​​NATを蚭定するは状況を保存したせん。 ルヌタず比范しお、Cisco ASAでのこの蚭定は、ルヌタむンタヌフェむスでのip proxy-arpずip local-proxy-arpの共同蚭定ず事実䞊䌌おいたす。 この圱響を回避するには、Cisco ASAのNATルヌルにno-proxy-arpキヌワヌドを远加したす。

 nat (any,any) source static local-LAN local-LAN destination static remote-LAN remote-LAN no-proxy-arp
      
      





泚 説明されおいる効果は、キヌワヌドではなく、NATルヌル蚭定で正確なむンタヌフェむスを指定するこずで回避できたす。 たずえば、natinside、outside...



たずめ



実践から事䟋の説明に進む前に、蚘事の第2郚の䞻芁なポむントを匷調したす。

  1. デフォルトでは、Cisco ASAは、むンタヌフェむスIPサブネットが属しおいるかどうかに関係なく、NATルヌルの内郚グロヌバルIPアドレスぞのARP芁求に応答したす。 この動䜜は、 sysopt noproxyarp <interface name>オプションを蚭定するこずにより制埡されたす。
  2. Cisco ASAでは、 no-proxy-arpキヌワヌドを䜿甚しお、特定のNATルヌルのARP応答を無効にできたす。 特に、NAT䟋倖ルヌルの堎合、ロヌカルネットワヌクでの通信の問題を回避するために、ARP応答を無効にする必芁がありたす。
  3. プロキシARP機胜はCisco ASAで明瀺的に蚭定されおいたせんが、NATルヌルを䜿甚しお必芁な効果を達成できたす。


だから、緎習からのケヌス。 説明した問題はすべお、私たたは同僚が新しいシスコのネットワヌク機噚をむンタヌネットプロバむダヌに接続したずきに発生したこずをすぐに蚀わなければなりたせん。 私たちの経隓では、ARPの問題を䌎うこずが最も倚いのはこのシナリオです。



ケヌス番号1。 セカンダリプロバむダヌのIPアドレス



Cisco ASAファむアりォヌルをプロバむダヌに接続したした。 接続が成功し、すべおのサヌビスが正垞に機胜したした。 ただし、しばらくするず、接続が倱われたした。 詳现な分析によるず、発信接続を開始するず、安定しお動䜜したすトラフィックは䞡方向に行きたす。 この問題は、むンタヌネットからの着信接続ルヌタヌぞのリモヌト接続などでのみ発生したす。 この堎合、着信接続の発信ぞの盎接の䟝存関係が远跡されたす。発信接続がある堎合、着信接続は正しく機胜し始めたす。 ただし、しばらくするず、リモヌトから接続したり、むンタヌネットからデバむスを「ping」するこずはできなくなりたす。



物理局ずリンク局はおそらく倧䞈倫なので、ARPの動䜜を確認し始めたした。 ASAでdebug arpを起動し、arp-cacheをクリアしようずしたした。 デバッグメッセヌゞから、ASAは問題なくARP芁求を正しく送信し、プロバむダヌからARP応答を受信するこずがわかりたした。 この䟋では、ASAのIPは80.XX4、MACアドレスはa0ec。****。****、プロバむダヌ80.XX1のIPアドレス、プロバむダヌaa43のMACゲヌトりェむです。****。****

 arp-send: arp request built from 80.XX4 a0ec.****.**** for 80.XX1 at 978772020 arp-refresh: Trying to refresh ARP for outside 80.XX1 arp-in: response at outside from 80.XX1 aa43.****.**** for 80.XX4 a0ec.****.**** having smac aa43.****.**** dmac a0ec.****.****\narp-set: added arp outside 80.XX1 aa43.****.**** and updating NPs at 978772020 arp-in: resp from 80.XX1 for 80.XX4 on outside at 978772020
      
      





ただし、しばらくしお、ASAのdebug arpにメッセヌゞが衚瀺されたした。

 arp-in: request at outside from 195.YY1 aa43.****.**** for 80.XX4 0000.0000.0000 having smac aa43.****.**** dmac ffff.ffff.ffff\narp-in: Arp packet received from 195.YY1 which is in different subnet than the connected interface 80.XX4/255.255.255.0
      
      





このメッセヌゞから刀断するず、ASAは有効な送信者MACアドレスaa43を持぀ARP芁求を受信したす****。****が無効な送信者IPアドレス-195.YY1。 この無効なASP ARP芁求は砎棄され、ARP応答は送信されたせん。



したがっお、発信トラフィックが存圚する堎合、ASAはプロバむダヌにARP芁求を送信し必芁に応じお、ASA ARPテヌブルの適切な゚ントリの曎新が必芁な堎合、ARP応答を受信したす。 ASAからのARP芁求のおかげで、プロバむダヌの機噚もARPテヌブルでASAレコヌドを受信したす。 ただし、ASAからの発信トラフィックが長時間なく、ASAがARP芁求を送信しない堎合、ASAに関するレコヌドは、ARPテヌブルのプロバむダヌの機噚で期限切れになりたす。 プロバむダヌ機噚は、ARP芁求を送信しおレコヌドを曎新しようずしたすが、応答を受信したせん。 ここから、コミュニケヌションに関する「浮遊」問題が珟れたす。



プロバむダヌの機噚が間違った送信者IPアドレスでARP芁求を送信する理由を理解するこずは残っおいたす。 埌で、プロバむダヌはこの状況を確認し、ARPトラフィックのダンプを衚瀺し、ASAデバッグメッセヌゞを確認したした。

 324: 22:03:41.056546 802.1Q vlan#2 P0 arp who-has 80.XX4 tell 195.YY1 325: 22:03:41.937329 802.1Q vlan#2 P0 arp who-has 80.XX4 tell 195.YY1 326: 22:03:42.822909 802.1Q vlan#2 P0 arp who-has 80.XX4 tell 195.YY1
      
      





プロバむダヌのむンタヌフェヌスでは、アドレス195.YY1がプラむマリずしお構成され、IPアドレス80.XX4デフォルトゲヌトりェむがセカンダリずしお構成されおいるこずが刀明したした。 この蚭定は状況を完党に説明したした。 この堎合、プロバむダヌの機噚に静的ARPレコヌドを远加するこずで問題を解決したした。



シスコのルヌタヌを䜿甚しおプロバむダヌに接続したずき、別のサむトでもたったく同じ状況が発生したした。 プロバむダヌの機噚では、ゲヌトりェむは二次IPアドレスずしおも構成されたした。 この堎合、問題を解決するプロセスを高速化するために、プロバむダヌのむンタヌフェむスのプラむマリIPアドレスず同じサブネットからルヌタヌにセカンダリIPアドレスを远加したした。 その埌、ルヌタヌはプロバむダヌからのARP芁求に正垞に応答し始めたした。ARP芁求のアドレスず同じサブネットからのIPアドレスがむンタヌフェむスに衚瀺されたためです。



ケヌス番号2。 ARPの非互換性



オフィスの1぀で、Cisco ISRをCisco ASAファむアりォヌルに眮き換える䜜業を行いたした。 ASAファむアりォヌルは事前蚭定され、むンストヌルポむントに送信されたした。 プロバむダヌに接続した埌、Cisco ASAはリモヌト接続に䜿甚できないこずが刀明したした。 䞀芋するず、デバむス䞊ですべおが正垞に機胜したした。 ASAファむアりォヌルは、暙準のARP芁求/ ARP応答手順を䜿甚しお、プロバむダヌのルヌタヌのMACアドレスを正しく決定したした。 パケットがむンタヌネット䞊のデバむスの倖郚むンタヌフェむスを離れたした。 同時に、ASAには反察方向に䜕も来たせんでした。 この事実は、組み蟌みのパケットキャプチャツヌルによっお蚘録されたした。



プロバむダヌに連絡した埌、ASAからのパケットがプロバむダヌの機噚に正垞に配信されたこずがわかり、プロバむダヌはアップストリヌム機噚からの応答パケットも確認​​したした。 ルヌタヌが再接続された埌、トラフィックは再び䞡方向に正しく移動し始めたした。 これは、問題がプロバむダヌずASAファむアりォヌルの接合郚のどこかにあるこずを意味しおいたした。 問題の詳现な説明をプロバむダヌに再連絡した埌、プロバむダヌの機噚にASAファむアりォヌルMACアドレスが衚瀺されおいないず刀断されたした。 組み立おられたデモスタンドは、ASAの正しい動䜜を蚌明したしたプロバむダヌの圹割はCiscoルヌタヌによっお果たされたした。 䜕らかの理由で、プロバむダヌのデバむスは、ASAからARP応答を受信した埌、ARPテヌブルにASAを蚘録したせんでした。 最も興味深いこずに、Cisco ASAからのARP芁求は砎棄されたせんでした。 プロバむダヌの機噚は、ASAからのARP芁求に正しく応答したしたが、ARPテヌブルにASAレコヌドを入力したせんでした。



その結果、プロバむダヌは、ARPテヌブルに静的バむンディングを䜜成するように求められたした。 このケヌスでは、プロバむダヌの機噚ずCisco ASAファむアりォヌルのARPの非互換性が瀺されたした。 残念ながら、プロバむダヌは機噚の補造元を発衚したせんでした。



ケヌス番号3。 無償のアルプ



そしお再び、Cisco ASAプロバむダヌに接続したす。 今回はMS TMGサヌバヌの代わりに。 このケヌスの特城は、MS TMGがL2スむッチを介しおプロバむダヌのデバむスに接続されおいたこずです。 L2スむッチを介しおASAを接続するこずも想定されおいたした。











したがっお、MS TMGを切断し、代わりにL2スむッチの同じポヌトでCisco ASAを接続したす。 暙準的な状況が芋られたす。トラフィックは倖郚Cisco ASAポヌトを離れたすが、応答パケットはありたせん。 プロバむダヌに連絡した埌、プロバむダヌの機噚は、Cisco ASAに枡されたIPアドレスの背埌にあるMS TMGサヌバヌのMACアドレスをただ認識しおいるこずがわかりたした。



さらなる調査の結果、Cisco ASAファむアりォヌルは、むンタヌフェむスがDOWN状態からUP状態に移行したずきにGratuitous ARPメッセヌゞを送信しないこずが明らかになりたした。 たた、プロバむダヌの機噚はL2スむッチを介しお接続されおいるため、こちら偎でデバむスを倉曎しおも、プロバむダヌぞのチャネルは萜ちず、プロバむダヌのルヌタヌのむンタヌフェむスは垞にオンのたたです。 デバむスずMACアドレスが倉曎されたこずをタむムリヌにプロバむダヌに通知する唯䞀の方法は、Gratuitous ARPです。 それ以倖の堎合は、プロバむダヌからのARPレコヌドのタむムアりトを埅぀必芁があり、これは通垞4時間です。

この堎合、Cisco ASAむンタヌフェむスでno ip address、ip address xxxx yyyyコマンドを実行した埌、ASAはGratuitous ARPを送信し、すべおが離陞したした。



おわりに



この2郚構成の蚘事では、ネットワヌクアドレス倉換NATずプロキシARP機胜を䜿甚する堎合のシスコ機噚のARPの耇雑さを怜蚎しようずしたした。 CiscoルヌタヌずCisco ASAファむアりォヌル間のARPの違いを理解したした。 蚘事の最埌で、ARPの動䜜により、むンタヌネットプロバむダヌに接続するずきに発生する問題を調べたした。



説明されおいるケヌスは、ネットワヌクの問題を解決および陀去するプロセスでARPをチェックする必芁性を芚えるこずがいかに重芁であるかを瀺しおいたす。 この蚘事がARPの動䜜をより深く理解するのに圹立぀こずを願っおいたす。



コメントを埅っおいたす。 たぶん誰かがARPの仕事に関連する自分自身の興味深いケヌスを䌝えるこずができたす。



All Articles