예: 라우팅 엔진 보호를 위한 DHCP 방화벽 필터 구성
이 예는 적절한 DHCP 패킷이 MX 시리즈 라우터, MX 시리즈, M120 및 프로세스를 실행하는 jdhcpd M320 라우터의 라우팅 엔진에 도달할 수 있도록 방화벽 필터를 구성하는 방법을 보여줍니다.
요구 사항
이 구성 예는 DHCP 로컬 서버 및 DHCP 릴레이 에이전트 서비스가 레거시 dhcpd 프로세스 또는 fud(UDP 전달) 프로세스가 아닌 프로세스에 의해 jdhcpd제공되는 라우터에만 적용됩니다. MX 시리즈 라우터, M120 라우터 및 M320 라우터는 jdhcpd를 사용합니다. DHCP 릴레이는 계층 수준이 [edit forwarding-options dhcp-relay] 아닌 [edit forwarding-options helpers bootp] 계층 수준에서 구성해야 합니다.
이 기능을 구성하기 위해 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
라우팅 엔진에서 DHCP 패킷을 처리하는 방화벽 필터는 DHCP 서버 트래픽을 위한 UDP 포트 67(bootps)과 DHCP 클라이언트 트래픽을 위한 UDP 포트 68(bootpc)을 모두 적절히 고려해야 합니다. 이러한 포트는 DHCP 작업의 기본이며 방화벽 필터 구성에서 올바르게 처리되어야 합니다.
Junos OS는 관리자가 이해해야 하는 특정 DHCP 패킷 처리 동작을 나타냅니다. 패킷이 라인 카드에서 수신되면 jdhcpd 프로세스는 캡슐화를 수행하고 UDP 헤더를 수정하여 라우팅 엔진으로 포워딩하기 전에 소스 및 대상 포트를 모두 68로 설정합니다. 이러한 포트 재작성은 주니퍼 DHCP 구현의 중요한 측면입니다.
DHCP 릴레이 및 프록시 시나리오에서 트래픽 플로우는 특정 포트 패턴을 따릅니다. 서버로 이동하는 클라이언트 생성 패킷은 처음에 소스 포트 68 및 대상 포트 67을 사용합니다. 서버가 응답할 때 소스 및 대상 포트 67을 사용하지만, 라인 카드는 또 다른 수정을 수행하여 라우팅 엔진에 전달하기 전에 포트 68에 다시 씁니다.
이러한 동작은 방화벽에 중요한 영향을 미칩니다. 적절한 DHCP 작동을 보장하려면 포트 67과 68을 모두 허용하도록 방화벽 필터를 구성해야 합니다. 이 이중 포트 요구 사항은 원래 클라이언트 요청(포트 68에서 67 사용)과 다시 작성된 서버 응답(포트 67에서 68로 변환)을 모두 수용합니다. 필터는 이러한 유연성을 유지하여 모든 합법적인 DHCP 트래픽 시나리오를 처리하는 동시에 라우팅 엔진에 의도된 보호 기능을 제공해야 합니다.
이 예는 가능한 모든 구성 선택 사항을 보여주지 않으며 필터가 구성에 어떻게 적용되는지도 보여주지 않습니다. 이 예제는 필터의 정적 애플리케이션과 동적 프로파일이 있는 동적 애플리케이션 모두에 적용됩니다.
구성
절차
CLI 빠른 구성
샘플 라우팅 엔진 DHCP 필터를 신속하게 구성하기 위해 다음 명령을 복사하여 텍스트 파일에 붙여넣고 줄 바꿈을 제거한 다음 명령을 복사하여 CLI에 붙여넣습니다.
[edit] edit firewall family inet filter RE-protect edit term dhcp-client-accept set from source-address 0.0.0.0/32 set from destination-address 255.255.255.255/32 set from protocol udp set from source-port 68 set from destination-port [67 68] set then count dhcp-client-accept set then accept up edit term dhcp-server-accept set from protocol udp set from source-port 67 set from source-port 68 set from destination-port 67 set from destination-port 68 set then count dhcp-server-accept set then accept top
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 자세한 내용은 구성 모드에서 CLI 편집기 사용을 참조하십시오.
라우팅 엔진을 보호하기 위해 DHCP 방화벽 필터를 구성하는 방법:
방화벽 필터를 생성하거나 지정합니다.
[edit firewall] user@host# edit family inet filter RE-protect
클라이언트에 대한 필터 용어를 생성합니다.
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-client-accept
DHCP 패킷에 대한 일치 조건을 지정합니다.
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set from source-address 0.0.0.0/32 user@host# set from destination-address 255.255.255.255/32 user@host# set from protocol udp user@host# set from source-port 67 user@host# set from source-port 68 user@host# set from destination-port 67 user@host# set from destination-port 68
일치하는 패킷에 대해 수행할 작업을 지정합니다.
[edit firewall family inet filter RE-protect term dhcp-client-accept] user@host# set then count dhcp-client-accept user@host# set then accept
서버에 대한 필터 용어를 만듭니다.
[edit firewall family inet filter RE-protect] user@host# edit term dhcp-server-accept
DHCP 패킷에 대한 일치 조건을 지정합니다.
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set from protocol udp user@host# set from source-port [67 68] user@host# set from destination-port [67 68]
일치하는 패킷에 대해 수행할 작업을 지정합니다.
[edit firewall family inet filter RE-protect term dhcp-server-accept] user@host# set then count dhcp-client-accept user@host# set then accept
결과
구성 모드에서 show firewall 명령을 입력하여 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit]
user@host# show firewall
family inet {
filter RE-protect {
term dhcp-client-accept {
from {
source-address {
0.0.0.0/32;
}
destination-address {
255.255.255.255/32;
}
protocol udp;
source-port 68;
destination-port 67;
}
then {
count dhcp-client-accept;
accept;
}
}
term dhcp-server-accept {
from {
protocol udp;
source-port [ 67 68 ];
destination-port [ 67 68 ];
}
then {
count dhcp-server-accept;
accept;
}
}
}
}
디바이스 구성을 마쳤으면 구성 모드에서 commit을(를) 입력합니다.
검증
라우팅 엔진 DHCP 보호 필터가 DHCP 패킷을 제대로 전달하는지 확인하려면 다음 작업을 수행합니다.
DHCP 필터 작동 확인
목적
DHCP 트래픽이 라우팅 엔진으로 전달됨에 따라 두 카운터가 모두 증가하는지 확인합니다.
작업
운영 모드에서 show firewall family inet filter RE-protect 명령을 입력합니다.
user@host> show firewall family inet filter RE-protect Filter: RE-protect Counters: Name Bytes Packets dhcp-client-accept 328 1 dhcp-server-accept 574 1 user@host> show firewall family inet filter RE-protect Filter: RE-protect Counters: Name Bytes Packets dhcp-client-accept 660 2 dhcp-server-accept 1152 2
의미
출력에는 구성된 카운터 dhcp-client-accept 및 dhcp-server-accept가 모두 나열됩니다. 명령을 두 번 이상 실행하면 바이트 및 패킷 필드가 모두 트래픽이 수락되고 계산되고 있음을 표시하는 것을 볼 수 있습니다.