MikroTik RouterOS를 위한 CGNAT

CGNAT은 각 주소의 출발지 포트 공간을 나눠 씀으로써 많은 사설 클라이언트를 소수의 공인 주소에 대응시킵니다. Mikro Manager는 당신이 실제로 신경 쓰는 매개변수로 그 배치를 만들고, 쓰려는 모든 규칙을 보여 줍니다.

배치가 동작하는 방식

사설 공간은 공인 프리픽스 크기의 연속된 블록으로 나뉩니다. 각 블록은 자기 출발지 포트 범위에서 프리픽스 전체에 1:1로 netmap되므로, 여러 블록이 포트로 갈린 채 각 공인 주소를 공유합니다. 분배는 2단 점프 — srcnat에서 /24별 체인으로, 다시 블록별 체인으로 — 이라서 블록이 몇 개든 규칙 평가가 빠릅니다.

선언적이고, 멱등적

모든 규칙은 풀 전체를 부호화한 구조적 주석을 지닙니다. 연결하면 앱이 살아 있는 규칙을 읽어 그 주석에서 풀을 재구성하고, 원하는 상태와 실제 상태를 비교합니다. 진실의 원천은 Mac의 파일이 아니라 라우터이며, 우리의 유효한 주석이 없는 규칙은 결코 건드리지 않습니다.

결정적 조회, 흐름 로그 없이

netmap은 임대 테이블이 아니라 산술이므로, 공인 주소와 출발지 포트는 정확히 한 사설 클라이언트로 — 그리고 그 반대로도 — 풀립니다. 미리 기록해 둔 것은 필요 없습니다. 어뷰즈 신고가 실제로 답을 원하는 것이 바로 이것입니다.

MikroTik RouterOS용 CGNAT 생성기 풀은 브라우저 안에서 계산됩니다. 입력한 내용은 어디로도 전송되지 않습니다 — 보낼 서버 자체가 없습니다. 자세히 보기 →
/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"
계획
  • 2 생성
  • 67 업데이트
  • 66 삭제

무엇이든 쓰이기 전에 당신이 계획을 검토합니다.

풀의 한살이

일 년 뒤에도 바꿀 수 있는 풀

대부분의 CGNAT은 한 번 작성한 뒤 남은 수명 내내 규칙 하나하나를 손으로 고칩니다. 여기서 풀은 열고 바꾸고 다시 적용할 수 있는 대상으로 남습니다. 설계가 라우터 자체에 보관되기 때문입니다.

  1. 설계합니다

    이름을 붙이고 사설 시작 주소와 공인 프리픽스를 지정한 다음, 클라이언트마다 몇 개의 포트를 줄지 고릅니다. 블록과 포트 구간, 규칙 수는 입력하는 동안 계산됩니다. 라우터에는 아직 아무것도 없습니다 — 배지에 초안이라고 적혀 있습니다.

    설계합니다
  2. 계획을 읽습니다

    쓰려는 모든 규칙이 빠짐없이 나옵니다. /27을 32로 나누면 133개입니다. 쓰는 것은 적용뿐이며, 진행 상황도 규칙 단위로 알려 줍니다.

    계획을 읽습니다
  3. 규칙 더미가 아니라 풀이 됩니다

    적용하면 라이브로 바뀌고 라우터에서 자신이 가진 것을 알려 줍니다. 설계는 규칙 주석에 담겨 있어, 앱은 연결할 때마다 라우터에서 풀을 다시 세웁니다.

    규칙 더미가 아니라 풀이 됩니다
  4. 일 년 뒤에 바꿉니다

    주소당 클라이언트를 절반으로 줄이고 Fasttrack을 켠 다음 확인해 보세요. 2개 추가, 67개 변경, 66개 삭제. 차이만 기록됩니다.

    일 년 뒤에 바꿉니다
  5. 어뷰즈 신고에 답합니다

    공인 주소와 출발지 포트만 있으면 그 뒤의 클라이언트를 — 풀과 블록, 포트 구간까지 — 계산으로 찾아냅니다. 보관해야 할 플로 로그도 없습니다.

    어뷰즈 신고에 답합니다

자주 묻는 질문

이것은 CGNAT 계산기인가요, 아니면 라우터를 설정하나요?
둘 다입니다. 입력하는 동안 블록 수, 클라이언트당 포트, 규칙 수를 계산하고(계산기 역할), 그다음 REST API로 netmap 규칙을 씁니다. 직접 붙여 넣고 싶다면 스크립트로 받을 수도 있습니다.
이미 CGNAT 규칙이 있는 라우터에서도 쓸 수 있나요?
네. 앱은 자체 구조적 주석이 붙은 규칙만 관리합니다. 직접 작성한 것은 읽기만 하고 수정하거나 삭제하지 않습니다.
공인 주소 하나를 몇 대의 클라이언트가 공유할 수 있나요?
1부터 1024까지의 2의 거듭제곱이면 됩니다. 이 값이 출발지 포트 구간을 어떻게 나눌지 정하므로, 주소당 클라이언트가 많아질수록 각자의 포트 범위는 좁아집니다.
RouterOS의 CGNAT 설정을 스크립트로 만들 수 있나요?
네. 어떤 풀이든 앱이 보낼 것과 같은 태그된 명령을 담은 .rsc 파일로 내보낼 수 있습니다. /import 용으로도, 변경 티켓에도, 콘솔로만 닿는 라우터에도 쓸 수 있습니다.
규칙을 직접 적용하고 싶다면요?
풀을 RouterOS 스크립트로 내보내 터미널에 붙여넣으세요. 생성되는 명령은 앱이 보냈을 것과 똑같습니다.
어떤 클라이언트가 어떤 포트를 썼는지 기록하나요?
아니요, 그럴 필요도 없습니다. 매핑은 풀의 매개변수로 계산되므로, 로깅을 켠 적이 없어도 소급해서 조회됩니다.

Mikro Manager 받기

Mac App Store를 통해 배포됩니다 — 샌드박스, 서명, 자동 업데이트.

Mac App Store에 곧 출시됩니다.

macOS 14 이상과 REST API가 활성화된 RouterOS v7 기기가 필요합니다.