Network Fundamentals — Hands-on in a Linux VM
Check: Routing and DNS
한국어 원문으로 표시합니다.
h1→라우터→h2 에서 h1 에만 기본 경로를 넣고 h2 에는 안 넣었다. h1 의 ping 결과는?
- Network is unreachable 이 즉시 난다
- 라우터가 ICMP redirect 로 h2 에게 경로를 알려 줘 된다
- 첫 패킷만 유실되고 두 번째부터 된다
- 요청은 h2 에 닿지만 응답이 돌아올 길이 없어 timeout 이 난다
net.ipv4.ip_forward=0 인 리눅스에 남의 패킷이 들어오면?
- 자기 주소가 아니므로 조용히 버린다
- ICMP redirect 로 올바른 라우터를 알려 준다
- 라우팅 테이블에 경로가 있으면 넘겨 준다
- 기본 경로로만 넘기고 정적 경로는 무시한다
테이블에 default via 10.20.1.1 과 10.99.0.0/24 via 10.20.2.10 이 있을 때 10.99.0.5 는?
- 먼저 적힌 default 로 간다
- 더 긴 프리픽스인 /24 줄로 10.20.2.10 을 거친다
- 두 줄이 겹치므로 커널이 오류를 낸다
- 메트릭이 같으면 번갈아 보낸다
dig 로는 새 주소가 나오는데 curl 은 옛 주소로 간다. 가장 유력한 원인은?
- curl 이 DNS 캐시를 따로 갖고 있어서
- dig 가 UDP 를 쓰고 curl 은 TCP 를 써서
/etc/hosts에 옛 항목이 있어 libc 가 DNS 보다 먼저 그것을 봐서- resolved 의 상류 서버가 둘이라 번갈아 답해서
우분투에서 dnsmasq 를 깔았더니 Address already in use 로 서비스가 실패한다. 무엇을 잡고 있나?
- 앞서 깐 bind9 가 0.0.0.0:53 을 잡고 있다
- cloud-init 이 부팅 중 임시로 53 을 쓰고 있다
- dnsmasq 자신이 두 번 시작되어 두 번째가 실패한 것이다
- systemd-resolved 의 스텁이 127.0.0.53:53 을 듣고 있다
resolvectl domain dns0 '~lab.internal' 에서 ~ 의 뜻은?
- lab.internal 로 끝나는 질의를 이 링크의 서버로 보내는 라우팅 규칙
- 짧은 이름 뒤에 lab.internal 을 붙여 보는 검색 도메인
- lab.internal 질의를 캐시하지 말라는 표시
- 이 도메인의 DNSSEC 검증을 끄라는 표시