Hai site cùng dùng 192.168.1.0/24 đều có thể ra internet mà vẫn không tới được nhau. Cổng không báo lỗi; nó cài một tuyến duy nhất cho tiền tố đó và gửi mọi gói tới đối tác đã yêu cầu trước. Không có gì trong bắt tay, danh sách mật mã hay metric giao diện cho biết đối tác nào sai. Quy hoạch địa chỉ là phần của thiết kế giải quyết việc này trước khi ai đó kết nối.

Kiểm kê mọi không gian phải tiếp cận được

Ghi ra các dải cần định tuyến, không chỉ những dải bạn đang cấu hình. Đó là LAN của các site, nhóm máy khách VPN, subnet trên đám mây, mạng quản trị và ngoài băng, phân đoạn phòng thí nghiệm và những mạng mà người dùng thường kết nối từ nhà. Một router tiêu dùng xuất xưởng với 192.168.1.0/24 không phải giả thuyết, và cùng tiền tố đó xuất hiện trong khách sạn và hội trường. Bản kiểm kê là bảng tiền tố, chủ sở hữu và mục đích, và là tài liệu duy nhất ngăn cùng một dải bị cấp hai lần.

PrefixPurposeOwner
10.20.0.0/16site LANsnetwork team
10.20.100.0/22VPN client poolremote access
10.20.200.0/24managementoperations

Thêm các tiền tố bạn dự kiến trong năm tới, vì một kế hoạch chỉ phủ hôm nay sẽ thất bại ngay ở site mới đầu tiên. Đánh dấu trên mỗi dòng ai có thể thay đổi nó, không chỉ ai sở hữu nó.

Chính việc dùng lại làm việc này khó: không gian riêng là hữu hạn và mọi tổ chức coi 10.0.0.0/8 là của mình. Một kế hoạch không thể hứa rằng sẽ không có LAN khách nào trong tương lai rơi vào một tiền tố của bạn, nên thiết kế phải nói điều gì xảy ra khi điều đó xảy ra. Hai quy tắc làm phần lớn công việc. Đặt nhóm máy khách vào một khối liền mạch có thể tóm tắt, và không bao giờ cấp một dải mà nhóm khác đã định tuyến. Phần còn lại là một bản ghi mà ai đó giữ cập nhật.

Vì sao chồng lấn đánh bại bảng định tuyến

Tuyến là một tiền tố cộng bước nhảy tiếp theo, và việc chuyển tiếp chọn tiền tố khớp dài nhất. Khi hai đối tác cùng yêu cầu 192.168.1.0/24, bảng chỉ giữ một mục cho nó, nên lưu lượng của cả hai site đi ra qua cùng một đường hầm. Site thứ hai không bị cấu hình sai; nó không tới được vì site thứ nhất trả lời cho cùng các địa chỉ đó. Không metric nào tách được chúng, vì việc khớp xảy ra trước khi metric được xét đến.

Sự cố là bất đối xứng và dễ đọc sai. Máy chủ ở site A tới được cổng và một số dịch vụ, trong khi máy chủ site B không trả lời gì, và nhật ký cho thấy đường hầm khỏe ở cả hai chiều. Kiểu đó là xung đột địa chỉ chứ không phải lỗi xác thực hay tường lửa, và để xác nhận cần một lần kết xuất bảng đối chiếu với bản kiểm kê.

Định cỡ nhóm máy khách và dải của site một cách có chủ đích

Nhóm máy khách VPN là một dải mà cổng cấp từng địa chỉ một, nên kích thước của nó giới hạn số kết nối đồng thời. Một /24 chứa 254 địa chỉ dùng được, rộng rãi cho nhóm nhỏ và chật cho chi nhánh chạy container; một /22 không tốn thêm gì trong không gian riêng và xóa bỏ tranh luận. Giữ nhóm liền mạch và tránh xa mọi LAN của site, để tuyến tóm tắt về phía máy khách không bao giờ nuốt mất một site. Giữ chỗ dải ngay cả khi nhóm trống, vì một dải không được ghi ra chính là dải mà kỹ sư tiếp theo sẽ cấp.

Các site nhận dải được định cỡ cho số máy chủ dự kiến cộng mức tăng trưởng, căn trên một ranh giới tóm tắt gọn gàng. Những khoảng trống có chủ đích giữa các lần cấp không tốn gì và mua chỗ để tổng hợp về sau.

Sau đó kiểm tra chiều mà mọi người quên: đường quay về. Mỗi router site cần một tuyến tới nhóm máy khách, và bộ tập trung cần một tuyến tới từng tiền tố site mà nó phục vụ. Một bảng tiền tố gọn gàng không có đường quay về nhóm vẫn là thiết kế hỏng, và triệu chứng là kết nối một chiều không trả lời gì. Giữ cả hai chiều trong cùng một bảng và xem lại mỗi khi thêm site.

Dịch địa chỉ và đánh số lại giải quyết hai vấn đề khác nhau

Khi đã có chồng lấn, có hai lựa chọn trung thực và một lựa chọn không trung thực. Đánh số lại loại bỏ xung đột vĩnh viễn và tốn một cửa sổ bảo trì cùng mọi địa chỉ gán cứng mà bạn quên. Dịch địa chỉ ánh xạ dải riêng của một bên sang dải khác ở rìa đường hầm, việc này để cả hai site nguyên vẹn nhưng thêm trạng thái, phá vỡ các giao thức nhúng địa chỉ và làm nhật ký khó đọc hơn. Lựa chọn không trung thực là một tuyến máy chủ tới một server duy nhất, nó qua một bài kiểm tra và hỏng ở mọi thứ khác.

Chọn theo mức kiểm soát và vòng đời. Một site bạn sở hữu và có thể lên lịch thuộc về con đường đánh số lại; một mạng đối tác bạn không thể chạm vào, dùng cho một ứng dụng duy nhất, là ứng viên cho dịch địa chỉ với ánh xạ được ghi lại. Hãy viết ánh xạ đó ra, vì một bản dịch chỉ tồn tại bên trong tệp cấu hình sẽ biến mất ngay khi tệp bị thay thế.

Kiểm thử từ phía xa trước khi triển khai

Kiểm thử từ một mạng không lưu trữ cổng, vì LAN của chính cổng che giấu phần lớn lỗi định tuyến. Kết nối một máy khách sau router gia đình thông thường, rồi tới một dịch vụ trên mỗi site và một dịch vụ bên trong nhóm máy khách. Cũng kiểm thử chiều ngược lại, từ máy chủ của site tới máy khách, vì đường quay về hỏng một cách độc lập. Một bài kiểm tra chỉ ping cổng chứng minh đường hầm đang hoạt động và không hơn gì.

Giữ dải, chủ sở hữu và ánh xạ dịch trong một bản ghi chia sẻ mà site tiếp theo đọc trước khi cấp bất cứ thứ gì. Xem lại khi thêm site, và coi một dải không được ghi lại là khiếm khuyết chứ không phải bất ngờ.

Bản ghi chính là kết quả. Một kế hoạch sống trong trí nhớ của ba người sẽ hỏng ngay lần đầu một người trong số họ đi nghỉ, và một chồng lấn tìm thấy trên môi trường thật tốn kém hơn cái bảng đó.

Bài viết liên quan