Apakah Kemungkinan Wildcard IPv6 di Cisco IOS Mungkin?

9

Facebook sangat pintar dengan skema alamat IPv6 mereka, tetapi membuat saya berpikir tentang ACL dan apakah mungkin untuk menulis Cisco IOS IPv6 ACL yang cocok? Di IPv4 Anda bisa mencocokkan oktet tengah seperti 10.xxx.10.xxx untuk mencapai 'x' dengan 'tidak peduli'. Saya tidak berpikir ini mungkin di IPv6, setidaknya tidak pada iOS 15.1.

Dalam contoh saya, karena Facebook pintar, membuatnya mudah dicocokkan dengan FACE: B00C jika Anda bisa. Dengan cara ini menyederhanakan karena tanpa melihat blok apa yang ditugaskan, saya hanya dapat mencocokkan pada rentang itu.

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

Cara yang jelas dan normal adalah mencocokkan pada 2A03: 2880: F000 :: / 48 tapi sayangnya, saya tidak yakin sekilas jika FB memiliki rentang yang lebih besar (mungkin memang). Jadi dalam kasus khusus ini, jika saya dapat mencocokkan hanya pada bagian FACE: B00C, saya dapat mencocokkan semua yang mereka gunakan, dengan asumsi mereka tidak beralih ke FACE: B00D

Karena saya tidak bisa memasukkan topeng wildcard di iOS untuk dan IPv6 ACL, saya tidak berpikir Anda bisa melakukan ini, tapi saya ingin tahu apakah seseorang memiliki solusi yang menarik. Saya pikir akan berguna untuk mengetahui hal ini karena pada titik tertentu saya mungkin perlu memfilter sub blok hanya karena DDoS atau lalu lintas yang agresif sementara tidak ingin memblokir seluruh / 32 untuk beberapa penyedia besar.

Selain itu, ini dapat memungkinkan pengalihan atau penentuan prioritas lalu lintas berbasis kebijakan. Jika saya menyadari bahwa iklan berada di blok yang berbeda, saya dapat QoS mereka secara berbeda misalnya, fitur yang bagus untuk bandwidth rendah, tautan satelit yang padat.

EDIT: Untuk memperjelas sedikit. Mungkin ada kasus di mana saya perlu memblokir atau mengizinkan rentang tertentu dalam blok besar seperti a / 32. Ini mungkin sedikit berdekatan dan bukan ratusan entri, wildcard mungkin cocok dengan sebagian besar dari mereka. Ini juga dapat digunakan untuk rekayasa lalu lintas dengan cara saya bisa merutekan semua blok 10.x.10.0 di mana jika x aneh, ia pergi satu rute vs bahkan ke rute lain.

Contoh lain adalah DDoS di mana IP sumber IPv6 sedang spoof dengan pola yang mengeja nama grup peretas. Ini akan terjadi setidaknya sekali, alangkah baiknya bisa menyaringnya.

ACL yang ringkas lebih bersih tetapi tidak selalu lebih mudah dikelola. Hal-hal ini dapat berupa ide / praktik yang baik atau buruk, bukan di sini untuk membantahnya, hanya mencoba untuk menguasai alat apa yang saya miliki vs alat apa yang mungkin harus saya buat.

John Spade - 'DaSpadeR'
sumber
Tolong bantu kami memahami bagaimana Anda akan menggunakan ACL jika Anda mendapatkannya. Apakah ini untuk keamanan? Jika demikian, adakah firewall yang dapat Anda gunakan untuk memuatnya? Jenis firewall apa?
Mike Pennington
Jangan repot-repot. Jika Anda mencari Facebook, sesuaikan saja awalannya dan selesaikan. Saya baru-baru melihat satu yang ...:face:b00c:0:1mana pendekatan Anda tidak akan mengambil.
Michael Hampton
Jika Anda ingin memblokir rentang, gunakan subnet. Jika lebih dari / 48 menggunakan / 47, / 46 ... dll. Saya tidak yakin apa yang akan Anda capai dengan pencocokan "wildcard" dalam skenario ini. Bisakah Anda mengklarifikasi lebih banyak?
Sebastian Wiesinger
Apakah ada jawaban yang membantu Anda? jika demikian, Anda harus menerima jawabannya sehingga pertanyaan tidak terus muncul selamanya, mencari jawaban. Atau, Anda bisa memberikan dan menerima jawaban Anda sendiri.
Ron Maupin

