영기
article thumbnail
Packet Handling in the Kernel - Conntrack

iptables의 상태추적(Connection tracking 또는 Stateful Inspection)https://arthurchiao.art/blog/conntrack-design-and-implementation/ ConntrackConntrack is a component of Netfilter used to track the state of connections to (and from) the machine. Conntrack은 기기로의(그리고 기기로부터의) 연결 상태를 추적하는 데 사용되는 Netfilter의 구성 요소입니다.Connection tracking directly associates packets with a particular connection. 연결 추적은 패킷을 특정 연결..

article thumbnail
Packet Handling in the Kernel - Netfilter

NetfilterNetfilter, included in Linux since 2.3, is a critical component of packet handling.Netfilter is a framework of kernel hooks, which allow userspace programs to handle packets on behalf of the kernel.Netfilter는 사용자 공간(userspace) 프로그램이 커널을 대신하여 패킷을 처리할 수 있게 해주는 커널 훅(hook)의 프레임워크입니다.In short, a program registers to a specific Netfilter hook, and the kernel calls that program on applicable p..

article thumbnail
The Bridge Interface

br0 > Bridgeveth > virtual Etherneteth0 > physical device   brctl : 리눅스에서 이더넷 브리지를 관리하기 위한 레거시 도구 / 현대 리눅스에서는 ip 명령어 사용 권장# 브리지 인터페이스 br0 생성sudo ip link add name br0 type bridge# 브리지 인터페이스 활성화sudo ip link set br0 up# 현재 네트워크 인터페이스 확인ip link show# eth0을 브리지에 연결sudo ip link set eth0 master br0# veth 페어 생성sudo ip link add veth0 type veth peer name veth1# veth 인터페이스 활성화sudo ip link set veth0 upsudo ..

article thumbnail
The Network Interface

Network Interface (Ethernet network controller)PhysicalVirtual loopback interface목적for same-host communication (127.0.0.1)취약점컨테이너 네트워킹 보안 문제(CVE-2020-8558)  kube-proxy의 잘못된 설정으로 인해 외부 시스템이 노드의 127.0.0.1 주소에 접근할 수 있게 되었음.

Linux Networking - Basic

1. 개요쿠버네티스 네트워킹 구현을 이해하기 위해서는 리눅스 네트워킹 기초를 이해할 필요가 있음.쿠버네티스가 본질적으로 리눅스 시스템에서 동작하는 도구이기 때문 2. Go 웹 서버 실행# amazon liunx 2023# git 명령어 설치sudo dnf install git -ygit --version더보기 [ec2-user@ip-10-0-3-220 ~]$ sudo dnf install git -yAmazon Linux 2023 Kernel Livepatch repository ..

article thumbnail
L7 - HTTP

1. HTTP Simple Webserver (python)코드# HttpWebserver.pyfrom http.server import HTTPServer, BaseHTTPRequestHandlerclass SimpleHTTPRequestHandler(BaseHTTPRequestHandler): def do_GET(self): # 1. First, set the response status code self.send_response(200) # 2. Set the response headers self.send_header('Content-Type', 'text/plain; charset=utf-8') self.send_header('..

Networking History

Table 1-1. A brief history of networkingYearEvent1969ARPANET's first connection test1969Telnet 1969 Request for Comments (RFC) 15 drafted1971FTP RFC 114 drafted1973FTP RFC 354 drafted1974TCP RFC 675 by Vint Cerf, Yogen Dalal, and Carl Sunshine drafted1980Development of Open Systems Interconnection model begins1981IP RFC 760 drafted1982NORSAR and University College London left the ARPANET and beg..

Table of Contents

1. Networking IntroductionNetworking History (네트워킹 역사)OSI Model (OSI 모델)TCP/IP (TCP/IP 프로토콜)Application (응용 계층)Transport (전송 계층)Network (네트워크 계층)Internet Protocol (인터넷 프로토콜)Link Layer (링크 계층)Web Server Revisit (웹 서버 재검토)Conclusion 2. Linux NetworkingBasics (기초)Network Interface (네트워크 인터페이스)Bridge Interface (브릿지 인터페이스)Kernel Packet Handling (커널 패킷 처리)Netfilter (넷필터)Conntrack (연결 추적)Routing (라우팅)H..

검색 태그