iptables의 mangle 테이블은 무엇입니까?


28

우분투 서버에서 패킷을 필터링하고 조작하기 위해 iptable 규칙을 사용하고 있습니다. 그러나 맹글 테이블을 이해할 수 없습니다.

이 iptables 튜토리얼 에서 인용 :

이미 언급했듯이이 테이블은 주로 패킷을 관리하는 데 사용됩니다. 즉, TOS (Type Of Service) 필드 등을 변경하는 데 사용할 수있는 mangle match 등을 자유롭게 사용할 수 있습니다.

필터링에이 테이블을 사용하지 않는 것이 좋습니다. DNAT, SNAT 또는 Masquerading도이 표에서 작동하지 않습니다.

아무도 mangle 테이블을 설명하고 언제 사용 해야하는지 이해할 수있는 예를 제공 할 수 있습니까?


6
iptables(8)매뉴얼 페이지 압착 롤러 테이블 사용의 몇 가지 좋은 예제를 포함하여 원하는 정보를 모두 가지고있다.
Michael Hampton

답변:


23

다른 좋은 답변에 덧붙여, 최근에는 Mangle 테이블을 사용하여 PPPoE, PPP 및 ATM을 통해 전송되는 트래픽으로 인한 MTU (최대 전송 단위) 불일치를 조정해야했습니다. 각각 IP에 사용 가능한 페이로드를 줄이는 오버 헤드가 추가되었습니다. 이더넷 프레임의 일반적인 1500 바이트부터

일반적으로 파이프의 양쪽 끝에있는 시스템은 기본 기본값 인 1500을 사용하여 MTU를 가지므로 IP 프레임을 큰 크기로 보내려고합니다. 사용 가능한 실제 페이로드 크기가 더 작기 때문에 송신자가 패킷 조각화를 요청하지 않고 결국 완전히 삭제되는 경우를 제외하고는 패킷 조각화가 발생했습니다.

이상적인 세계에서 경로 MTU 검색은 엔드 포인트가 필요에 따라 MTU를 조정하도록 허용했을 것입니다. 그러나이 검색은 ICMP에 따라 다르며, 통제 할 수없는 네트워크는 종종 보안상의 이유로 ICMP를 삭제하도록 구성되었습니다.

유일한 선택은 전송 레이어에서 최대 세그먼트 크기를 낮추기 위해 TCP SYN 패킷을 수정하기 위해 라우터에서 패킷 처리를 사용하는 것입니다.

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452

이런 종류의 일은 지저분하고 이상적으로 피해야하지만 다른 옵션은 없었으므로 문제가 해결되었습니다.

이 예제와 매뉴얼 페이지가 도움이 되길 바랍니다.


23

최근에 좋은 설명을 찾았 습니다 . 기본적으로 IP 패킷이 특정 라우팅 결정에 영향을 미치도록 특정 헤더를 설정하는 데 사용됩니다. 있다면 TTL 옵션이 가장 흥미로울 것입니다.

TTL 대상은 패킷의 TTL (Time To Live) 필드를 변경하는 데 사용됩니다. 패킷에 특정 TTL 등 만 갖도록 지시 할 수 있습니다. 이것에 대한 좋은 이유 중 하나는 코가 인터넷 서비스 제공 업체에 자신을 포기하고 싶지 않기 때문입니다. 일부 인터넷 서비스 제공 업체는 단일 연결에서 여러 컴퓨터를 실행하는 사용자를 좋아하지 않으며, 다른 TTL 값을 생성하는 단일 호스트를 찾고이를 단일 컴퓨터에 연결된 여러 컴퓨터의 여러 징후 중 하나로 간주하는 것으로 알려진 일부 인터넷 서비스 제공 업체가 있습니다 연결.

다른 목표는 TOS, MARK, SECMARK, CONNSECMARK입니다.


4
Mangle은 또한 QOS에서 패킷 표시를 처리하거나 데이터로드 분배에서 패킷을 다른 경로로 분배하는 데 사용됩니다.
TomTom

8

iptables 멍청한 말로, mangle 테이블을 사용하면 패킷 헤더의 일부 특수 항목을 수정할 수 있습니다. (예 : 서비스 유형, TTL (Time To Live)) (특별 표시 및 보안 컨텍스트 표시를 설정할 수도 있음)


2

iptables에 대한 자습서는 이해하기 어렵지만 심도 깊은 다이빙이 있습니다 .

맹글 테이블은 다양한 방식으로 패킷의 IP 헤더를 변경하는 데 사용됩니다. 예를 들어, 패킷의 TTL (Time to Live) 값을 조정하여 패킷이 유지할 수있는 유효한 네트워크 홉 수를 늘리거나 줄일 수 있습니다. 다른 IP 헤더도 비슷한 방식으로 변경할 수 있습니다.

이 테이블은 다른 테이블과 다른 네트워킹 도구에서 추가 처리를 위해 패킷에 내부 커널 "마크"를 배치 할 수도 있습니다. 이 마크는 실제 패킷을 건드리지 않지만 커널의 패킷 표현에 마크를 추가합니다.

모든 부품이 서로 잘 맞고 서로 어떻게 상호 작용하는지 명확하게 설명하기 때문에 많은 도움이되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.