Jawaban:

6

Sayangnya, Cisco menghilangkan masker wildcard di IPv6. Itu kebanyakan hal yang baik, KECUALI dalam kasus khusus ini. Agar ide Anda berhasil, Anda harus mengandalkan Facebook karena "pintar" dan konsisten, yang mungkin lebih dari yang bisa diharapkan.

Tetapi jika Anda ingin memproses lalu lintas Facebook secara berbeda dari lalu lintas lainnya, Anda bisa memfilter pada blok alamat yang ditugaskan. Yang Anda sebutkan dalam pertanyaan Anda sebenarnya ditugaskan ke Facebook Irlandia: 2a03: 2880 :: / 32.

Tapi itu sama mudahnya untuk mencari orang lain di pendaftar.

Ron Trunk
sumber
Lucu, karena itulah blok di Facebook yang saya hubungkan dari lab saya di Florida. GeoIP adalah kata-kata kasar lain. Ya, baik, terima / filter / blokir seluruh / 32. Alasan konseptual yang saya tanyakan lebih praktis, di mana ISP menetapkan serangkaian blok yang menjadi kasar. Saya ingin memblokir, tetapi saya tidak dapat memblokir keseluruhan / 32 hanya spesifik / 48s atau / 64s. Penggunaan FACE: B00C adalah contoh ilustrasi yang mudah, tetapi bisa juga 2001: 2880: 0100-0FF0: FACE: B00C Saya ingin memblokir. Ini tidak akan menjadi filter umum, tapi saya ingin selalu menerima : C0FF: EE:
John Spade - 'DaSpadeR'
1
@ JohnSpade-'DaSpadeR 'A /32cukup besar sehingga Anda dapat memecahnya menjadi sangat banyak subnet dan merutekannya di seluruh dunia. Itu sebanyak subnet sebanyak alamat IP IPv4! Catatan whois hampir tidak relevan pada saat itu. Dan geolokasi belum terlalu baik untuk alamat IPv6.
Michael Hampton
5

Saya melakukan beberapa permainan dengan FPM dan saya pikir itu dapat melakukan apa yang Anda cari:

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

Saya harus menggulung file ipv6.phdf saya sendiri untuk yang ini:

<?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>

Sayangnya, ketika saya melakukan "tampilkan antarmuka kontrol akses jenis kebijakan-peta jenis fa0 / 1", saya tidak mendapatkan kecocokan pada 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 

Saya menduga ping saya ke alamat IPv6 Facebook tidak berjalan dengan benar melalui CEF ( FAQ FPM mengatakan itu diperlukan) atau saya kehilangan sesuatu. Tetap saja, aku mengeluarkan ini untuk siapa saja yang ingin mengunyahnya.

Jody Lemoine
sumber
Hai Jody, +1 untuk jawaban kreatif. Cisco IOS menangani ping ke dan dari router di tingkat proses (yaitu bukan CEF-switched) ... mungkin ada baiknya menambahkan host lain di belakang router untuk membuktikan solusinya.
Mike Pennington
Hai Mike. Poin yang bagus. Saya melakukan semua tes ping dari Mac ke Facebook, jadi meskipun mungkin masih merupakan masalah proses-pengalihan, itu bukan karena ia berasal atau diakhiri di router. Masih mencoba mencari yang satu ini. Hal yang menarik adalah bahwa saya bahkan tidak mendapatkan kecocokan pada ethertype 0x86dd kebijakan induk.
Jody Lemoine
Jika mereka tidak berasal / berakhir pada router, mereka harus diaktifkan cef, asalkan ipv6 cef diaktifkan.
Mike Pennington
IPv6 CEF sudah pasti aktif, jadi saya pikir kami bagus di sana. Sungguh heran mengapa tidak ada kecocokan pada ethertype.
Jody Lemoine