Các máy khách động kết nối và định tuyến tốt, nhưng máy khách duy nhất có địa chỉ cố định hoàn toàn không đến được máy chủ. Không có gì thay đổi trong tường lửa, và dòng CCD trông hợp lý. Nguyên nhân thường gặp là đối số thứ hai được viết cho một topology TUN khác với topology máy chủ đang chạy. Sự cố diễn ra âm thầm: máy khách khởi lên với một địa chỉ và máy chủ chấp nhận kết nối, nhưng không có lưu lượng nào đi qua.

Trong net30 trường đó là địa chỉ peer; trong subnet nó là mặt nạ mạng. Hai dạng là lựa chọn thay thế, không bao giờ là một chuỗi.

Hai dạng, đặt cạnh nhau

Trong một triển khai net30 truyền thống, mỗi máy khách sở hữu một khối /30: một địa chỉ mạng, hai địa chỉ dùng được và một địa chỉ quảng bá. ifconfig-push nhận địa chỉ máy khách và địa chỉ peer, và peer là địa chỉ dùng được còn lại trong cùng khối, được phía máy chủ của liên kết điểm-điểm sử dụng.

# net30: client address and its peer
ifconfig-push 10.99.0.6 10.99.0.5
# topology subnet: client address and the pool netmask
ifconfig-push 10.99.0.20 255.255.255.0

Dưới topology subnet máy khách chia sẻ một subnet với máy chủ, và cùng chỉ thị đó nhận một địa chỉ và một mặt nạ mạng. Địa chỉ của chính máy chủ đến từ chỉ thị server, không phải từ trường thứ hai. Trộn các dạng tạo ra một máy khách tin rằng nó đang ở trên liên kết điểm-điểm trong khi máy chủ định tuyến nó như một máy chủ trong subnet, hoặc ngược lại. Đó là lý do không bao giờ được ghép mặt nạ mạng với net30.

Cả hai dòng trong khối đều là dòng riêng cho tệp CCD. Một máy khách nhận đúng một trong hai.

Đọc topology mà máy chủ thực sự đang chạy

Hãy đọc cấu hình đang chạy thay vì mặc định của gói, vì topology có thể đã được đặt từ nhiều năm trước và sao chép về sau. Tìm topology subnet hoặc sự vắng mặt của nó, sau đó kiểm tra cách dòng server cấp phát địa chỉ. Một cấu hình không bao giờ nhắc đến topology không giống với cấu hình đặt subnet.

Sau đó đọc các thiết lập mà máy khách nhận được. Địa chỉ, mặt nạ và peer mà nó báo cáo cho bạn biết máy chủ đã áp dụng cách hiểu nào.

Giữ địa chỉ cố định ngoài nhóm động

Địa chỉ cố định phải nằm ngoài nhóm động, nếu không hai máy khách có thể được cấp cùng một địa chỉ. Với topology subnet, nopool trên dòng server ức chế nhóm tự động, và dải ifconfig-pool rõ ràng xác định những gì máy khách động nhận được.

dev tun
topology subnet
server 10.99.0.0 255.255.255.0 nopool
ifconfig-pool 10.99.0.100 10.99.0.210 255.255.255.0
client-config-dir /etc/openvpn/ccd

Máy chủ lấy 10.99.0.1 cho chính nó, và địa chỉ cố định của máy khách nằm ngoài dải của nhóm. Tệp CCD được đặt tên theo danh tính hiệu lực của máy khách, không theo tên tệp hồ sơ, và không có phần mở rộng thêm. Nếu username-as-common-name đang hoạt động, tên người dùng đã xác thực là danh tính cần khớp. Hai thiết bị chia sẻ một danh tính cũng sẽ chia sẻ địa chỉ cố định, đó là vấn đề chính sách chứ không phải định tuyến.

Xác minh việc cấp phát mà máy khách thực sự nhận được

Kết nối lại máy khách dự định và xác nhận tệp CCD nào đã được chọn trước khi kiểm tra bất cứ điều gì khác. Sau đó xác minh địa chỉ, mặt nạ hoặc peer, và tuyến đường trở về máy chủ. Một máy khách hiển thị địa chỉ peer trong triển khai subnet vẫn đang dùng dạng sai.

Thay đổi topology ảnh hưởng đến mọi máy khách và mọi ghi đè, vì vậy hãy coi đó là một cuộc di chuyển chứ không phải sửa chữa một máy khách. Chỉnh dòng tĩnh cho khớp với topology đang dùng thường là thay đổi nhỏ hơn. Tài liệu tham khảo server-options ghi lại trình trợ giúp và các ghi đè riêng cho máy khách.

Bài viết liên quan