ฟังก์ชัน Unicast Reverse Path Forwarding (RPF) ในโหมดที่แตกต่างกันสามโหมดและอาจช่วยลดเวกเตอร์การโจมตีของเราเตอร์โดยเฉพาะจากที่อยู่ IP ปลอมแปลง
โหมดเข้มงวด
(config-if)#ip verify unicast source reachable-via rx
ในโหมดเข้มงวดเราเตอร์จะตรวจสอบและตรวจสอบที่อยู่ IP ต้นทางของแพ็คเก็ตขาเข้าเทียบกับตาราง Forwarding Information Base (FIB) สำหรับเส้นทางที่ตรงกัน หากเส้นทางไปยังที่อยู่ IP ต้นทางนั้นสามารถเข้าถึงได้ผ่านทางอินเตอร์เฟสที่ได้รับบนแพ็คเก็ตจะได้รับ โดยค่าเริ่มต้นเส้นทางเริ่มต้นจะไม่ได้รับการพิจารณาในโหมดเข้มงวด (ตามที่กำหนดไว้ข้างต้น)
ตัวเลือกโหมดเข้มงวด:
ตามการกำหนดค่าของโหมดเข้มงวด Unicast RPF บนอินเทอร์เฟซที่กำหนดเราเตอร์ไม่สามารถ ping ตัวเองบนอินเทอร์เฟซนั้นอีกต่อไป:
#sh ip int bri | ex unas|Int
FastEthernet0/0 11.0.11.1
#ping 11.0.11.1
.....
Success rate is 0 percent (0/5)
การตรวจสอบ URPF ที่ทิ้งแพ็กเก็ต:
#show ip int fa0/0 | i ^ [1-9]+ verification drops
5 verification drops
#show ip traffic | i unicast
0 no route, 5 unicast RPF, 0 forced drop
พฤติกรรมนี้สามารถเปลี่ยนแปลงได้โดยการเพิ่มallow-self-ping
ไวยากรณ์:
(config-if)#ip verify unicast source reachable-via rx allow-self-ping
นอกจากนี้ตามที่กล่าวถึงในคำถามของคุณโหมดเข้มงวดสามารถอนุญาตให้ตรวจสอบที่อยู่ IP ต้นทางของแพ็คเก็ตขาเข้ากับเส้นทางเริ่มต้นได้ สิ่งนี้เปิดใช้งานโดยไวยากรณ์allow-default
:
ในโหมดเข้มงวดการเพิ่มไวยากรณ์allow-default
ด้วยตัวเองจะป้องกันการรับจากที่อยู่ IP ของแพ็คเก็ตขาเข้าที่มีเส้นทางออกผ่านอินเตอร์เฟสที่แตกต่างจากที่ได้รับ นี่คือสมมติว่าไม่มีการเข้าถึงรายการหรือเส้นทางโมฆะที่กำหนดค่าบนเราเตอร์ ที่อยู่ที่สามารถกำหนดเส้นทางได้ทั้งหมดซึ่งเข้าถึงได้จากอินเทอร์เฟซที่ได้รับจะตรงกับเส้นทางที่เฉพาะเจาะจงหรือเส้นทางเริ่มต้น
อย่างไรก็ตามหากคุณต้องใช้เส้นทางที่เป็นโมฆะเส้นทางที่เฉพาะเจาะจงที่สุดจะได้รับการประเมินก่อนที่การตรวจสอบ URPF จะไปที่เส้นทางเริ่มต้นและจะทำหน้าที่เป็นบัญชีดำสำหรับช่วง IP ที่เป็นอันตรายที่ทราบ
ตัวอย่าง -การรับส่งข้อมูลทั้งหมดที่มาจาก 3.0.0.0/8 จะถูกทิ้งโดยการตรวจสอบ URPF:
(config-if)#ip verify unicast source reachable-via rx allow-default
(config)#ip route 3.0.0.0 255.0.0.0 null 0
Bad-Source-RTR#ping 11.0.11.1 so l1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.0.11.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
.....
Success rate is 0 percent (0/5)
นอกจากนี้คุณสามารถระบุ Access-Control List (ACL) แทนการเพิ่มallow-default
ไวยากรณ์เพื่อให้ได้รายการที่มีโครงสร้างของที่อยู่ที่อนุญาตและปฏิเสธ ที่อยู่ที่สามารถเข้าถึงได้จากส่วนต่อประสานที่ได้รับมาและถูกจับคู่ใน ACL ที่กำหนดจะถูกปล่อยหรืออนุญาตตามนั้น
!
access-list 23 permit 3.0.0.0 0.255.255.255
access-list 23 deny 4.0.0.0 0.255.255.255 log
access-list 23 permit any
!
(config)#int fa0/0
(config-if)#ip verify unicast source reachable-via rx 23
สุดท้ายคุณสามารถระบุ ACL ด้วยallow-default
ไวยากรณ์ แต่จะไม่มีผลใด ๆ แพ็กเก็ตจะไม่ถูกตรวจสอบกับ ACL ที่ระบุด้วยallow-default
ตัวเลือก
#ip verify unicast source reachable-via rx allow-default ?
<1-199> A standard IP access list number
<1300-2699> A standard IP expanded access list number
โหมดหลวม
R1(config-if)#ip verify unicast source reachable-via any
ในโหมดหลวมเราเตอร์จะตรวจสอบที่อยู่ IP ต้นทางของแพ็คเก็ตขาเข้าและตรวจสอบกับตาราง FIB สำหรับเส้นทางที่ตรงกัน หากเส้นทางไปยังที่อยู่ IP ต้นทางนั้นสามารถเข้าถึงได้แพ็กเก็ตสามารถรับได้โดยไม่คำนึงถึงอินเตอร์เฟสที่ได้รับ โดยค่าเริ่มต้นเส้นทางเริ่มต้นจะไม่ได้รับการพิจารณาในโหมดหลวม (ตามที่กำหนดไว้ด้านบน)
โหมดหลวมและโหมดเข้มงวดมีตัวเลือกการกำหนดค่าที่คล้ายกัน ความแตกต่างที่สำคัญคือไวยากรณ์ที่ใช้ ( any
เทียบกับrx
) และที่อยู่ IP ต้นทางของแพ็กเก็ตขาเข้านั้นสามารถเข้าถึงได้ผ่านทางอินเตอร์เฟสที่ได้รับมาหรือไม่
(config-if)#ip verify unicast source reachable-via any ?
<1-199> A standard IP access list number
<1300-2699> A standard IP expanded access list number
allow-default Allow default route to match when checking source address
allow-self-ping Allow router to ping itself (opens vulnerability in
verification)
โหมด VRF
โหมด VRF สามารถใช้ประโยชน์จากโหมดหลวมหรือโหมดเข้มงวดใน VRF ที่กำหนดและจะประเมินที่อยู่ IP ต้นทางของแพ็คเก็ตขาเข้าเทียบกับตาราง VRF ที่กำหนดค่าสำหรับเพื่อนบ้าน eBGP
เอกสารอ้างอิง: เอกสารทางเทคนิค
Cisco URPF การ
ทำความเข้าใจ Unicast Reverse Path Forwarding
URPF คู่มือการกำหนดค่า