Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.15.3. rich Rule 명령 옵션 이해

제품군
규칙 제품군( ipv4 또는 ipv 6)이 제공되는 경우 규칙을 각각 IPv4 또는 IPv6 로 제한합니다. 규칙 제품군이 제공되지 않으면 IPv4IPv6 모두에 대한 규칙이 추가됩니다. 규칙에서 소스 또는 대상 주소를 사용하는 경우 규칙 제품군을 제공해야 합니다. 이는 포트 전달의 경우에도 마찬가지입니다.

소스 및 대상 주소

소스
소스 주소를 지정하면 연결 시도의 원본을 소스 주소로 제한할 수 있습니다.By specifying the source address, the origin of a connection attempt can be limited to the source address. 소스 주소 또는 주소 범위는 IPv4 또는 IPv6 용 마스크가 있는 IP 주소 또는 네트워크 IP 주소입니다. IPv4 의 경우 마스크는 네트워크 마스크 또는 일반 번호일 수 있습니다. IPv6 의 경우 마스크는 일반 번호입니다. 호스트 이름 사용은 지원되지 않습니다. NOT 키워드를 추가하여 소스 주소 명령의 감각을 반전할 수 있습니다. 제공된 주소는 모두 일치합니다.
규칙에 대해 지정되지 않은 경우 MAC 주소 및 hash:mac 유형의 IP 세트도 IPv4IPv6 에 대해 추가할 수 있습니다. 다른 IP 세트는 규칙의 제품군 설정과 일치해야 합니다.
대상
대상 주소를 지정하면 대상을 대상 주소로 제한할 수 있습니다. 대상 주소는 IP 주소 또는 주소 범위의 소스 주소와 동일한 구문을 사용합니다. 소스 및 대상 주소 사용은 선택 사항이며 모든 요소에서 대상 주소를 사용할 수 없습니다. 이는 대상 주소 사용에 따라 달라집니다(예: 서비스 항목에서). 대상조치를 결합할 수 있습니다.

elements

요소는 서비스, 포트 ,프로토콜,masquerade,icmp-block,forward-port , source-port 등 요소 유형 중 하나일 수 있습니다.
service
service 요소는 firewalld 제공 서비스 중 하나입니다. 사전 정의된 서비스 목록을 가져오려면 다음 명령을 입력합니다.
~]$ firewall-cmd --get-services
서비스에서 대상 주소를 제공하는 경우 규칙의 대상 주소와 충돌하여 오류가 발생합니다. 내부적으로 대상 주소를 사용하는 서비스는 대부분 멀티 캐스트를 사용하는 서비스입니다. 명령은 다음 형식을 사용합니다.
service name=service_name
port
포트 요소는 단일 포트 번호 또는 포트 범위 (예: 5060-50 62) 중 하나이거나 프로토콜을 tcp 또는 udp 일 수 있습니다. 명령은 다음 형식을 사용합니다.
port port=number_or_range protocol=protocol
프로토콜
protocol 값은 프로토콜 ID 번호 또는 프로토콜 이름일 수 있습니다. 허용된 프로토콜 항목에 대해서는 /etc/protocols 를 참조하십시오. 명령은 다음 형식을 사용합니다.
protocol value=protocol_name_or_ID
icmp-block
하나 이상의 ICMP 유형을 차단하려면 이 명령을 사용합니다. ICMP 유형은 firewalld 가 지원하는 ICMP 유형 중 하나입니다. 지원되는 ICMP 유형 목록을 가져오려면 다음 명령을 입력합니다.
~]$ firewall-cmd --get-icmptypes
여기서 작업을 지정하는 것은 허용되지 않습니다. icmp-block 은 내부적으로 거부되는 작업을 사용합니다. 명령은 다음 형식을 사용합니다.
icmp-block name=icmptype_name
masquerade
규칙에서 IP 마스커레이딩을 켭니다. 이 영역으로 마스커레이딩을 제한하기 위해 소스 주소를 제공할 수 있지만 대상 주소는 제공할 수 없습니다. 여기서 작업을 지정할 수 없습니다.
forward-port
tcp 또는 udp 로 지정된 프로토콜을 사용하여 로컬 포트에서 로컬 포트, 다른 시스템 또는 다른 시스템의 다른 포트로 패킷을 전달합니다. 포트 및 포트 는 단일 포트 번호 또는 포트 범위일 수 있습니다. 대상 주소는 간단한 IP 주소입니다. 여기서 작업을 지정할 수 없습니다. forward-port 명령은 내부적으로 수락하는 작업을 사용합니다. 명령은 다음 형식을 사용합니다.
forward-port port=number_or_range protocol=protocol /
            to-port=number_or_range to-addr=address
source-port
패킷의 소스 포트, 즉 연결 시도의 시작에 사용되는 포트와 일치합니다. 현재 머신의 포트를 일치시키려면 port 요소를 사용합니다. 소스 포트 요소는 단일 포트 번호 또는 포트 범위 (예: 5060-5062) 및 프로토콜을 tcp 또는 udp 일 수 있습니다. 명령은 다음 형식을 사용합니다.
source-port port=number_or_range protocol=protocol

로깅

log
syslog에서 커널 로깅을 사용하여 규칙을 새 연결 시도를 기록합니다. 로그 메시지에 접두사로 추가할 접두사 텍스트를 정의할 수 있습니다. 로그 수준은 emerg,alert,crit,error,warning,notice,info, debug 중 하나일 수 있습니다. 로그 사용은 선택 사항입니다. 다음과 같이 로깅을 제한할 수 있습니다.
log [prefix=prefix text] [level=log level] limit value=rate/duration
이 비율은 s,m,h,d 를 가진 자연 양의 양의 수 [1, ..]입니다.s means seconds, m minutes, h means hours, d days. 최대 제한 값은 1/d 이며, 이는 하루에 최대 1개의 로그 항목을 의미합니다.
audit
audit은 service auditd 로 전송된 감사 레코드를 사용하여 로깅하는 다른 방법을 제공합니다. 감사 유형은 ACCEPT,REJECT 또는 DROP 중 하나일 수 있지만, 감사 유형이 규칙 작업에서 자동으로 수집되므로 명령 감사 후에는 지정하지 않습니다. 감사에는 자체 매개 변수가 없지만 필요에 따라 제한을 추가할 수 있습니다. audit을 사용하는 것은 선택 사항입니다.

동작

accept|reject|drop|mark
작업은 수락,거부,삭제 또는 표시 중 하나일 수 있습니다. 규칙에는 요소 또는 소스만 포함할 수 있습니다. 규칙에 요소가 포함된 경우 요소와 일치하는 새 연결이 작업과 함께 처리됩니다. 규칙에 소스가 포함된 경우 지정된 작업을 사용하여 소스 주소의 모든 내용이 처리됩니다.
accept | reject [type=reject type] | drop | mark set="mark[/mask]"
accept 를 사용하면 모든 새 연결 시도가 부여됩니다. 거부 된 경우 해당 소스가 거부된 메시지를 받게 됩니다. 거부 유형은 다른 값을 사용하도록 설정할 수 있습니다. 드롭 다운 을 사용하면 모든 패킷이 즉시 삭제되고 정보가 소스로 전송되지 않습니다. 마크 를 모두 지정하면 모든 패킷이 지정된 마크 와 선택적 마스크 로 표시됩니다.