반응형

[리눅스 기반 브릿지] 3. 브리지 및 라우터로 사용되는  machine

참조 : https://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html#section3

 

ebtables/iptables interaction on a Linux-based bridge

ebtables/iptables interaction on a Linux-based bridge 1. Introduction This document describes how iptables and ebtables filtering tables interact on a Linux-based bridge. Getting a bridging firewall on a 2.4.x kernel consists of patching the kernel source

ebtables.netfilter.org

IP 코드가 통과되는 부분입니다.

그림 3a. IP 코드 관문

다음은 iptables 패킷 탐색 방식입니다.

그림 3b. 라우팅 테이블(iptables) 탐색 프로세스

iptables NAT OUTPUT 체인은 라우팅 결정 후에 위치합니다. 이 부분은  DNAT에 대해 너무 늦습니다. IP 패킷이 DNAT된 경우 경로를 다시 지정하여 해결됩니다. 이것은 Linux 커널의 표준 동작입니다.

 

그림 3a와 3b는 iptables 체인이 IP 후크에 연결된 위치를 명확하게 보여줍니다. 브릿지 코드와 netfilter가 커널에서 활성화되면 iptables 체인도 브리징 코드의 후크에 연결됩니다. 그러나 이것이 더 이상 표준 IP 코드 후크에 연결되지 않는다는 의미는 아닙니다. 브리징 코드와 접촉하는 IP 패킷의 경우 br-nf 코드는 iptables 체인이 통과할 네트워크 코드의 위치를 ​​결정합니다. 분명히 동일한 패킷이 체인을 두 번 통과하지 않는다는 것이 보장됩니다. 브리지 코드와 접촉하지 않는 모든 패킷은 그림 3b와 같이 표준 방식으로 iptables 체인을 통과합니다.

단일 IP 패킷/프레임이 NAT PREROUTING, FILTER INPUT, NAT OUTPUT, FILTER OUTPUT 및 NAT POSTROUTING ebtables 체인을 통과하는 것을 볼 수 있습니다.

 

이것은 브리지가 라우터로도 사용될 때 발생할 수 있습니다. 해당 IP 패킷을 포함하는 이더넷 프레임은 브리지의 대상 MAC 주소를 가지지만 목적지 IP 주소는 브리지의 주소가 아닙니다. iptables 체인을 포함하여 다음은 IP 패킷이 브리지/라우터를 통해 실행되는 방식입니다.

 

그림 3. 브리지/라우터는 패킷을 브리지 인터페이스로 라우팅함

이것은 라우팅 결정이 패킷을 브리지 인터페이스로 보낸다고 가정합니다. 라우팅 결정이 패킷을 브릿지가 아닌 인터페이스로 보내는 경우 다음과 같은 현상이 발생합니다.

그림 3d. 브리지/라우터는 패킷을 브리지가 아닌 인터페이스로 라우팅

그림 3c와 3d는 IP 패킷이 브리지 포트에 도착했다고 가정합니다. 여기에서 분명히 "비대칭"인 것은 iptables PREROUTING 체인이 ebtables INPUT 체인보다 먼저 탐색되지만 기능을 희생하지 않고는 도움이 될 수 없다는 것입니다. 

반응형
반응형

[리눅스 기반 브릿지에서의 ebtables/iptables 상호 작용] 1. 소개

참조 : http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html#section1

 

ebtables/iptables interaction on a Linux-based bridge

ebtables/iptables interaction on a Linux-based bridge 1. Introduction This document describes how iptables and ebtables filtering tables interact on a Linux-based bridge. Getting a bridging firewall on a 2.4.x kernel consists of patching the kernel source

ebtables.netfilter.org

iptables와 ebtables 필터링 테이블이 Linux 기반 브리지에서 어떻게 상호 작용하는지 설명합니다.

 

Linux 커널 영역에서 사용되는 패킷 필터링 도구를 netfilter라고 합니다. 이 netfilter를 조작하기 위한 사용자 영역에서 사용되는 유틸리티는 iptables, ebtables, arptables 등이 있습니다. iptables는 시스템 관리자가 리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 영역의 응용 프로그램을 말합니다. ebtables는 이더넷 프레임(OSI 2계층) 관점에서 netfilter rule을 설정하는 사용자 영역의 응용 프로그램을 말합니다. iptables와 유사하지만 이더넷 프로토콜이 IP 프로토콜보다 훨씬 간단하기 때문에 덜 복잡합니다.

 

2.6 커널에는 ebtables 및 br-nf 코드가 포함되어 있는데, br-nf 코드는 브릿지된 IP 프레임/패킷이 iptables 체인을 통과하도록 합니다. Ebtables는 이더넷 계층에서 필터링하지만 iptables는 IP 패킷만 필터링합니다.

 

연재하는 리눅스 기반 브릿지에서의 ebtables/iptables 상호 작용에서는 TCP/IP 네트워크 모델을 사용합니다. br-nf 코드는 TCP/IP 네트워크 모델을 위반하기도 하는데, 예를 들어 Link Layer 내부에서 IP DNAT를 수행하는 것이 가능합니다.

 

 

 

<이더넷 프레임 관련 내용>

참조 : https://en.wikipedia.org/wiki/Ethernet_frame

 

Ethernet frame - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Protocol data unit of Ethernet telecommunications technologies In computer networking, an Ethernet frame is a data link layer protocol data unit and uses the underlying Ethernet physic

en.wikipedia.org

https://blog.naver.com/PostView.nhn?blogId=joo1020_kr&logNo=221471086900&parentCategoryNo=&categoryNo=29&viewDate=&isShowPopularPosts=false&from=postView 

 

이더넷 프레임(Ethernet Frame)의 개념

이더넷 프레임(Ethernet Frame)은 OSI 2계층인 데이터 링크 계층에서 사용되는 전송 메카니즘이다. 프...

blog.naver.com

반응형

+ Recent posts