IPv6 có thể phù hợp với Wildcard trong Cisco IOS không?


9

Facebook rất thông minh với sơ đồ địa chỉ IPv6 của họ, nhưng điều đó khiến tôi suy nghĩ về ACL và có thể viết một Cisco IOS IPv6 ACL phù hợp không? Trong IPv4, bạn có thể khớp với một octet giữa, chẳng hạn như 10.xxx.10.xxx để đạt bất kỳ 'x' nào với 'không quan tâm'. Tôi không nghĩ rằng điều này là có thể có trong IPv6, ít nhất là kể từ iOS 15.1.

Trong trường hợp ví dụ của tôi, vì Facebook rất thông minh, nên bạn có thể dễ dàng kết hợp trên FACE: B00C nếu bạn có thể. Theo cách này, đơn giản hóa bởi vì không cần tra cứu khối nào được gán, tôi chỉ có thể khớp với phạm vi đó.

2A03: 2880: F000: [0000-FFFF]: KHUÔN: B00C :: / 96

Cách rõ ràng và thông thường là khớp trên 2A03: 2880: F000 :: / 48 nhưng thật không may, tôi không chắc chắn trong nháy mắt nếu FB có phạm vi lớn hơn (có thể là như vậy). Vì vậy, trong trường hợp cụ thể này, nếu tôi có thể chỉ khớp với phần FACE: B00C, tôi có thể khớp mọi thứ họ đang sử dụng, giả sử họ không chuyển sang FACE: B00D

Vì tôi không thể nhập mặt nạ ký tự đại diện trong IOS cho và ACL IPv6, tôi không nghĩ bạn có thể làm điều này, nhưng tôi tò mò nếu ai đó có cách giải quyết thú vị. Tôi nghĩ sẽ hữu ích khi biết điều này bởi vì tại một số điểm tôi có thể cần lọc một khối phụ chỉ vì DDoS hoặc lưu lượng truy cập mạnh trong khi không muốn chặn toàn bộ / 32 cho một số nhà cung cấp lớn.

Ngoài ra, điều này có thể cho phép chuyển hướng hoặc ưu tiên lưu lượng dựa trên chính sách. Nếu tôi nhận ra các quảng cáo nằm trong một khối khác, tôi có thể QoS chúng khác nhau, ví dụ, một tính năng hay cho băng thông thấp, các liên kết vệ tinh bị tắc nghẽn.

EDIT: Để làm rõ một chút. Có thể có trường hợp tôi cần chặn hoặc cho phép một số phạm vi nhất định trong một khối lớn như a / 32. Chúng có thể hơi liền kề và thay vì hàng trăm mục, một ký tự đại diện có thể khớp với các phần lớn của chúng. Điều này cũng có thể được sử dụng cho kỹ thuật giao thông theo cách tôi có thể định tuyến tất cả các khối 10.x.10.0 trong đó nếu x là số lẻ, nó sẽ đi một tuyến so với tuyến khác.

Một ví dụ khác là DDoS trong đó IP nguồn IPv6 đang bị giả mạo với một mẫu đánh vần tên nhóm của tin tặc. Điều này sẽ xảy ra ít nhất một lần, thật tuyệt khi có thể lọc trên đó.

Một ACL nhỏ gọn sạch hơn nhưng không phải lúc nào cũng dễ quản lý hơn. Những điều này có thể là ý tưởng / thực hành tốt hoặc xấu, không phải ở đây để tranh luận rằng, chỉ cần cố gắng để xử lý những công cụ tôi có so với những công cụ nào tôi có thể phải tạo ra.


Vui lòng giúp chúng tôi hiểu cách bạn sẽ sử dụng ACL nếu bạn có chúng. Đây có phải là để bảo mật? Nếu vậy, có tường lửa bạn có thể giảm tải này không? Những loại tường lửa?
Mike Pennington

Đừng bận tâm. Nếu bạn đang tìm kiếm Facebook, chỉ cần khớp các tiền tố của họ và được thực hiện với nó. Gần đây tôi đã thấy một trong đó ...:face:b00c:0:1cách tiếp cận của bạn sẽ không nhận được.
Michael Hampton

Nếu bạn muốn chặn phạm vi, hãy sử dụng mạng con. Nếu nó nhiều hơn / 48 lần sử dụng / 47, / 46 ... vv thì tôi không chắc bạn sẽ đạt được gì với kết hợp "ký tự đại diện" trong kịch bản này. Có lẽ bạn có thể làm rõ hơn một chút?
Sebastian Wiesinger

