주소·서브넷·게이트웨이 · 게이트웨이와 라우팅 · 실습
라우팅 테이블을 읽고 계산한다
목표
주소를 읽고, 서브넷을 계산하고, 패킷이 어느 길로 나가는지 커널에게 직접
묻습니다. 방화벽 규칙과 네트워크 정책은 전부 이 계산 위에 서 있습니다.
왜 중요한가
"어떤 대역만 안 된다" 는 신고는 거의 항상 라우팅이나 마스크 계산 문제입니다.
그런데 라우팅 테이블을 읽을 줄 모르면 무엇을 봐야 할지조차 모릅니다.
특히 4단계가 중요합니다. ip route get 은 테이블을 눈으로 읽고 추론하는 대신
커널에게 직접 묻는 명령입니다. 사람의 추론보다 정확하고, 답이 즉시 나옵니다.
단계
1. 내 주소가 왜 /32 인가 → /root/net/01-addr.txt
2. 주어진 세 대역의 서브넷 계산 → /root/net/02-subnet.txt
3. 라우팅 테이블 → /root/net/03-route.txt
4. ip route get 두 번 → /root/net/04-get.txt
5. 최장 접두사 일치 설명 → /root/net/05-longest.txt
6. 사설/공인 판별 → /root/net/08-private.txt
참고
- 이 파드는 커널 권한이 없어
ip route add로 경로를 바꿀 수는 없습니다. - 파드 주소가
/32인 것은 정상입니다. Cilium 은 파드마다 주소 하나만 주고 python3의ipaddress모듈이 계산 검산에 유용합니다.- 172 사설 대역의 경계와
100.64.0.0/10이 함정입니다.
읽고 계산하는 것이 목적입니다.
나가는 길을 온링크 경로로 따로 알려 줍니다. 그래서 파드에는 '같은 서브넷의
이웃' 이 없고, 모든 통신이 게이트웨이를 거칩니다.
단계 8개
- 내 주소의 프리픽스가 이상하다
- 서브넷을 계산한다
- 라우팅 테이블
- 커널에게 직접 묻는다
- 최장 접두사 일치
- 이름과 연결을 나눠 본다
- 무엇이 듣고 있나
- 사설 대역 판별