Cisco IOSでIPv6ワイルドカードの一致は可能ですか?


9

FacebookはIPv6アドレススキームに関して非常に賢いですが、ACLについて考えさせられました。それに一致するCisco IOS IPv6 ACLを作成することは可能ですか?IPv4では、 'x'を 'do n't care'でヒットするために、10.xxx.10.xxxなどの中間オクテットを一致させることができます。これはIPv6では可能ではないと思います。少なくともIOS 15.1では不可能です。

私の例の場合、Facebookは賢いので、できればFACE:B00Cで簡単に一致させることができます。あるブロックが割り当てられているかどうかを調べなくても、その範囲で照合できるため、これは単純化されます。

2A03:2880:F000:[0000-FFFF]:FACE:B00C :: / 96

2A03:2880:F000 :: / 48で一致させるのが明白で通常の方法ですが、残念ながら、FBの範囲が広いかどうかは一目でわかりません(おそらく)。したがって、この特定のケースでは、FACE:B00Cパーツのみを照合できれば、FACE:B00Dに移動しないと想定して、使用しているすべてのものを照合できます。

IOSとIPv6 ACLではワイルドカードマスクを入力できないので、これはできないと思いますが、興味深い回避策があるかどうか知りたいです。大規模なプロバイダーの/ 32全体をブロックしたくないが、ある時点でDDoSまたはアグレッシブトラフィックのためだけにサブブロックをフィルター処理する必要がある場合があるため、これを知っておくと便利だと思います。

さらに、これにより、ポリシーベースのトラフィックのリダイレクトまたは優先順位付けが可能になります。アドバタイズが別のブロックにあることに気付いた場合は、QoSを変えることができます。たとえば、低帯域幅の混雑した衛星リンクに適した機能です。

編集:少し明確にするために。/ 32のような大きなブロック内の特定の範囲をブロックまたは許可する必要がある場合があります。これらはわずかに連続していて、数百のエントリではなく、ワイルドカードがそれらの大部分と一致する場合があります。これは、すべての10.x.10.0ブロックをルーティングする方法でトラフィックエンジニアリングにも使用できます。xが奇数の場合、あるルートと別のルートに行きます。

別の例は、ハッカーのグループ名を綴るパターンでIPv6ソースIPがスプーフィングされているDDoSです。これは少なくとも1回は発生します。それをフィルタリングできると便利です。

コンパクトなACLはクリーンですが、常に管理しやすいとは限りません。これらは良いアイデアか悪いアイデアか実践かもしれませんが、ここで議論するのではなく、自分が持っているツールと自分が作成しなければならない可能性のあるツールを理解しようとしているだけです。


ACLを取得した場合のACLの使用方法を理解するためにご協力ください。これはセキュリティのためですか?もしそうなら、これをオフロードできるファイアウォールはありますか?どんなファイアウォール?
マイクペニントン

気にしないでください。Facebookを探している場合は、それらのプレフィックスを一致させて、それで完了です。最近...:face:b00c:0:1、あなたのアプローチでは受け入れられないものを見ました。
マイケルハンプトン

範囲をブロックする場合は、サブネットを使用します。/ 48を超える場合は、/ 47、/ 46 ...などを使用します。このシナリオで「ワイルドカード」マッチングを使用して何を実行できるかわかりません。もう少し明確にできますか?
Sebastian Wiesinger 2014年

何か回答がありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


6

残念ながら、シスコはIPv6のワイルドカードマスクを廃止しました。これは、この特定の場合を除いて、ほとんどが良いことです。ただし、アイデアが機能するためには、Facebookが「賢く」かつ一貫していることに依存する必要があります。

ただし、Facebookのトラフィックを他のトラフィックとは異なる方法で処理する場合は、割り当てられたアドレスブロックでフィルターをかけるだけです。あなたの質問であなたが言及したものは、実際にはFacebookアイルランドに割り当てられています:2a03:2880 :: / 32。

しかし、レジストリで他の人を探すのも同じくらい簡単です。


面白そうだ、それは私がフロリダの私の研究室からつながっているFacebookのブロックだからだ。GeoIPはもう1つの怒りです。はい、大丈夫です、/ 32全体を受け入れ/フィルター/ブロックします。私が質問している概念的な理由は、ISPが悪用されている一連のブロックを割り当てる場合の方がより現実的です。ブロックしたいのですが、/ 32全体、特定の/ 48または/ 64のみをブロックすることはできません。FACE:B00Cの使用は簡単な例ですが、2001:2880:0100-0FF0:FACE:B00Cも同様にブロックする必要があります。これは一般的なフィルターにはなりませんが、:C0FF:EE:
John Spade-'DaSpadeR'

1
@ JohnSpade-'DaSpadeR 'A /32は非常に大きいため、非常に多くのサブネットに分割して、世界中にルーティングできます。これは、IPv4 IPアドレスと同じ数のサブネットです。この時点では、whoisレコードはほとんど関係ありません。また、ジオロケーションはIPv6アドレスにはまだあまり適していません。
マイケルハンプトン