Có câu trả lời nào giúp bạn không? nếu vậy, bạn nên chấp nhận câu trả lời để câu hỏi không xuất hiện mãi mãi, tìm kiếm câu trả lời. Ngoài ra, bạn có thể cung cấp và chấp nhận câu trả lời của riêng bạn.
Ron Maupin

Câu trả lời:


6

Thật không may, Cisco đã loại bỏ mặt nạ ký tự đại diện trong IPv6. Đó chủ yếu là một điều tốt, NGOẠI TRỪ trong trường hợp cụ thể này. Tuy nhiên, để ý tưởng của bạn hoạt động, bạn phải dựa vào Facebook vừa "thông minh" vừa nhất quán, điều này có lẽ nhiều hơn một người có thể hy vọng.

Nhưng nếu bạn muốn xử lý lưu lượng truy cập của Facebook khác với lưu lượng khác, bạn chỉ cần lọc trên khối địa chỉ được chỉ định của họ. Người bạn đề cập trong câu hỏi của bạn thực sự được gán cho Facebook Ireland: 2a03: 2880 :: / 32.

Nhưng nó chỉ dễ dàng để tìm kiếm những người khác trong đăng ký.


Thật thú vị, bởi vì đó là khối tại Facebook tôi đang kết nối từ phòng thí nghiệm của tôi ở Florida. GeoIP là một câu chuyện khác. Có, tốt, chấp nhận / lọc / chặn toàn bộ / 32. Lý do khái niệm tôi đang hỏi là thực tế hơn, trong đó một ISP chỉ định một loạt các khối đang bị lạm dụng. Tôi muốn chặn, nhưng tôi không thể chặn toàn bộ / 32 chỉ cụ thể / 48 giây hoặc / 64 giây. Việc sử dụng FACE: B00C là một ví dụ minh họa dễ hiểu, nhưng nó cũng có thể là 2001: 2880: 0100-0FF0: FACE: B00C Tôi muốn chặn. Đây sẽ không phải là một bộ lọc phổ biến, nhưng tôi luôn muốn chấp nhận : C0FF: EE:
John Spade - 'DaSpadeR'

1
@ JohnSpade-'DaSpadeR 'A /32đủ lớn để bạn có thể chia nó thành rất nhiều mạng con và định tuyến chúng trên toàn thế giới. Đó là nhiều mạng con như địa chỉ IP IPv4! Hồ sơ whois gần như không liên quan tại thời điểm đó. Và định vị địa lý không phải là rất tốt cho các địa chỉ IPv6.
Michael Hampton

5

Tôi đã chơi một số trò chơi với FPM và tôi nghĩ nó có thể làm những gì bạn đang tìm kiếm:

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

Tôi đã phải cuộn tập tin ipv6.phdf của riêng mình cho cái này:

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

Thật không may, khi tôi thực hiện "hiển thị giao diện kiểm soát truy cập loại bản đồ chính sách fa0 / 1", tôi không nhận được kết quả khớp nào trên 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 

Tôi nghi ngờ rằng việc ping của tôi tới địa chỉ IPv6 của Facebook không chạy qua CEF đúng cách ( Câu hỏi thường gặp về FPM nói rằng điều đó là bắt buộc) hoặc tôi đang thiếu một cái gì đó. Tuy nhiên, tôi sẽ đưa nó ra cho bất cứ ai muốn nhai nó.


Xin chào Jody, +1 cho câu trả lời sáng tạo. Cisco IOS xử lý ping đến và từ bộ định tuyến ở cấp quy trình (nghĩa là không chuyển đổi CEF) ... có lẽ nên thêm một máy chủ khác phía sau bộ định tuyến để chứng minh giải pháp.
Mike Pennington

Chào Mike. Điểm tốt. Tôi đã thực hiện tất cả các bài kiểm tra ping của mình từ máy Mac sang Facebook, vì vậy trong khi nó vẫn có thể là sự cố chuyển đổi quy trình, thì không phải vì nó bắt nguồn hoặc chấm dứt tại bộ định tuyến. Vẫn đang cố gắng để tìm ra điều này. Điều thú vị là tôi thậm chí không nhận được một trận đấu trên ethertype 0x86dd của chính sách cha mẹ.
Jody Lemoine

Nếu chúng không khởi tạo / kết thúc trên bộ định tuyến, chúng sẽ được chuyển sang cef, miễn là ipv6 cef được bật.
Mike Pennington

IPv6 CEF chắc chắn đã bật, vì vậy tôi nghĩ rằng chúng tôi đang ở đó tốt. Thực sự tự hỏi tại sao không có trận đấu trên ethertype.
Jody Lemoine
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.