[CKA] Linux 스위칭과 라우팅

스위치, 라우팅 테이블, 기본 게이트웨이와 IP 포워딩이 서로 다른 네트워크를 연결하는 과정을 정리합니다.

같은 네트워크 안의 스위칭

스위치는 MAC 주소 테이블을 기준으로 같은 네트워크 안의 프레임을 전달합니다. 호스트의 eth0 같은 인터페이스는 IP 주소, 서브넷 마스크, MAC 주소를 가지며 ip link로 링크 상태를 확인할 수 있습니다.

호스트 A가 같은 서브넷의 호스트 B와 통신할 때 A는 ARP로 B의 MAC 주소를 찾습니다. 스위치는 출발지 MAC 주소를 학습하고 목적지 MAC 주소가 연결된 포트로 프레임을 보냅니다.

다른 네트워크로 가는 라우팅

목적지가 로컬 서브넷 밖에 있으면 호스트는 라우팅 테이블에서 경로를 찾고 다음 홉인 게이트웨이로 패킷을 보냅니다. 구체적인 경로가 없을 때는 default, 즉 0.0.0.0/0 경로를 사용합니다.

ip route
ip route add 192.168.2.0/24 via 192.168.1.6

두 네트워크에 연결된 Linux 호스트를 라우터로 쓰려면 양쪽 호스트에 반환 경로가 있어야 하고, 중간 호스트의 IP 포워딩도 활성화되어야 합니다.

cat /proc/sys/net/ipv4/ip_forward

값이 1이면 포워딩이 활성화된 상태입니다. ip 명령으로 추가한 주소와 경로는 일반적으로 런타임 설정이므로, 재부팅 뒤에도 유지할 방법은 배포판의 네트워크 관리 방식에 맞춰 따로 구성해야 합니다.

자주 쓰는 명령