OnWorks Linux 및 Windows 온라인 워크스테이션

심벌 마크

워크스테이션용 무료 온라인 호스팅

<이전 | 내용 | 다음>

7.4.1. 넷필터 동작‌


Netfilter는 패킷에 대한 XNUMX가지 작업을 규제하는 규칙을 저장하는 XNUMX개의 개별 테이블을 사용합니다.

필터링 필터링 규칙(패킷 수락, 거부 또는 무시)에 관한 것입니다.

NAT (네트워크 주소 변환) 패킷의 소스 또는 대상 주소 및 포트 변환에 관한 것입니다.

압착 롤러 IP 패킷에 대한 다른 변경 사항(ToS 포함—서비스 유형— 필드 및 옵션);

살갗이 벗어 진 연결 추적 시스템에 도달하기 전에 패킷에 대한 다른 수동 수정을 허용합니다.

각 테이블에는 쇠사슬. 방화벽은 표준 체인을 사용하여 미리 정의된 상황에 따라 패킷을 처리합니다. 관리자는 표준 체인 중 하나(직접 또는 간접)에서 참조할 때만 사용되는 다른 체인을 만들 수 있습니다.

XNUMXD덴탈의 필터링 테이블에는 세 가지 표준 체인이 있습니다.

입력: 대상이 방화벽 자체인 패킷에 관한 것입니다.

출력: 방화벽에서 내보내는 패킷에 관한 것입니다.

앞으로: 방화벽(발신지도 목적지도 아님)을 통과하는 패킷에 관한 것입니다.

XNUMXD덴탈의 NAT 테이블에는 세 가지 표준 체인도 있습니다.

PREROUTING: 패킷이 도착하자마자 수정합니다.

POSTROUTING: 패킷이 이동할 준비가 되었을 때 패킷을 수정합니다.

출력: 방화벽 자체에서 생성된 패킷을 수정합니다.

이러한 체인은 그림 7.1, "Netfilter 체인이 호출되는 방식"에 설명되어 있습니다."[페이지 155].


영상


그림 7.1 방법 넷 필터 체인이 호출됨‌


각 체인은 규칙 목록입니다. 각 규칙은 일련의 조건과 조건이 충족될 때 수행할 작업입니다. 패킷을 처리할 때 방화벽은 적절한 체인을 한 규칙씩 스캔하고 한 규칙의 조건이 충족되면 점프합니다(따라서 -j 명령의 옵션) 처리를 계속하기 위해 지정된 조치로. 가장 일반적인 행동은 표준화되어 있으며 전용 조치가 존재합니다. 이러한 표준 작업 중 하나를 수행하면 패킷 운명이 이미 봉인되었기 때문에 체인 처리가 중단됩니다(아래에 언급된 예외 제외). 아래 목록은 넷 필터 행위.

동의: 패킷이 진행되도록 허용합니다.

받지 않다: ICMP(Internet Control Message Protocol) 오류 패킷이 있는 패킷을 거부합니다. --거부 유형 의 옵션 iptables에 보낼 오류 유형을 결정합니다).

DROP: 패킷을 삭제(무시)합니다.

LOG: 로그(통해 syslogd) 패킷에 대한 설명이 있는 메시지. 이 작업은 처리를 중단하지 않으며 다음 규칙에서 체인 실행이 계속되므로 거부된 패킷을 기록하려면 LOG 및 REJECT/DROP 규칙이 모두 필요합니다. 로깅과 관련된 일반적인 매개변수는 다음과 같습니다.

- --로그 수준, 기본값 사용 경고, 나타냅니다 syslog 심각도 수준.

- --로그 접두사 기록된 메시지를 구분하기 위해 텍스트 접두사를 지정할 수 있습니다.

- --log-tcp-sequence, --log-tcp-options 및 --log-ip-options는 각각 TCP 시퀀스 번호, TCP 옵션 및 IP 옵션과 같이 메시지에 통합할 추가 데이터를 나타냅니다.

ULOG: 다음을 통해 메시지를 기록합니다. ulogd,보다 더 잘 적응하고 더 효율적일 수 있습니다. syslogd 많은 수의 메시지를 처리하기 위해; 이 작업은 LOG와 마찬가지로 호출 체인의 다음 규칙으로 처리를 되돌립니다.

체인_이름: 주어진 체인으로 점프하고 그 규칙을 평가합니다.

RETURN: 현재 체인의 처리를 중단하고 호출 체인으로 돌아갑니다. 현재 체인이 표준 체인인 경우 호출 체인이 없으므로 기본 동작( -P ~에 대한 옵션 iptables에) 대신 실행됩니다.


SNAT (에서만 NAT 테이블): 적용 소스 네트워크 주소 변환 (SNAT). 추가 옵션은 다음을 포함하여 적용할 정확한 변경 사항을 설명합니다. --소스로 주소:포트 새 소스 IP 주소 및/또는 포트를 정의하는 옵션.


