ไคลเอนต์ VPN ของ ASA ดึงที่อยู่จากพูล DHCP ผิดตัว
อ่าน dhcp-server และ dhcp-network-scope บน ASA เป็นสองฟิลด์ที่ต่างกัน ตั้ง scope เป็นที่อยู่ที่กำหนดเส้นทางได้นอกพูล แล้วตรวจสอบเส้นทาง
ไคลเอนต์ AnyConnect ขึ้นมาบนซับเน็ตผิด หรือเซิร์ฟเวอร์ DHCP ไม่ยอมแจกอะไรเลย ทั้งที่นโยบายกลุ่มดูถูกต้องเมื่อมองแวบแรก บน ASA มีสองฟิลด์ในสองตำแหน่งที่ฟังดูเหมือน «ที่อยู่มาจากไหน» และการตั้งฟิลด์ผิดก็ให้ผลแบบนี้พอดี โปรไฟล์การเชื่อมต่อระบุชื่อเซิร์ฟเวอร์ DHCP ส่วนนโยบายกลุ่มระบุซับเน็ตที่เซิร์ฟเวอร์นั้นต้องเลือกจาก ทั้งสองอย่างไม่ได้สร้างพูล.
สามออบเจ็กต์ สามคำถาม
แยกโมเดลการจัดสรรออกจากพูลก่อน เพราะสองโมเดลไม่ได้ใช้การกำหนดค่าร่วมกัน ถ้า ASA แจกที่อยู่เอง คุณจะกำหนดพูลโลคอลและชี้นโยบายกลุ่มไปที่พูลนั้น ถ้าเซิร์ฟเวอร์ DHCP ภายนอกเป็นผู้แจก โปรไฟล์การเชื่อมต่อจะระบุชื่อเซิร์ฟเวอร์นั้น และนโยบายกลุ่มจะให้คำใบ้เรื่อง scope การผสมสองแบบเข้าด้วยกันคือสาเหตุปกติที่ที่อยู่ไม่เคยปรากฏ
| Intent | Objects involved |
|---|---|
| ASA allocates from its own pool | ip local pool plus the group policy's address-pool |
| External DHCP allocates | dhcp-server on the tunnel group, dhcp-network-scope on the group policy |
อ่านค่าที่มีผลจริงก่อนจะเปลี่ยนสักค่า
บรรทัดที่ละไว้ไม่เหมือนกับ none ที่ระบุชัดเจน การกำหนดค่าที่รันอยู่แสดงสิ่งที่คุณพิมพ์ แต่ show run all group-policy แสดงว่าแนวนโยบายลงเอยที่อะไรจริง ๆ รวมถึงค่าเริ่มต้นที่สืบทอดมา ตรวจทั้งสองอย่างก่อนตัดสินว่า scope ผิด เพราะนโยบายกลุ่มที่สืบทอดจากนโยบายเริ่มต้นอาจให้ค่าที่ไม่เคยปรากฏในรายการสั้น
show running-config group-policy RemoteStaff
show run all group-policy RemoteStaff
show running-config tunnel-group RemoteStaff
group-policy RemoteStaff attributes
dhcp-network-scope ?
? คุ้มค่าที่จะอ่านบนรีลีสที่คุณติดตั้ง เพราะค่าที่รับได้และข้อความช่วยเหลือต่างกันระหว่างเวอร์ชัน เอกสารอ้างอิง Cisco ASA 9.24 สำหรับ นโยบายกลุ่ม อธิบายแอตทริบิวต์นี้ว่าเป็นที่อยู่ที่กำหนดเส้นทางได้บนซับเน็ตที่ต้องการ นอกพูลจัดสรร โดยให้น้ำหนักกับที่อยู่ของอินเทอร์เฟซ ไม่ใช่ช่วงของพูลและไม่ใช่หมายเลขเครือข่าย
ตั้ง scope เป็นที่อยู่ ไม่ใช่ช่วง
สมมติว่าพูลที่คุณต้องการให้เซิร์ฟเวอร์ใช้คือ 10.50.30.50 ถึง 10.50.30.200 บน /24 และอินเทอร์เฟซ ASA บนเซกเมนต์นั้นคือ 10.50.30.1 ค่า scope คือ 10.50.30.1 การเขียน 10.50.30.0 ล้มเหลวเพราะเป็นหมายเลขเครือข่าย และการเขียนช่วงก็ล้มเหลวเพราะแอตทริบิวต์รับที่อยู่เดียว ถ้าที่อยู่ที่คุณเลือกไม่ใช่ที่อยู่ของอินเทอร์เฟซ ต้องมีเส้นทางแบบสถิตเพื่อให้คำตอบของเซิร์ฟเวอร์ DHCP ไปถึงได้
group-policy RemoteStaff attributes
dhcp-network-scope 10.50.30.1
ส่วนนี้ทำเพียงอย่างเดียว คือไม่ได้กำหนดค่าเซิร์ฟเวอร์ DHCP ไม่ได้สร้างพูลที่นั่น และไม่ได้เปลี่ยนโปรไฟล์การเข้าถึงระยะไกลบางส่วนให้ใช้งานได้ พฤติกรรมที่บันทึกไว้ตรงนี้เป็น IPv4 เท่านั้น อย่าคาดหวังว่าจะควบคุม DHCPv6 หรือการมอบหมายคำนำหน้า
เปลี่ยนโดยมีจุดย้อนกลับ
จับ snapshot ก่อน เพื่อให้การย้อนกลับเป็นคำสั่งไม่ใช่การสร้างใหม่ บันทึกการกำหนดค่าที่เกี่ยวข้องลงไฟล์ก่อนแก้ไข และรู้ว่า no กู้คืนอะไรบนรีลีสของคุณ: มันคืนแอตทริบิวต์เป็นค่าเริ่มต้นหรือค่าที่สืบทอดมา ซึ่งอาจเป็น none ไม่ใช่นโยบายที่อยู่เหนือมัน
copy running-config flash:pre-dhcp-scope.cfg
conf t
group-policy RemoteStaff attributes
no dhcp-network-scope
dhcp-network-scope 10.50.30.1
end
write memory
การเอาแอตทริบิวต์ออกก็เป็นขั้นตอนวินิจฉัย เมื่อไม่ได้กำหนด scope เซิร์ฟเวอร์ DHCP จะค้นพูลของตัวเองหาที่อยู่ที่ยังไม่ถูกจัดสรร ไคลเอนต์จึงอาจไปโผล่ที่ที่ไม่คาดคิดแต่ก็ยังเชื่อมต่อได้ ผลลัพธ์นั้นบอกว่าเส้นทางของคำขอทำงาน และสิ่งที่ล้มเหลวคือการเลือกพูล
ตรวจสอบที่อยู่ เส้นทาง และสิทธิ์
อ่านการจัดสรรจากตารางเซสชันไม่ใช่จากหน้าต่างของไคลเอนต์ แล้วยืนยันว่าที่อยู่นั้นกำหนดเส้นทางกลับไปยังทันเนลได้ และตัวกรองของนโยบายกลุ่มอนุญาตทราฟฟิกที่คุณคาดไว้ การตัดสินใจจัดสรรไม่ใช่การตัดสินใจกำหนดเส้นทาง และไคลเอนต์ที่ได้ที่อยู่จากพูลที่ถูกต้องก็ยังล้มเหลวได้ทุกคำขอ
show vpn-sessiondb detail anyconnect filter name testuser
show ip local pool
show route | include 10.50.30
ping 10.50.30.61 source inside
ถ้าเซสชันแสดงที่อยู่ที่คุณตั้งใจแต่ทราฟฟิกตาย แปลว่า scope ถูกตัดออกจากรายชื่อผู้ต้องสงสัยแล้ว ให้ดูเส้นทางขากลับ การตั้งค่า split-tunnel หรือตัวกรองบนนโยบายกลุ่ม และดูว่า scope DHCP อยู่บนเซกเมนต์ที่ ASA กำหนดเส้นทางไปจริงหรือไม่