Máy khách VPN trên ASA nhận địa chỉ từ pool DHCP sai
Đọc dhcp-server và dhcp-network-scope trên ASA như hai trường khác nhau, đặt scope vào một địa chỉ định tuyến được nằm ngoài pool, rồi kiểm tra tuyến.
Máy khách AnyConnect xuất hiện trên subnet sai, hoặc máy chủ DHCP từ chối cấp bất cứ thứ gì, trong khi chính sách nhóm trông có vẻ đúng ngay từ đầu. Trên ASA có hai trường ở hai nơi mà cả hai đều nghe như «địa chỉ đến từ đâu», và đặt sai trường sẽ cho ra đúng tình trạng này. Hồ sơ kết nối nêu tên máy chủ DHCP; chính sách nhóm nêu một subnet để máy chủ đó chọn. Cả hai đều không tạo pool.
Ba đối tượng, ba câu hỏi
Trước hết hãy tách mô hình cấp phát khỏi pool, vì hai mô hình không chia sẻ cấu hình. Nếu ASA tự cấp địa chỉ, bạn định nghĩa pool cục bộ và trỏ chính sách nhóm vào đó. Nếu máy chủ DHCP bên ngoài cấp, hồ sơ kết nối nêu tên máy chủ đó và chính sách nhóm đưa ra gợi ý scope. Trộn lẫn hai cách là lý do thường gặp khiến địa chỉ không bao giờ xuất hiện.
| 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 |
Đọc các giá trị hiệu lực trước khi đổi một giá trị
Một dòng bị bỏ qua không giống với none được chỉ định rõ. Cấu hình đang chạy cho thấy bạn đã gõ gì; show run all group-policy cho thấy chính sách thực sự quy về đâu, kể cả các giá trị mặc định được kế thừa. Kiểm tra cả hai trước khi kết luận scope sai, vì một chính sách nhóm kế thừa từ chính sách mặc định có thể cung cấp giá trị không bao giờ xuất hiện trong danh sách ngắn.
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 ?
? đáng đọc trên bản phát hành bạn đã cài, vì các giá trị được chấp nhận và phần trợ giúp của chúng khác nhau giữa các phiên bản. Tài liệu tham chiếu Cisco ASA 9.24 cho chính sách nhóm mô tả thuộc tính này là một địa chỉ định tuyến được trên subnet mong muốn, nằm ngoài pool cấp phát, ưu tiên địa chỉ giao diện. Đó không phải dải của pool và cũng không phải số mạng.
Đặt scope vào một địa chỉ, không phải một dải
Giả sử pool bạn muốn máy chủ dùng là 10.50.30.50 đến 10.50.30.200 trên một /24, và giao diện ASA trên phân đoạn đó là 10.50.30.1. Giá trị scope là 10.50.30.1. Ghi 10.50.30.0 thất bại vì đó là số mạng, và ghi cả dải cũng thất bại vì thuộc tính chỉ nhận một địa chỉ. Nếu địa chỉ bạn chọn không phải địa chỉ giao diện, nó cần một tuyến tĩnh để phản hồi của máy chủ DHCP có thể đến được.
group-policy RemoteStaff attributes
dhcp-network-scope 10.50.30.1
Đoạn này chỉ làm một việc. Nó không cấu hình máy chủ DHCP, không tạo pool ở đó và không biến một hồ sơ truy cập từ xa dở dang thành hồ sơ hoạt động. Hành vi được ghi nhận ở đây chỉ là IPv4; đừng mong nó điều khiển DHCPv6 hay ủy quyền tiền tố.
Thay đổi nó với một điểm khôi phục
Trước hết hãy chụp snapshot, để việc khôi phục là một lệnh chứ không phải dựng lại. Lưu cấu hình liên quan vào tệp trước khi sửa, và biết no khôi phục điều gì trên bản phát hành của bạn: nó đưa thuộc tính về giá trị mặc định hoặc được kế thừa, có thể là none chứ không phải chính sách bên trên.
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
Bỏ thuộc tính cũng là một bước chẩn đoán. Khi không có scope nào được định nghĩa, máy chủ DHCP tìm trong pool của chính nó một địa chỉ chưa được cấp, nên máy khách có thể rơi vào nơi bất ngờ nhưng ít nhất vẫn kết nối. Kết quả đó cho biết đường đi của yêu cầu hoạt động và thứ thất bại là việc chọn pool.
Kiểm tra địa chỉ, tuyến và quyền
Đọc việc cấp phát từ bảng phiên chứ không phải từ hộp thoại của máy khách, rồi xác nhận địa chỉ định tuyến được trở lại đường hầm và các bộ lọc của chính sách nhóm cho phép lưu lượng bạn mong đợi. Quyết định cấp phát không phải quyết định định tuyến, và một máy khách nhận địa chỉ từ pool đúng vẫn có thể thất bại ở mọi yêu cầu.
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
Nếu phiên hiển thị địa chỉ bạn dự định nhưng lưu lượng chết, scope đã bị loại khỏi diện nghi vấn. Hãy xem tuyến quay về, các thiết lập split-tunnel hoặc bộ lọc trên chính sách nhóm, và việc scope DHCP có nằm trên phân đoạn mà ASA thực sự định tuyến tới hay không.