DTA (에서만 NAT 테이블): 적용 대상 네트워크 주소 변환 (DNAT). 추가 옵션은 다음을 포함하여 적용할 정확한 변경 사항을 설명합니다. --to-목적지 주소:포트 새 대상 IP 주소 및/또는 포트를 정의하는 옵션입니다.


가장 무도회 (에서만 NAT 테이블): 적용 가장 한 (특별한 경우 소스 NAT).


리디렉션 (에서만 NAT 표): 패킷을 방화벽 자체의 지정된 포트로 투명하게 리디렉션합니다. 이것은 통신이 실제로 프록시를 통과하는 반면 클라이언트는 수신자에게 연결된다고 생각하기 때문에 클라이언트 측에서 구성 없이 작동하는 투명한 웹 프록시를 설정하는 데 사용할 수 있습니다. 그만큼 --to-포트 포트 옵션은 패킷이 리디렉션되어야 하는 포트 또는 포트 범위를 나타냅니다.


기타 조치, 특히 다음과 관련된 조치 압착 롤러 이 텍스트의 범위를 벗어납니다. 그만큼 iptables(8) IP6테이블(8) 매뉴얼 페이지에는 포괄적인 목록이 있습니다.



ICMP 란 무엇입니까? 인터넷 제어 메시지 프로토콜 (ICMP)는 통신에 대한 보조 정보를 전송하는 데 사용되는 프로토콜입니다. 다음과의 네트워크 연결을 테스트합니다. ICMP를 보내는 명령 에코 요청 수신자가 ICMP로 응답해야 하는 메시지 에코 답장 메시지. 방화벽에 패킷 거부 신호를 보내고 수신 버퍼의 오버플로를 나타내며 연결의 다음 패킷에 대한 더 나은 경로를 제안하는 등의 작업을 수행합니다. 이 프로토콜은 여러 RFC 문서에 정의되어 있습니다. RFC777 및 RFC792가 처음이었지만 다른 많은 사람들이 프로토콜을 확장 및/또는 수정했습니다.

http://www.faqs.org/rfcs/rfc777.html

http://www.faqs.org/rfcs/rfc792.html

참고로 수신 버퍼는 네트워크에서 데이터가 도착하는 시점과 커널이 처리하는 시점 사이에 데이터를 저장하는 작은 메모리 영역입니다. 이 영역이 가득 차면 새 데이터를 수신할 수 없으며 ICMP에 문제 신호를 보내 방출기가 전송 속도를 늦출 수 있도록 합니다(이상적으로는 일정 시간이 지나면 평형에 도달해야 함).

IPv4 네트워크는 ICMP 없이도 작동할 수 있지만 IPv6 네트워크에는 ICMPv6이 엄격하게 필요합니다. 인터넷 그룹 멤버십 프로토콜 (IGMP) 및 주소 확인 프로토콜 (ARP). ICMPv6은 RFC4443에 정의되어 있습니다.

http://www.faqs.org/rfcs/rfc4443.html

ICMP 란 무엇입니까? 인터넷 제어 메시지 프로토콜 (ICMP)는 통신에 대한 보조 정보를 전송하는 데 사용되는 프로토콜입니다. 다음과의 네트워크 연결을 테스트합니다. ICMP를 보내는 명령 에코 요청 수신자가 ICMP로 응답해야 하는 메시지 에코 답장 메시지. 방화벽에 패킷 거부 신호를 보내고 수신 버퍼의 오버플로를 나타내며 연결의 다음 패킷에 대한 더 나은 경로를 제안하는 등의 작업을 수행합니다. 이 프로토콜은 여러 RFC 문서에 정의되어 있습니다. RFC777 및 RFC792가 처음이었지만 다른 많은 사람들이 프로토콜을 확장 및/또는 수정했습니다.

http://www.faqs.org/rfcs/rfc777.html

http://www.faqs.org/rfcs/rfc792.html

참고로 수신 버퍼는 네트워크에서 데이터가 도착하는 시점과 커널이 처리하는 시점 사이에 데이터를 저장하는 작은 메모리 영역입니다. 이 영역이 가득 차면 새 데이터를 수신할 수 없으며 ICMP에 문제 신호를 보내 방출기가 전송 속도를 늦출 수 있도록 합니다(이상적으로는 일정 시간이 지나면 평형에 도달해야 함).

IPv4 네트워크는 ICMP 없이도 작동할 수 있지만 IPv6 네트워크에는 ICMPv6이 엄격하게 필요합니다. 인터넷 그룹 멤버십 프로토콜 (IGMP) 및 주소 확인 프로토콜 (ARP). ICMPv6은 RFC4443에 정의되어 있습니다.

http://www.faqs.org/rfcs/rfc4443.html

OnWorks의 최고 OS 클라우드 컴퓨팅: