Cisco IOS'de IPv6 Wildcard Maçları Mümkün mü?


9

Facebook, IPv6 adres şeması ile çok akıllı, ancak ACL'leri düşünmemi sağladı ve eşleşen bir Cisco IOS IPv6 ACL yazmak mümkün mü? IPv4'te, 'umurumda' ile herhangi bir 'x' tuşuna basmak için 10.xxx.10.xxx gibi bir orta sekizli ile eşleşebilirsiniz. Bunun IPv6'da mümkün olduğunu düşünmüyorum, en azından IOS 15.1'den itibaren değil.

Örneğimde, Facebook akıllı olduğu için, eğer yapabilirseniz FACE: B00C ile eşleşmeyi kolaylaştırıyor. Bir şekilde bu basitleşir, çünkü hangi bloğun atanmış olduğuna bakmadan sadece bu aralıkta eşleşebilirim.

2A03: 2880: F000: [0000-FFFF]: YÜZ: B00C :: / 96

Açık ve normal yol 2A03: 2880: F000 :: / 48 ile eşleşmektir, ancak ne yazık ki, FB'nin daha geniş bir aralığı varsa (muhtemelen) bir bakışta emin değilim. Bu durumda, sadece FACE: B00C kısmında eşleşebilseydim, FACE: B00D'ye geçmediklerini varsayarak kullandıkları her şeyi eşleştirebilirim

IOS ve IPv6 ACL'de joker maskeye giremediğim için, bunu yapabileceğinizi sanmıyorum, ancak birinin ilginç bir çözümü olup olmadığını merak ediyorum. Ben bunu bilmek yararlı olacağını düşünüyorum çünkü bir noktada bir alt bloğu sadece DDoS veya agresif trafik nedeniyle filtrelemek gerekirken bazı büyük sağlayıcı için bir / 32 tüm engellemek istemiyorum.

Ayrıca, bu, ilke tabanlı trafik yönlendirmesine veya önceliklendirmeye izin verebilir. Reklamların farklı bir blokta olduğunu fark edersem, bunları farklı şekilde QoS yapabilirim, örneğin düşük bant genişliği, sıkışık uydu bağlantıları için güzel bir özellik.

EDIT: Biraz açıklığa kavuşturmak için. / 32 gibi büyük bir blok içinde belirli aralıkları engellemem veya buna izin vermem gereken durumlar olabilir. Bunlar biraz bitişik olabilir ve yüzlerce giriş yerine, bir joker karakter bunların büyük bölümleriyle eşleşebilir. Bu aynı zamanda trafik mühendisliği için tüm 10.x.10.0 bloklarını x yolsuzsa, bir rotaya hatta başka bir yola giderken kullanabileceğim şekilde kullanılabilir.

Başka bir örnek, IPv6 kaynak IP'sinin bilgisayar korsanlarının grup adını yazan bir desenle taklit edildiği bir DDoS'tur. Bu en az bir kez olacak, filtrelemek güzel olurdu.

Kompakt bir ACL daha temizdir, ancak her zaman daha kolay yönetilemez. Bunlar, iyi ya da kötü fikirler / pratikler olabilir, burada tartışmak için değil, sadece hangi araçlara sahip olduğumu ve hangi araçları oluşturmak zorunda kalabileceğimi ele almaya çalışıyorum.


ACL'leri elinizde varsa nasıl kullanacağınızı anlamamıza yardımcı olun. Bu güvenlik için mi? Öyleyse, bunu yükleyebileceğiniz güvenlik duvarları var mı? Ne tür bir güvenlik duvarı?
Mike Pennington

Rahatsız etme. Facebook arıyorsanız, onların öneklerini eşleştirin ve onunla bitirin. Son zamanlarda ...:face:b00c:0:1, yaklaşımınızın karşılanmayacağı bir tanesini gördüm .
Michael Hampton

Aralıkları engellemek istiyorsanız, alt ağları kullanın. Bir / 48 kullanımı / 47, / 46 ... vb. Fazla ise bu senaryoda "joker" eşleştirme ile ne başaracağınızdan emin değilim. Belki biraz daha açıklığa kavuşabilir misiniz?
Sebastian Wiesinger

