CGNAT cho MikroTik RouterOS

CGNAT ánh xạ nhiều máy khách riêng lên vài địa chỉ công cộng bằng cách chia không gian cổng nguồn của mỗi địa chỉ cho chúng. Mikro Manager dựng bố cục ấy từ những tham số bạn thực sự quan tâm, và cho bạn xem mọi luật nó định ghi.

Bố cục hoạt động thế nào

Không gian riêng được lát thành các khối liên tiếp cỡ bằng tiền tố công cộng. Mỗi khối được netmap 1:1 lên toàn bộ tiền tố trên dải cổng nguồn của riêng nó, nên nhiều khối cùng dùng chung mỗi địa chỉ công cộng, phân tách bằng cổng. Việc điều phối là một cú nhảy hai tầng — từ srcnat vào chuỗi theo từng /24, rồi vào chuỗi theo từng khối — nên dù có bao nhiêu khối, việc duyệt luật vẫn nhanh.

Khai báo, và bất biến khi lặp

Mỗi luật mang một chú thích có cấu trúc mã hóa trọn vẹn pool. Khi kết nối, ứng dụng đọc các luật đang sống, dựng lại pool từ những chú thích ấy, rồi so điều bạn muốn với điều đang có. Nguồn sự thật là router, không phải một tệp trên máy Mac — và những luật không mang chú thích hợp lệ của chúng tôi thì không bao giờ bị đụng tới.

Tra cứu tất định, không cần log luồng

Vì netmap là số học chứ không phải một bảng lease, một địa chỉ công cộng cùng cổng nguồn sẽ phân giải về đúng một máy khách riêng — và ngược lại — mà chẳng cần ghi lại gì từ trước. Đó chính là điều mà một báo cáo lạm dụng cần được trả lời.

Trình tạo CGNAT cho MikroTik RouterOS Pool được tính ngay trong trình duyệt. Không có gì bạn gõ được gửi đi đâu cả — vốn không có máy chủ nào để gửi tới. Đọc thêm →
/ip firewall nat
add chain=srcnat action=jump jump-target=cgnat-10.64add chain=cgnat-10.64-b3 action=netmap \    to-addresses=200.2.3.0/27 to-ports=3072-4095 \    comment="mikro:v1;pool=cgnat;blk=3;cpi=256"
Kế hoạch
  • 2 tạo
  • 67 cập nhật
  • 66 xoá

Bạn xem lại kế hoạch trước khi bất cứ điều gì được ghi.

Vòng đời của một pool

Một pool bạn vẫn đổi được sau một năm

Phần lớn cấu hình CGNAT được viết một lần rồi sửa tay, từng luật một, suốt quãng đời còn lại. Ở đây pool vẫn là thứ bạn mở ra, thay đổi và áp dụng lại — vì bản thiết kế nằm ngay trong router.

  1. Thiết kế

    Đặt tên, nêu địa chỉ riêng bắt đầu và tiền tố công cộng, rồi chọn mỗi máy khách được bao nhiêu cổng. Số khối, dải cổng và số luật được tính ngay khi bạn gõ. Router vẫn chưa có gì — huy hiệu ghi Bản nháp.

    Thiết kế
  2. Đọc kế hoạch

    Mọi luật sắp được ghi, đầy đủ: một /27 chia làm 32 là 133 luật. Chỉ nút Áp dụng mới ghi, và nó báo từng luật khi chạy.

    Đọc kế hoạch
  3. Thành một pool, không phải đống luật

    Sau khi áp dụng, nó chuyển sang Hoạt động và cho biết những gì thuộc về nó trên router. Bản thiết kế nằm trong phần chú thích của luật, nên mỗi lần kết nối ứng dụng lại dựng pool từ chính router.

    Thành một pool, không phải đống luật
  4. Đổi sau một năm

    Giảm một nửa số máy khách trên mỗi địa chỉ, bật Fasttrack rồi xem lại: hai luật thêm, sáu mươi bảy sửa, sáu mươi sáu xoá. Chỉ phần khác biệt được ghi.

    Đổi sau một năm
  5. Trả lời báo cáo lạm dụng

    Một địa chỉ công cộng và một cổng nguồn cho ra máy khách đứng sau — pool, khối và dải cổng — bằng phép tính, không cần lưu nhật ký luồng.

    Trả lời báo cáo lạm dụng

Câu hỏi

Đây là công cụ tính CGNAT hay nó cấu hình router?
Cả hai. Nó tính khối, số cổng mỗi máy khách nhận được và số luật ngay khi bạn gõ — đó là phần tính toán — rồi ghi các luật netmap qua REST API, hoặc đưa bạn script nếu bạn muốn tự dán.
Tôi có dùng được trên router đã có sẵn luật CGNAT không?
Có. Ứng dụng chỉ quản lý những luật mang chú thích có cấu trúc của riêng nó; những gì bạn tự viết sẽ được đọc nhưng không bao giờ bị sửa hay xóa.
Bao nhiêu máy khách có thể dùng chung một địa chỉ công cộng?
Bất kỳ lũy thừa của hai nào từ 1 đến 1024. Con số đó quyết định cách chia cửa sổ cổng nguồn, nên càng nhiều máy khách trên một địa chỉ thì dải cổng mỗi máy càng hẹp.
Nó có tạo được cấu hình CGNAT của RouterOS dưới dạng script không?
Có. Mọi pool đều xuất ra tệp .rsc chứa đúng những lệnh có gắn thẻ mà ứng dụng sẽ gửi — dùng cho /import, cho phiếu thay đổi, hoặc cho router bạn chỉ chạm tới được qua console.
Nếu tôi muốn tự áp dụng các luật thì sao?
Xuất pool thành script RouterOS rồi dán vào một terminal. Các lệnh sinh ra đúng bằng những gì ứng dụng sẽ gửi.
Nó có ghi lại máy khách nào dùng cổng nào không?
Không, và cũng không cần. Ánh xạ được tính từ các tham số của pool, nên việc tra cứu vẫn đúng cho quá khứ dù chưa từng bật ghi log.

Nhận Mikro Manager

Phân phối qua Mac App Store — chạy trong hộp cát, được ký và tự động cập nhật.

Sắp có trên Mac App Store.

Yêu cầu macOS 14 trở lên, và một thiết bị RouterOS v7 đã bật REST API.