5

私はFPMで遊んでいましたが、あなたが探していることはそれでうまくいくと思います:

load protocol system:fpm/phdf/ether.phdf
load protocol flash:/fpm/phdf/ipv6.phdf
!
class-map type stack match-all cm-ipv6
 match field ETHER type eq 0x86DD next IPV6
class-map type access-control match-all cm-ipv6-facebook
 match start IPV6 dest-addr offset 9 size 4 eq 0xFACEB00C
!
policy-map type access-control pm-ipv6-facebook
 class cm-ipv6-facebook
   drop
policy-map type access-control pm-filter
 class cm-ipv6
   log
  service-policy pm-ipv6-facebook
!
interface FastEthernet0/1
 service-policy type access-control input pm-filter

私はこれのために自分のipv6.phdfファイルを転がさなければなりませんでした:

<?xml version="1.0" encoding="UTF-8"?>
<phdf>
 <version>1</version>
 <protocol name="ipv6" description="Definition-for-the-IPv6-protocol">
 <field name="version" description="IP version">
  <offset type="fixed-offset" units="bits">0</offset>
  <length type="fixed" units="bits">4</length>
 </field>
 <field name="tc" description="IPv6-Traffic-Class">
  <offset type="fixed-offset" units="bits">4</offset>
  <length type="fixed" units="bits">8</length>
 </field>
  <field name="fl" description="IPv6-Flow-Label">
  <offset type="fixed-offset" units="bits">12</offset>
  <length type="fixed" units="bits">20</length>
 </field>
 <field name="length" description="IPv6-Payload-Length">
  <offset type="fixed-offset" units="bits">32</offset>
  <length type="fixed" units="bits">16</length>
 </field>
 <field name="nh" description="IPv6-Next-Header">
  <offset type="fixed-offset" units="bits">48</offset>
  <length type="fixed" units="bits">8</length>
 </field>
 <field name="hl" description="IPv6-Hop-Limit">
  <offset type="fixed-offset" units="bits">56</offset>
  <length type="fixed" units="bits">8</length>
 </field>
 <field name="source-addr" description="IPv6-Source-Address">
  <offset type="fixed-offset" units="bits">64</offset>
  <length type="fixed" units="bits">128</length>
 </field>
 <field name="dest-addr" description="IPv6-Destination-Address">
  <offset type="fixed-offset" units="bits">192</offset>
  <length type="fixed" units="bits">128</length>
 </field>
 <field name="payload-start" description="IPv6-Payload-Start">
  <offset type="fixed-offset" units="bits">320</offset>
  <length type="fixed" units="bits">0</length>
 </field>
 <headerlength type="fixed" value="320"></headerlength>
 <constraint field="version" value="6" operator="eq"></constraint>
</protocol>
</phdf>

残念ながら、「show policy-map type access-control interface fa0 / 1」を実行すると、ethertypeが一致しません。

FastEthernet0/1 

  Service-policy access-control input: pm-filter

    Class-map: cm-ipv6 (match-all)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: field ETHER type eq 0x86DD next IPV6
      log

      Service-policy access-control : pm-ipv6-facebook

        Class-map: cm-ipv6-facebook (match-all)
          0 packets, 0 bytes
          5 minute offered rate 0 bps
          Match: start IPV6 dest-addr offset 9 size 4 eq 0xFACEB00C
      drop

        Class-map: class-default (match-any)
          0 packets, 0 bytes
          5 minute offered rate 0 bps, drop rate 0 bps
          Match: any 

    Class-map: class-default (match-any)
      10000 packets, 1863618 bytes
      5 minute offered rate 14000 bps, drop rate 0 bps
      Match: any 

FacebookのIPv6アドレスへのpingがCEF経由で適切に実行されていない(FPMのFAQで必要とされています)か、何か不足しています。それでも、私はそれを噛んでみたい人のためにこれを出している。


こんにちはジョディ、創造的な答えのために+1。Cisco IOSは、ルータとの間のpingをプロセスレベルで処理します(つまり、CEFスイッチではありません)...ソリューションを証明するために、ルータの後ろに別のホストを追加する価値があるかもしれません。
マイクペニントン

ねえマイク。いい視点ね。私はすべてのpingテストをMacからFacebookに行っていたので、それでもプロセス切り替えの問題である可能性はありますが、ルーターで発生または終了したことが原因ではありません。まだこれを理解しようとしています。興味深いのは、親ポリシーの0x86ddイーサタイプに一致するものがないことです。
Jody Lemoine

ルーターで発信/終了しない場合は、ipv6 cefが有効になっている限り、cefを切り替える必要があります。
マイクペニントン2014年

IPv6 CEFは間違いなくオンになっているので、私たちはそこにいると思います。どうしてイーサタイプが一致しないのか、本当に不思議に思っています。
Jody Lemoine、2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.