Herhangi bir cevap size yardımcı oldu mu? öyleyse, cevabı kabul etmelisiniz, böylece soru sonsuza kadar ortaya çıkmayacak, bir cevap arıyor. Alternatif olarak kendi cevabınızı verebilir ve kabul edebilirsiniz.
Ron Maupin

Yanıtlar:


6

Ne yazık ki, Cisco IPv6'daki joker maskeleri ortadan kaldırdı. Bu özel durum dışında, bu çoğunlukla iyi bir şeydir. Ancak fikrinizin işe yaraması için, Facebook'un hem "zeki" hem de tutarlı olmasına güvenmelisiniz, ki bu muhtemelen bir kişinin umabileceğinden daha fazladır.

Ancak Facebook trafiğini diğer trafikten farklı bir şekilde işlemek istiyorsanız, atanmış adres bloklarına filtre uygulayabilirsiniz. Sorunuzda bahsettiğiniz kişi aslında Facebook Ireland: 2a03: 2880 :: / 32.

Ancak kayıtlarda başkalarını aramak da kolaydır.


Eğlenceli, çünkü Facebook'ta Florida'daki laboratuvarımdan bağlandığım blok bu. GeoIP başka bir rant. Evet, iyi, tümünü / 32'yi kabul et / filtrele / engelle. İstediğim kavramsal neden, bir ISS'nin kötü niyetli bir dizi blok atadığı daha pratik. Engellemek istiyorum, ancak tüm / 32 yalnızca belirli / 48'leri veya / 64'leri engelleyemiyorum. FACE: B00C kullanımı kolay bir açıklayıcı örnektir, ancak aynı şekilde 2001: 2880: 0100-0FF0: FACE: B00C engellemek istiyorum. Ortak bir filtre olmayacak, ancak her zaman kabul etmek istiyorum : C0FF: EE:
John Spade - 'DaSpadeR'

1
@ JohnSpade-'DaSpadeR 'A /32, çok sayıda alt ağa ayırabileceğiniz ve dünya çapında yönlendirebileceğiniz kadar büyük. Bu birçok şekilde var alt ağlara IPv4 IP adresleri gibi! Whois kaydı bu noktada neredeyse önemsizdir. Ve coğrafi konum IPv6 adresleri için henüz çok iyi değil.
Michael Hampton

5

FPM ile biraz oynuyordum ve aradığınızı yapabileceğini düşünüyorum:

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

Bunun için kendi ipv6.phdf dosyasını rulo vardı:

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

Ne yazık ki, bir "ilke-harita türü erişim kontrol arabirimi fa0 / 1 göster" yaptığımda, ethertype hiçbir eşleşme olsun:

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'un IPv6 adresine pinglerimin CEF üzerinden düzgün bir şekilde çalışmadığından şüpheleniyorum ( FPM SSS gerekli olduğunu söylüyor) veya bir şey eksik. Yine de, üzerinde çiğnemek isteyen herkes için bunu ortaya koyuyorum.


Merhaba Jody, yaratıcı bir cevap için +1. Cisco IOS, yönlendirici için ve yönlendiriciden gelen pingleri işlem düzeyinde işler (yani CEF anahtarlamalı değil) ... belki de çözümü kanıtlamak için yönlendiricinin arkasına başka bir ana bilgisayar eklemeye değer.
Mike Pennington

Merhaba Mike. İyi bir nokta. Mac'imden Facebook'a tüm ping testlerimi yapıyordum, bu yüzden hala süreç değiştirme sorunu olsa da, yönlendiriciden kaynaklandığı veya sonlandırıldığı için değil. Hala bunu anlamaya çalışıyorum. İlginç olan şey, ana politikanın 0x86dd ethertype'sinde bile bir eşleşme elde etmem.
Jody Lemoine

Yönlendiriciden kaynaklanmıyor / yönlendirilmiyorsa ipv6 cef etkin olduğu sürece cef anahtarlamalı olmalıdır.
Mike Pennington

IPv6 CEF kesinlikle açık, bu yüzden orada iyiyiz diye düşünüyorum. Ethertype'de neden eşleşme olmadığını gerçekten merak ediyorum.
Jody Lemoine
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.