2018년 7월 9일 월요일

번역: 초당 천만개의 패킷을 버리는 방법

회사 블로그 번역 다섯번째 입니다.

초당 천만개의 패킷을 버리는 방법
https://blog.cloudflare.com/how-to-drop-10-million-packets-ko/

XDP는 처음 들었는데 지원되는 카드가 있어야 하는것 같네요.

2018년 4월 2일 월요일

클라우드플레어의 ​DNS 리졸버 1.1.1.1


4/1에 만우절 조크가 아니라 Cloudflare 가 퍼블릭 DNS 리졸버로 사용할 수 있는 1.1.1.1 (그리고 1.0.0.1)을 발표하였습니다.

https://blog.cloudflare.com/announcing-1111/

PC나 모바일의 경우 직접 DNS 리졸버를 변경해서 사용하면 됩니다. 공유기를 쓰는 경우라면 공유기의 DNS설정을 바꾸어도 되겠지요.

종종 그냥 DNS 서버라고 하는 경우가 있어 헷갈리는데, 일반적으로 DNS 서버라고 하면 authoritative DNS 서버를 말하고 해당 도메인의 마스터 정보를 갖고 있는 DNS서버를 말합니다. DNS 리졸버란 네트워크 설정시에 사용할 수 있는 DNS IP 주소로, 질의한 이름의 IP주소를 찾아서(resolve) 반환해 주는 역할을 합니다.​ 1.1.1.1은 바로 이 리졸버 설정에 사용할 수 있는 주소 입니다. 보통 집에서 인터넷을 쓰는 경우 ISP에서 기본 값을 자동으로 내려 주지만, 공유기 등에서 ​수동으로 설정할 수도 있습니다.​

1.1.1.1의 ​특징이라고 한다면
  • 외우기 쉬운 주소
  • IPv6 지원 (2606:4700:4700::1111, 2606:4700:4007::1001)
  • 프라이버시 (로그는 24시간 내로 지워짐)
  • DNS over TLS, DNS over HTTPS 등 보안 관련 ​기능 지원
인데, 요즘에 이런 DNS리졸버 서비스들이 몇 ​있습니다. 1.1.1.1 이외에도 유명한 것이​
약간 외우​기는 어렵지만 OpenDNS도 있지요.
왜 기억하기 쉬운 DNS 서비스가 좋냐 하면 고정IP로 네트워크 설정할 때 DNS 리졸버를 넣어야 하는데 DHCP가 아니라면 기억하기 쉬운 IP가 좋으니까요. 국내 IT업계 종사자라면 KT의 168.126.63.1 같은걸 외우고 계시는 분들도 많을 겁니다.​

다만 이런 서비스는 모두 애니캐스트 기반이라 외부 네트워크의 피어링이 어려운 중국 내에서는 잘 동작하지 않을 수 있는데, 중국 내부라면 아래 서비스가 중국 내에서 애니캐스트 기반으로 동작 합니다. 더 있을지도 모르겠네요.
또한 IP주소 ​1.x는 A class 에 속하는 영역이라 어떻게 확보했을까 하는 궁금증이 있었는데 해당 주소를 관리하는 APNIC과의 연계로 가능했던 것이네요. 자세한 사항은 APNIC의 관련 블로그 글을 읽어 보시면 됩니다.​​

주의 사항이라고 하면,
  • edns-client-subnet extension (privacy 와 충돌하는 부분이 있으니 향후 추가될 지​ 모르겠지만) 지원이 없는 관계로 애니캐스트 기반이 아니라 유니캐스트 기반의 ​CDN (Akamai, CDNetworks 등)이라면 로드밸런싱에 문제가 있을 수도 있으니, 혹 많이 가는 사이트가 느려 진다면 설정 전후로 테스트를 해 보시기 바랍니다. 해당 옵션의 영향에 대해서는 예전에 썼던 이 글을 읽어 보시면 도움이 됩니다​.
  • 1.1.1.1 은 일부 ISP에서 차단/하이재킹이나 Captive Portal 등​ 각종 이상한 용도로 사용되는 경우가 있어서 DNS lookup 에 문제가 발생할 수 있습니다. 따라서 기본 리졸버를 바꾸기 전에 반드시 테스트를 하는 것이 좋습니다. 이게 아마 1.x 가 오래동안 일반 서비스에 사용되지 않다 보니 Private 영역이 아님에도 불구하고 Private처럼 쓰이는 경우가 있어서 그런 것으로 생각됩니다.​
한국 기준으로 하면 좋은 점도 있는데, OpenDNSGoogle Public DNS의 경우 한국에는 POP이 없어서 일본이나 대만으로 연결되기 때문에 레이턴시가 40-60ms 정도 추가 됩니다.  1.1.1.1의 경우 클라우드플레어가 한국에 POP이 있으므로 매우 빠르게 연결이 될 수 있습니다.

기존에 DNS서버를 변경해서 쓰고 있거나, 새로운 서비스에 흥미가 생긴 분들은 한번 도전해 보시는 것도 좋겠네요. https://1.1.1.1 에 가시면 기본 설명이 되어 있습니다.​

p.s. 1.0.0.1 은 많은 경우 https://1.1 로 줄여 쓸 수 있다고 하네요. IPv6주소는 중간에 0 이 연속되면 줄여 쓸 수 있는데 v4 도 되는 줄은 몰랐습니다.​