2023/07 15

[CKA] 26. Domain과 DNS Sever기초

개요 DNS가 무엇인지 Linux에서 DNS가 어떻게 동작하는지 알아보겠습니다. DNS(Domain Name System)? 사람이 기억하기 쉬운 URL 형태의 주소를 컴퓨터가 사용하는 주소인 IP로 변경해 주는 System입니다. 예를 들어 www.google.com의 주소를 142.251.220.4로 변경을 해줍니다. Domain이란? Domain은 website의 주소를 의미합니다. 원칙 적인 구조는 아래와 같습니다. 서브도메인. 도메인명. TLD. www.goole.com. . Root Domain라고 하여 가장 최상단의 Domain입니다. 그러나 생략이 되어 표기가 됩니다. com Top Level Domain(TLD)라고 하여 도메인의 유형을 나타냅니다. "com"은 상업적 목적의 사이트를, ..

Cloud/k8s-CKA 2023.07.15

[CKA] 25. Docker Network 구조

개요 k8s의 container runtime 중 하나인 docker의 network 구성 방식을 알아보겠습니다. Docker의 network 종류 None Network network 통신이 불가능한 container를 생성할 때 사용합니다. 외부 통신 및 container 간 통신이 불가능한 구조입니다. 명령어 $sudo docker run --network none ngnix 구조 Host Network Docker의 'host' 네트워크는 container가 host의 network statck을 직접 사용하도록 합니다. 이는 container가 host와 동일한 network namepsace를 공유하게 되므로, network 격리가 사실상 없어집니다. 단점으로는 container가 host의 ..

Cloud/k8s-CKA 2023.07.10

[linux] netfilter 소개 및 동작 방식

개요 linux의 netfilter가 무엇인지 알아보겠습니다. netfilter란? Netfilter는 리눅스 커널에서 네트워크 패킷을 처리하는 프레임워크입니다 전체 구성도 https://en.wikipedia.org/wiki/Netfilter 에 잘나와 있습니다. netfilter의 동작 구조 5개의 chain과 5개의 table을 사용하여 packet을 제어 합니다. 좀더 풀어서 설명하면 각 chain에 여러개의 tabledmf 순차적으로 적용하여 packet을 제어 하는 것입니다. chain 사용자에게 Hook을 걸수있는 point를 제공하니다. 각 chain에 대한 설명 종류 설명 PREROUTING 이 chain은 패킷이 커널을 통과하기 전, 즉 데이터링크 계층과 네트워크 계층 사이에서 작동합니..

[Hook ] LD_PRELOAD

개요 LD_PRELOAD가 무엇인지 알아보겠습니다 용도 "Hooking" 용도로 사용됩니다. LD_PRELOAD는 Linux 및 Unix 계열 시스템에서 사용되는 환경 변수로서, 프로그램이 실행되기 전에 특정 동적 라이브러리를 먼저 로드하도록 지시합니다. 이를 통해, LD_PRELOAD에 명시된 라이브러리의 함수가 다른 동일한 이름의 함수보다 먼저 호출됩니다. 사용법 1. overrride할 함수를 포함하는 shared library를 생성 이 library에는 hooking할려는 함수와 동일함 이름및 paramter를 가져야 합니다. 2. shared library compile 공유 라이브러리를 컴파일하고 .so 파일을 생성합니다. 3. LD_PRELOAD를 사용하여 실행 환경 변수 LD_PRELOA..