MX-SPC3에서 적응형 서비스와 차세대 서비스 간의 구성 차이
개요
MX-SPC3의 차세대 서비스를 사용하려면 MS 유형 카드(MS-MPC, MS-MIC 및 MS-DPC)에서 실행되는 Adaptive Services와 다른 방식으로 서비스를 구성해야 합니다. MX-SPC3 서비스 카드를 구성하는 것은 SRX 시리즈 서비스 게이트웨이를 구성하는 방법과 더 밀접하게 일치합니다. 이 보다 통합된 접근 방식에 익숙해지면 이 두 플랫폼에서 보다 원활한 방식으로 서비스를 구성할 수 있어야 하며, 이를 통해 궁극적으로 교육 오버헤드를 줄이고 구성 오류의 위험을 낮출 수 있습니다.
CLI의 차이 외에도 멀티서비스(MS) 유형(MS-DPC, MS-MPC 및 MS-MIC) 카드와 MX-SPC3 서비스 카드 간의 기본 하드웨어 차이를 알고 있어야 합니다. MS 유형 카드에는 4개의 CPU 컴플렉스가 포함되어 있는 반면 MX-SPC3 카드에는 더 강력하지만 2개의 CPU 컴플렉스가 포함되어 있습니다. 각 CPU 콤플렉스는 단일 PIC를 서비스합니다. 즉, MS 유형 카드는 4개의 PIC를 지원하는 반면 MX-SPC3은 2개의 PIC를 지원합니다. MS 유형 카드는 특수 멀티서비스(MS) 및 적응형 서비스(AS) PIC를 사용하는 반면, MX-SPC3 카드의 PIC는 통합됩니다.
PIC 수는 인터페이스 수에 직접적인 영향을 미치므로(표 1), MX-SPC3의 각 인터페이스에 논리 단위를 추가하여 인터페이스 수를 4개로 늘려야 할 수도 있습니다. 예를 들어, 현재 MS 유형 카드에서 4개의 인터페이스를 모두 사용하고 인터페이스당 서비스 세트가 있는 경우, MX-SPC3에서 인터페이스당 2개의 논리 장치를 생성하여 총 인터페이스 수를 4개로 만든 다음 4개의 서비스 세트를 이 4개의 논리 인터페이스에 다시 연결할 수 있습니다.
MS 카드 |
MX-SPC3 시리즈 |
|
---|---|---|
CPU 컴플렉스 수 |
4 |
2 |
CPU 컴플렉스당 PIC 수 |
1 |
1 |
PIC당 인터페이스 수 |
1 |
1 |
카드의 총 인터페이스 수 |
4 |
2 |
메모:
MX-SPC3 하드웨어에 대한 자세한 내용은 MX 시리즈 5G 유니버설 라우팅 플랫폼 인터페이스 모듈 참조 를 참조하십시오. |
다음 섹션에서는 MS 유형 카드의 서비스와 MX-SPC3 카드의 서비스 간의 기본 구성 차이점에 대한 개요를 제공합니다. 이러한 섹션의 목적은 기본 예제를 사용하여 주요 변경 사항을 설명함으로써 시작하는 데 도움을 주는 것입니다. 이 예시는 CLI 구성 옵션의 하위 집합을 보여주며, 라우팅 디바이스용 차세대 서비스 인터페이스 사용자 가이드 및 Junos OS CLI 참조 가이드에 나와 있는 주제에 대한 보다 공식적인 처리를 대체하지는 않습니다.
이 섹션의 구성 예가 나란히 제시되어 있으므로 둘 사이의 차이점을 쉽게 확인할 수 있습니다. 이 예제는 MX-SPC3에서 기존 MS 유형 카드 기능을 구성하는 방법을 보여주기 위한 것입니다. 이 예제는 MX-SPC3에서만 볼 수 있는 새로운 기능을 구성하는 방법을 보여주기 위한 것이 아닙니다. 가독성과 비교의 용이성을 위해 제시된 문의 순서는 CLI에 표시되는 실제 문의 순서와 약간 다를 수 있습니다.
기존 적응형 서비스 집합이 많은 경우 이러한 변경 사항이 불편할 수 있음을 알고 있습니다. MS 유형 카드에서 MX-SPC3으로 마이그레이션하는 데 도움이 되도록 다음과 같이 진행하는 것이 좋습니다.
이 가이드의 예제를 통해 필요한 변경 사항을 전체적으로 볼 수 있습니다.
기술 자료 문서 KB35348에서 일련의 구성 예를 살펴보십시오.
이 가이드와 Junos OS CLI 참조 가이드를 통해 모든 기능, 구성 옵션, 구문을 이해하십시오.
마이그레이션에 대한 도움이 필요하면 JTAC에 문의하십시오.
MS 유형 카드에서 적응형 서비스를 계속 실행하는 경우 이러한 컨피그레이션을 변경할 필요가 없습니다. 그러나 라우터에 MX-SPC3을 구축한 후에는 해당 라우터의 모든 MS 유형 카드를 교체하고 차세대 서비스 구성 패러다임에 맞게 서비스를 재구성해야 합니다.
인터페이스
MS 유형 카드는 인터페이스 명명 규칙을 ms-1/0/0
사용하는 반면, 사용자는 가상 멀티서비스 또는 vms-1/0/0
인터페이스 명명 규칙을 사용하여 MX-SPC3 인터페이스를 지정합니다. 및 mams
인터페이스의 ams
이름은 변경되지 않습니다.
또한 인터페이스에서 ms
아래에 services-options
구성된 여러 매개 변수는 서비스 집합에서 아래에 service-set-options
구성됩니다.
표 2 는 이러한 변경의 예를 보여줍니다.
MS 유형 카드 |
MX-SPC3 시리즈 |
---|---|
[edit interfaces] ms-5/1/0 { <...> } |
[edit interfaces] # Change interface name to vms. vms-5/1/0 { <...> } |
[edit interfaces] ms-5/1/0 { services-options { open-timeout 40; close-timeout 40; inactivity-tcp-timeout 10; inactivity-asymm-tcp-timeout 10; tcp-tickles 8; ignore-errors tcp; } } |
[edit services] service-set sset1 { service-set-options { # Set tcp parameters under tcp-session. tcp-session { open-timeout 40; close-timeout 40; inactivity-tcp-timeout 10; inactivity-asymm-tcp-timeout 10; tcp-tickles 8; ignore-errors tcp; } } } |
[edit interfaces] ms-5/1/0 { services-options { inactivity-non-tcp-timeout 40; session-timeout 10; } } |
[edit services] service-set sset1 { # Set non-tcp parameters directly under # service-set-options. service-set-options { inactivity-non-tcp-timeout 40; session-timeout 10; } } |
[edit interfaces] ms-5/1/0 { services-options { fragment-limit 10; reassembly-timeout 5; } } |
[edit interfaces] vms-5/1/0 { services-options { fragment-limit 10; reassembly-timeout 5; } } |
[edit interfaces] ms-5/1/0 { services-options { session-limit { maximum 100; cpu-load-threshold 12; rate 10; } } } |
[edit services] # Maximum number of sessions can be # specified per service-set. service-set sset1 { service-set-options { session-limit { maximum 100; } } } [edit interfaces] # All session-limit parameters continue to be # configurable per interface. If the maximum # number of sessions is different from the associated # service-set, the smaller number takes effect. vms-5/1/0 { services-options { session-limit { maximum 100; cpu-load-threshold 12; rate 10; } } } |
[edit interfaces] ms-5/1/0 { services-options { pba-interim-logging-interval 10; } } |
[edit interfaces] # Set interim-logging-interval under the nat branch. nat { source { pool src-pool { port { block-allocation { interim-logging-interval 10; } } } |
[edit interfaces] ms-5/1/0 { services-options { syslog { host { <...> } } } } |
을 참조하십시오 |
[edit interfaces] ms-5/1/0 { services-options { syslog { message-rate-limit 10; } } } |
[edit services] service-set sset1 { syslog { event-rate 10; } } |
[edit interfaces] ms-5/1/0 { services-options { ignore-errors alg; disable-global-timeout-override; trio-flow-offload { minimum-bytes 1000; } } } |
지원되지 않음 |
서비스 세트
표 3 은 일부 service-set
매개변수가 구성되는 방식에 대한 사소한 변경 사항을 보여줍니다.
MS 유형 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] service-set sset1 { tcp-mss 1460; service-set-options { tcp-non-syn drop-flow-send-rst; tcp-fast-open drop; } } |
[edit services] service-set sset1 { service-set-options { # Set tcp parameters under tcp-session. tcp-session { tcp-mss 1460; tcp-non-syn drop-flow-send-rst; tcp-fast-open drop; } } } |
[edit services] service-set sset1 { replicate-services { replication-threshold 180; } } |
[edit interfaces] # Set replication-threshold on the interface. vms-5/1/0 { redundancy-options { replication-threshold 180; } } |
[edit services] service-set sset1 { syslog { host 10.1.1.1 { port 514; } } } |
[edit services] service-set sset1 { syslog # Process security logs in the dataplane. mode stream; stream s1 { # Specify host to send security logs to. host { 10.1.1.1; port 514; } } } } |
[edit services] service-set sset1 { syslog { host local; } } |
[edit services] service-set sset1 { syslog # Process security logs in the control plane, # saving logs to local file specified by rtlog. mode event; } } rtlog { traceoptions { # Specify filename for logs. file rtlog size 1g; flag all; } } |
[edit services] service-set sset1 { service-order <...> } |
서비스 순서는 고정되어 있습니다. |
[edit services] service-set sset1 { sampling-service <...> } |
J-Flow 로깅은 인라인으로 지원됩니다. |
[edit services] service-set sset1 { tag-rule-sets <...> tag-rules <...> hcm-profile <...> hcm-url-rule-sets <...> hcm-url-rules <...> service-set-options { bypass-traffic-on-pic-failure; } } |
현재 지원되지 않음 |
스테이트풀 방화벽
규칙 및 정책
MX-SPC3의 스테이트풀 방화벽 규칙은 MS 유형 카드의 서비스에 대한 스테이트풀 방화벽 규칙과 약간 다르게 구성되어 있습니다. MX-SPC3에서는 규칙을 래퍼 안에 policies
동봉하고, 규칙 내에 포함된 에서 policy
규칙에 대한 일치 용어와 작업을 정의합니다.
MS 유형 카드의 상태 저장 방화벽 서비스와 마찬가지로, 서비스 집합을 생성하여 인터페이스를 규칙 집합과 연결합니다. 규칙 집합에는 하나 이상의 규칙에 대한 참조가 포함되어 있습니다. 규칙은 일치가 발생하고 조치가 수행될 때까지 나열한 순서대로 순차적으로 적용됩니다.
각 규칙에는 하나 이상의 일치 용어 및 작업 쌍이 포함됩니다. MX-SPC3에서는 일치 조건 및 조치의 각 쌍을 정책이라고 합니다. 정책은 일치가 발생하고 조치가 수행될 때까지 지정한 순서대로 순차적으로 적용됩니다.
표 4 에는 MS 카드와 MX-SPC3의 스테이트풀 방화벽 규칙 간의 구성 차이점이 나와 있습니다. 특히 /deny
/reject
작업에 대한 다른 정의에 유의하십시오permit
.
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set s1 { stateful-firewall-rule-sets rule-set-basic-sfw; interface-service { service-interface ms-1/1/0; } } |
service-set s1 { policies stateful-firewall-rule-sets rule-set-basic-sfw; interface-service { service-interface vms-1/1/0; } } |
stateful-firewall { |
# Enclose stateful firewall rules within the policies wrapper. policies { |
rule Rule1 { match-direction input; term ping-https-apps { from { source-address { any } destination-address { any } applications [junos-icmp-ping junos-https]; } then { accept/reject/discard skip-ids; syslog; } } term accept { then { accept; } } } # end Rule1 |
policies stateful-firewall-rule Rule1 { match-direction input; # Define match terms and actions in a policy. policy ping-https-apps { # Unlike the from statement, the match statement (and # source-address, destination-address, and application) # are mandatory. match { source-address any; destination-address any; application [ junos-icmp-ping junos-https ]; } then { # permit = allow # deny = silently drop # reject = drop and send ICMP unreachable or TCP RST permit/deny/reject # skip-ids is not supported. One possible way of # achieving this same goal is to create two # service-sets, one with IDS and one without IDS, # and route your next-hop-service # traffic to the desired service set via the associated # inside or outside interface. log; } } policy accept { match { source-address any; destination-address any; application any; } then { permit; } } } # end Rule1 |
rule Rule2 { match-direction output; term local { from { source-address { 10.1.3.2/32; } application-sets APPL-SET1; } then { accept; } } } # end Rule2 |
policies stateful-firewall-rule Rule2 { match-direction output; policy local { match { source-address 10.1.3.2/32; destination-address any; # application can refer to an application set. application APPL-SET1; } then { permit; } } } # end Rule2 |
rule-set rule-set-basic-sfw { rule Rule1; rule Rule2; } } # end stateful-firewall |
# Use the stateful-firewall-rule-set element to list the # firewall rules in the order that you want them applied. stateful-firewall-rule-set rule-set-basic-sfw { stateful-firewall-rule Rule1; stateful-firewall-rule Rule2; } } # end policies |
주소 목록 및 범위
스테이트풀 방화벽 규칙에는 주소 범위 및 목록을 참조하는 일치 용어가 포함될 수 있습니다.
MS 카드에서 및 요소를 사용하여 source-address-range
주소 범위를 지정하고 prefix-list
아래의 policy-options
요소를 사용하여 주소 목록을 destination-address-range
지정합니다. 이 prefix-list
요소는 상태 저장 방화벽 규칙에만 사용할 수 없습니다. 또한 요소를 사용하여 prefix-list
라우팅 정책 내에서 사용할 주소 목록을 지정할 수 있습니다.
MX-SPC3 prefix-list
에서 요소는 스테이트풀 방화벽 규칙에 사용되지 않습니다. 언더 services
를 address-book
사용하여 스테이트풀 방화벽 규칙 내에서 사용할 주소 목록과 범위를 정의할 수 있습니다. prefix-list
요소는 여전히 존재하지만 라우팅 정책에만 사용됩니다. 따라서 상태 저장 방화벽 규칙에 대한 주소 목록과 라우팅 정책에 대한 주소 목록을 지정하는 경우 및 prefix-list
요소를 모두 address-book
구성해야 합니다.
표 5 에는 MS 카드와 MX-SPC3의 스테이트풀 방화벽 규칙에 대한 주소 지정 방법의 차이점이 나와 있습니다.
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit] policy-options { prefix-list p1 { 10.1.22.45/32; 192.168.0.11/32; } } [edit services] stateful-firewall { rule sfw-rule { match-direction input; term banned-addresses { from { source-prefix-list { p1; } source-address-range { low 10.1.22.100 high 10.1.22.109; } } then { reject; syslog; } } <...> |
[edit services] # Define address lists and address ranges in an address book. address-book { global { address-set p1 { address p1-a; address p1-b; } address p1-a 10.1.22.45/32; address p1-b 192.168.0.11/32; address p2 { address-range 10.1.22.100/32 { to { 10.1.22.109/32; } } } } } # end address-book policies { stateful-firewall-rule sfw-rule { match-direction input; policy banned-addresses { match { # Refer to the addresses defined in the address book. source-address [ p1 p2 ]; destination-address any; application any; } then { deny; log; } <...> |
응용 프로그램
MX-SPC3는 MS 카드보다 더 많은 빌트인 Junos 애플리케이션을 지원합니다. 상태 저장 방화벽 규칙을 만들 때 이러한 기본 제공 애플리케이션을 일치시킬 수 있습니다.
내장 애플리케이션의 전체 목록을 보려면 구성 모드 명령을 사용하십시오 show groups junos-defaults applications
. 예를 들어:
[edit] # show groups junos-defaults applications | match junos application junos-ftp { application junos-ftp-data { application junos-tftp { application junos-twamp { application junos-rtsp { application junos-netbios-session { <...>
추적 옵션 및 카운터
MX-SPC3의 차세대 서비스를 위한 스테이트풀 방화벽은 트래픽을 디버깅하고 계산하는 데 도움이 되는 추가 기능을 지원합니다.
traceoptions
- 정책 조회 및 규칙 기반 이벤트와 같은 정책 관련 이벤트를 추적하는 데 사용합니다. 이벤트는 볼 수 있도록 지정된 파일에 캡처됩니다.count
- 수신/발신 바이트 및 패킷과 같은 트래픽 관련 이벤트를 계산하는 데 사용합니다. show 명령을 사용하여 카운터를 봅니다.show services policies detail
- 정책에서 옵션을 지정할 때 출력에 트래픽 관련 카운터가count
포함됩니다show services policies hit-count
- 적중 횟수는 정책에서 옵션을 사용하는지 여부에 관계없이 항상 사용할 수 있습니다.count
표 6 은 및 count
요소를 사용하는 방법을 보여줍니다.traceoptions
MS 카드 |
MX-SPC3 시리즈 |
---|---|
지원되지 않음 |
[edit services] policies { # Enable traceoptions to trace policy-related events. traceoptions { file policylogs size 10m files 5; flag all; } stateful-firewall-rule Rule1 { match-direction input; policy my-policy { match { source-address any; destination-address any; application [ junos-dns-udp junos-dns-tcp ]; } then { permit # Enable counting of traffic events. count; } } # end my-policy ... |
서비스 프로바이더급 네트워크 주소 변환(CGNAT)
MX-SPC3에서 차세대 서비스를 위한 네트워크 주소 변환(NAT)을 구성하는 것은 여러 가지 방법으로 MS 카드의 레거시 서비스에서 네트워크 주소 변환(NAT)을 구성하는 것과 다릅니다.
MX-SPC3에서는 대상 네트워크 주소 변환(NAT)과 별도로 소스 네트워크 주소 변환(NAT)을 구성합니다. 구성 트리의 소스 브랜치에서 소스 네트워크 주소 변환(NAT)을 구성하고 구성 트리의 대상 브랜치에서 대상 네트워크 주소 변환(NAT)을 구성합니다. 소스 네트워크 주소 변환(NAT)과 대상 네트워크 주소 변환(NAT)은 각각 구성 트리의 해당 브랜치에 고유한 주소 풀 및 규칙 집합을 가지고 있습니다.
MX-SPC3에서 소스 네트워크 주소 변환(NAT) 및 대상 네트워크 주소 변환(NAT) 모두를 구성하는 경우, 대상 네트워크 주소 변환(NAT)이 먼저 적용된 다음 소스 네트워크 주소 변환(NAT)이 대상 네트워크 주소 변환(NAT) 변환 결과에 적용됩니다. 즉, 원본 패킷이 아닌 대상 NAT 변환 결과를 기반으로 소스 NAT 규칙을 작성합니다.
MX-SPC3에서는 를 명시적으로 구성
translation-type
하지 않습니다. 변환 유형은 구성에 따라 암시적으로 결정됩니다.MX-SPC3에서 포트 변환은 동적 매핑의 기본 동작입니다(시간이 지남에 따라 다른 사전 NAT 주소가 동일한 NAT 후 주소에 매핑될 수 있음). 풀 정의에
port
명령문을 명시적으로 포함하지 않으면 포트 범위 [1024, 65535]로 포트 변환이 수행되고 라운드 로빈 방식으로 포트가 선택됩니다. 포트 변환을 수행하지 않으려면 옵션을 포함하는no-translation
문을 추가해야port
합니다. 이 기본 설정은 사전 NAT 주소가 항상 동일한 사후 NAT 주소에 매핑되는 정적 매핑에는 적용되지 않습니다.
표 7 부터 표 19 까지는 MX-SPC3에서 다양한 변환 유형이 어떻게 구성되는지에 대한 예를 보여줍니다.
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-basic-nat44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-basic-nat44; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.10.10.0/24; } |
pool src-pool { address { 10.10.10.0/24; } # host-address-base indicates a type of static mapping # where the base address 10.45.1.0/0 maps to the # lowest address in the pool, namely 10.10.10.0/0, # and the other addresses map sequentially from there # e.g. 10.45.1.1 maps to 10.10.10.1, and so on. # Since this is a static mapping, there is no port translation # by default. # Note that host-address-base does not have to be the # lowest address allowed by the subsequent source rule. # Any packet with a source address allowed by the source rule # but is lower than the host-address-base is discarded. host-address-base 10.45.1.0/0; } |
rule rule-basic-nat44 { match-direction input; term t1 { from { source-address { 10.45.1.0/24 } } then { translated { source-pool src-pool; translation-type { basic-nat44; } } } } } |
rule-set rule-basic-nat44 { match-direction input; rule r1 { match { source-address 10.45.1.0/24; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-basic-nat66; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-basic-nat66; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 2001:DB8:2222::0/96; } |
pool src-pool { address { 2001:DB8:2222::0/96; } } |
rule rule-basic-nat66 { match-direction input; term t1 { from { source-address { 2001:DB8:1111::0/96; } } then { translated { source-pool src-pool; translation-type { basic-nat66; } } } } } |
rule-set rule-basic-nat66 { match-direction input; rule r1 { match { source-address 2001:DB8:1111:::0/96; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-dynamic-nat44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-dynamic-nat44; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address-range low 10.10.10.2 high 10.10.10.10; } |
pool src-pool { address { 10.10.10.2/32 to 10.10.10.10/32; } # Since this is implicitly a dynamic mapping, # there is port translation by default , so we need to # explictly specify that we don’t want port translation. port { no-translation; } } |
rule rule-dynamic-nat44 { match-direction input; term t0 { from { applications junos-icmp-all; } then { no-translation; } } term t1 { from { destination-address { 10.99.0.2/32; } source-address-range { low 10.45.0.2 high 10.45.0.10; } } then { translated { source-pool src-pool; translation-type { dynamic-nat44; } } } } } |
rule-set rule-dynamic-nat44 { match-direction input; rule r0 { match { source-address 0.0.0.0/0; application junos-icmp-all; } then { source-nat { off; } } } rule r1 { match { source-address-name addr1; destination-address 10.99.0.2/32; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source } # end nat |
|
address-book { global { address addr1 { address-range 10.45.0.2/32 { to { 10.45.0.10/32; } } } } } |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-napt44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-napt44; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.10.10.0/24; port { automatic; } } |
pool src-pool { address { 10.10.10.0/24; } # Since this is implicitly a dynamic mapping, # and there is no explicit port statement # to indicate otherwise, the default port # mapping behavior takes effect. } |
rule rule-napt44 { match-direction input; term t1 { from { source-address { 10.45.1.0/24 } application-sets accept-algs; } then { translated { source-pool src-pool; translation-type { napt44; } } } } } |
rule-set rule-napt44 { match-direction input; rule r1 { match { source-address 10.45.1.0/24; application accept-algs; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-napt66; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-napt66; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 2001:DB8:2222::0/112; port { range low 20000 high 30000; } } |
pool src-pool { address { 2001:DB8:2222::0/112; } port { range { 20000; to { 30000; } } } } |
rule rule-napt66 { match-direction input; term t1 { from { source-address { 2001:DB8:1111::0/96; } } then { translated { source-pool src-pool; translation-type { napt66; } } } } } |
rule-set rule-napt66 { match-direction input; rule r1 { match { source-address 2001:DB8:1111::0/96; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-dnat-44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-dnat-44; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { destination { |
pool dest-pool { address 10.10.10.2/32; } |
pool dest-pool { address { 10.10.10.2/32; } } |
rule rule-dnat-44 { match-direction input; term t1 { from { destination-address { 10.45.0.2/32 } } then { translated { destination-pool dest-pool; translation-type { dnat-44; } } } } } |
rule-set rule-dnat-44 { match-direction input; rule r1 { match { destination-address 10.45.0.2/32; } then { destination-nat { pool { dest-pool; } } } } } |
} # end nat |
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-stateful-nat464; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-stateful-nat464-src; nat-rule-sets rule-stateful-nat464-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.10.10.0/24; port { automatic; } } |
pool src-pool { address { 10.10.10.0/24; } port { automatic { round-robin; } } } |
rule rule-stateful-nat464 { match-direction input; term t1 { from { source-address { 2001:DB8:1111::0/96; } destination-address { 2001:DB8:2222::0/96; } applications [junos-icmp-all junos-icmp-ping junos-traceroute junos-traceroute-ttl 1]; } then { translated { source-pool src-pool; clat-prefix 2001:DB8:1111::0/96; destination-prefix 2001:DB8:2222::0/96; translation-type { stateful-nat464; } } } } } |
# This source rule applies after the destination rule. rule-set rule-stateful-nat464-src { match-direction input; rule r1 { match { source-address 2001:DB8:1111::0/96; # Since destination NAT happens first, the # destination IPv6 prefix has been stripped off, # resulting in an IPv4 destination address. destination-address 0.0.0.0/0; application [junos-icmp-all junos-icmp-ping junos-traceroute junos-traceroute-ttl 1]; } then { source-nat { pool { src-pool; } clat-prefix 2001:DB8:1111::0/96; } } } } |
} # end nat |
} # end source |
|
destination { |
|
# This destination rule applies before the source rule. rule-set rule-stateful-nat464-dest { match-direction input; rule r1 { match { destination-address 2001:DB8:2222::0/96; } then { destination-nat { destination-prefix 2001:DB8:2222::0/96; } } } } |
|
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-stateful-nat64; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-stateful-nat64-src; nat-rule-sets rule-stateful-nat64-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.10.10.0/24; port { automatic; random-allocation; } } mapping-timeout 500; } |
pool src-pool { address { 10.10.10.0/24; } port { automatic { random-allocation; } } mapping-timeout 500; } |
rule rule-stateful-nat64 { match-direction input; term t1 { from { destination-address { 2001:DB8:2222::0/64; } } then { translated { source-pool src-pool; destination-prefix 2001:DB8:2222::0/64; translation-type { stateful-nat64; } } } } term t2 { from { destination-address { 2001:DB8:3333::0/64; } } then { translated { source-pool src-pool; destination-prefix 2001:DB8:3333::0/64; translation-type { stateful-nat64; } } } } } |
# This source rule applies after the destination rule. rule-set rule-stateful-nat64-src { match-direction input; rule r1 { match { source-address 0::/0; # Since destination NAT applies first, the # destination address is now IPv4. destination-address 0.0.0.0/0; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source |
|
destination { |
|
# This destination rule applies before the source rule. rule-set rule-stateful-nat64-dest { match-direction input; rule r1 { match { destination-address 2001:DB8:2222::0/64; } then { destination-nat { destination-prefix 2001:DB8:2222::0/64; } } } rule r2 { match { destination-address 2001:DB8:3333::0/64; } then { destination-nat { destination-prefix 2001:DB8:3333::0/64; } } } } |
|
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-twice-basic-nat-44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-twice-basic-nat-44-src; nat-rule-sets rule-twice-basic-nat-44-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.98.10.0/24; } pool dest-pool { address 10.99.10.0/24; } |
pool src-pool { address { 10.98.10.0/24; } # host-address-base indicates a type of static mapping where # the base address 10.10.10.0/0 maps to the lowest # address in the pool, namely 10.98.10.0/0, # and the other addresses map sequentially from there # e.g. 10.10.10.1 maps to 10.98.10.1, and so on. # Since this is a static mapping, there is no port translation # by default. # Note that host-address-base does not have to be the # lowest address allowed by the subsequent source rule. # Any packet with a source address allowed by the source rule # but is lower than the host-address-base is discarded. host-address-base 10.10.10.0/0; } |
rule rule-twice-basic-nat-44 { match-direction input; term t1 { from { source-address { 10.10.10.0/24; } destination-address { 10.20.10.0/24; } } then { translated { source-pool src-pool; destination-pool dest-pool; translation-type { twice-basic-nat-44; } } } } } |
# This source rule applies after the destination rule. rule-set rule-twice-basic-nat-44-src { match-direction input; rule r1 { match { source-address 10.10.10.0/24; # Since destination NAT happens first, the destination # address refers to the NAT’d address. destination-address 10.99.10.0/24; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source |
|
destination { |
|
pool dest-pool { address { 10.99.10.0/24; } } |
|
# This destination rule applies before the source rule. rule-set rule-twice-basic-nat-44-dest { match-direction input; rule r1 { match { destination-address 10.20.10.0/24; } then { destination-nat { pool { dest-pool; } } } } } |
|
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-twice-dynamic-nat-44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-twice-dynamic-nat-44-src; nat-rule-sets rule-twice-dynamic-nat-44-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.98.10.0/24; } pool dest-pool { address 10.99.10.0/24; } |
pool src-pool { address { 10.98.10.0/24; } port { no-translation; } } |
rule rule-twice-dynamic-nat-44 { match-direction input; term t1 { from { source-address { 10.10.10.0/24; } destination-address { 10.20.10.0/24; } } then { translated { source-pool src-pool; destination-pool dest-pool; translation-type { twice-dynamic-nat-44; } } } } } |
# This source rule applies after the destination rule. rule-set rule-twice-dynamic-nat-44-src { match-direction input; rule r1 { match { source-address 10.10.10.0/24; # Since destination NAT happens first, the destination # address refers to the NAT’d address. destination-address 10.99.10.0/24; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source |
|
destination { |
|
pool dest-pool { # By default, address mapping in destination pools is static. address { 10.99.10.0/24; } } |
|
# This destination rule applies before the source rule. rule-set rule-twice-dynamic-nat-44-dest { match-direction input; rule r1 { match { destination-address 10.20.10.0/24; } then { destination-nat { pool { dest-pool; } } } } } |
|
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-twice-napt-44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-twice-napt-44-src; nat-rule-sets rule-twice-napt-44-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.98.10.0/24; port { automatic; secured-port-block-allocation block-size 256 max-blocks-per-address 1 active-block-timeout 300; } } pool dest-pool { address 10.99.10.2/32; } |
pool src-pool { address { 10.98.10.0/24; } port { automatic { round-robin; } block-allocation { block-size 256; maximum-blocks-per-host 1; active-block-timeout 300; } } } |
rule rule-twice-napt-44 { match-direction input; term t1 { from { source-address { 10.10.10.0/24; } destination-address { 10.20.10.2/32; } } then { translated { source-pool src-pool; destination-pool dest-pool; translation-type { twice-napt-44; } } } } } |
# This source rule applies after the destination rule. rule-set rule-twice-napt-44-src { match-direction input; rule r1 { match { source-address 10.10.10.0/24; # Since destination NAT happens first, the # destination address refers to the NAT’d address. destination-address 10.99.10.2/32; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source |
|
destination { |
|
pool dest-pool { address { 10.99.10.2/32; } } |
|
# This destination rule applies before the source rule. rule-set rule-twice-napt-44-dest { match-direction input; rule r1 { match { source-address 10.10.10.0/24; destination-address 10.20.10.2/32; } then { destination-nat { pool { dest-pool; } } } } } |
|
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-deterministic-napt44; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-deterministic-napt44; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.10.10.0/24; port { range low 1024 high 19999; deterministic-port-block-allocation block-size 256; } mapping-timeout 120; } |
pool src-pool { address { 10.10.10.0/24; } port { range { 1024; to { 19999; } } deterministic { block-size 256; # host address specifies the subnet that you # want to apply to this pool. host address 10.2.0.0/20; } } mapping-timeout 120; } |
rule rule-deterministic-napt44 { match-direction input; term t1 { from { source-address { 10.2.0.0/18; } } then { translated { source-pool src-pool; translation-type { deterministic-napt44; } mapping-type endpoint-independent; } } } } |
rule-set rule-deterministic-napt44 { match-direction input; rule r1 { match { source-address 10.2.0.0/18; } then { source-nat { pool { src-pool; } mapping-type endpoint-independent; } } } } |
} # end nat |
} # end source } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-deterministic-napt64; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-deterministic-napt64-src; nat-rule-sets rule-deterministic-napt64-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.98.10.0/24; port { automatic; random-allocation; } deterministic-port-block-allocation block-size 256; } } |
pool src-pool { address { 10.98.10.0/24; } port { automatic { random-allocation; } deterministic { block-size 256; host address 2001:DB8:1111::1/120; } } } |
rule rule-deterministic-napt64 { match-direction input; term t1 { from { source-address { 2001:DB8:1111::1/120; } } then { translated { destination-prefix 2001:DB8:2222::/96; source-pool src-pool; translation-type { deterministic-napt64; } } } } } |
# This source rule applies after the destination rule. rule-set rule-deterministic-napt64-src { match-direction input; rule r1 { match { source-address 2001:DB8:1111::1/120; # Since destination NAT happens first, the destination # address refers to the NAT’d address. destination-address 0.0.0.0/0; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source |
|
destination { |
|
pool dest-pool { address { 10.99.10.2/32; } } |
|
# This destination rule applies before the source rule. rule-set rule-destination-napt64-dest { match-direction input; rule r1 { match { destination-address 2001:DB8:2222::/96; } then { destination-nat { destination-prefix 2001:DB8:2222::/96; } } } } |
|
} # end destination } # end nat |
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] |
[edit services] |
service-set sset1 { nat-rules rule-napt-pt; interface-service { service-interface ms-1/2/0; } } |
service-set sset1 { nat-rule-sets rule-napt-pt-src; nat-rule-sets rule-napt-pt-dest; interface-service { service-interface vms-2/0/0; } } |
nat { |
nat { source { |
pool src-pool { address 10.10.10.2/32; } pool dest-pool { address 10.99.10.2/32; } |
pool src-pool { address { 10.10.10.2/32; } } |
rule rule-napt-pt { match-direction input; term t1 { from { source-address { 2001:DB8:1111::2/128; } destination-address { 2001:DB8:2222::2/128; } } then { translated { source-pool src-pool; destination-pool dest-pool; translation-type { napt-pt; } } } } } |
rule-set rule-napt-pt-src { match-direction input; rule r1 { match { source-address 2001:DB8:1111::2/128; destination-address 10.99.10.0/24; } then { source-nat { pool { src-pool; } } } } } |
} # end nat |
} # end source |
|
destination { |
|
pool dest-pool { address { 10.99.10.2/32; } } |
|
rule-set rule-napt-pt-dest { match-direction input; rule r1 { match { destination-address 2001:DB8:2222::2/128; } then { destination-nat { pool { dest-pool; } } } } } |
|
} # end destination } # end nat |
침입 탐지 시스템(IDS)
MX-SPC3의 차세대 서비스에 대한 IDS 규칙은 브랜치 아래에 정의되어 screen
있습니다. 다양한 요소의 명명에는 약간의 차이가 있지만, 주요 변경 사항은 IPv4 옵션 및 IPv6 확장을 사용하는 패킷을 탐지하는 동작에 있습니다.
MS 카드의 IDS 서비스의 경우 기본 동작은 IPv4 옵션 및 IPv6 확장을 사용하여 패킷을 탐지하고 삭제하는 것입니다. 이러한 패킷을 허용하려면 구성을 통해 명시적으로 허용해야 합니다.
MX-SPC3에 있는 IDS 차세대 서비스의 경우, 기본 동작은 IPv4 옵션 및 IPv6 확장이 있는 패킷을 허용하는 것입니다. 이러한 패킷을 탐지하고 삭제하려면 구성을 통해 명시적으로 허용하지 않아야 합니다.
표 21 에는 구성 차이의 예가 나와 있습니다.
MS 카드 |
MX-SPC3 시리즈 |
---|---|
[edit services] service-set sset1 { ids-rules r1; ids-rules r2; } |
[edit services] service-set sset1 { # Replace ids-rules with ids-option. ids-option ids1; ids-option ids2; } |
[edit services] ids { rule r1 { match-direction input; term t1 { <...> } } } |
[edit services] # Define ids rules under the screen branch. screen { # Replace rule with ids-option. ids-option ids1 { match-direction input; # Flatten hierarchy by removing term and placing # contents directly under ids-option. <...> } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { allow-ip-options [ loose-source-route route-record router-alert security stream-id strict-source-route timestamp ]; } } } } |
[edit services] screen { ids-option ids1 { match-direction input; # By default, all ip options are allowed. } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { <no allow-ip-options configured> } } } } |
[edit services] screen { ids-option ids1 { match-direction input; # Explicitly specify the disallowed options. ip { loose-source-route-option; record-route-option; security-option; stream-option; strict-source-route-option; timestamp-option; # router-alert option for IPv4 is not supported. } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { allow-ipv6-extension-header [ ah dstopts esp fragment hop-by-hop mobility routing ]; } } } } |
[edit services] screen { ids-option ids1 { match-direction input; # By default, all ipv6 extensions are allowed. } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { <no allow-ipv6-extension-header configured> } } } } |
[edit services] screen { ids-option ids1 { match-direction input; ip { # Explicitly specify the disallowed extensions. ipv6-extension-header { AH-header; ESP-header; fragment-header; hop-by-hop-header; mobility-header; routing-header; # dstoptions is not supported. } } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { aggregation { source-prefix 24; destination-prefix 24; source-prefix-ipv6 64; destination-prefix-ipv6 64; } } } } } |
[edit services] screen { ids-option ids1 { match-direction input; aggregation { source-prefix-mask 24; destination-prefix-mask 24; source-prefix-v6-mask 64; destination-prefix-v6-mask 64; } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { icmp-fragment-check; icmp-large-packet-check; } } } } |
[edit services] screen { ids-option ids1 { match-direction input; # Group icmp checks under icmp. icmp { fragment; large; } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { land-attack-check; tcp-winnuke-check; tcp-syn-fragment-check; tcp-syn-defense; } } } } |
[edit services] screen { ids-option ids1 { match-direction input; # Group tcp checks under tcp. tcp { land; winnuke; syn-frag; # tcp-syn-defense is not supported. } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { session-limit { by-source { maximum 100; rate 10; packets 1k; } by-destination { maximum 100; rate 10; packets 1k; } } } } } } |
[edit services] screen { ids-option ids1 { match-direction input; limit-session { by-source { maximum-sessions 100; session-rate 10; packet-rate 1k; } by-destination { maximum-sessions 100; session-rate 10; packet-rate 1k; } } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { session-limit { by-source { by-protocol { tcp { maximum 100; rate 10; packets 1k; } udp { maximum 100; rate 10; packets 1k; } icmp { maximum 100; rate 10; packets 1k; } } } } } } } |
[edit services] screen { ids-option ids1 { match-direction input; limit-session { by-source { by-protocol { tcp { maximum-sessions 100; session-rate 10; packet-rate 1k; } udp { maximum-sessions 100; session-rate 10; packet-rate 1k; } icmp { maximum-sessions 100; session-rate 10; packet-rate 1k; } } } } } } |
[edit services] ids { rule r1 { match-direction input; term t1 { then { session-limit { by-destination { by-protocol { tcp { maximum 100; rate 10; packets 1k; } udp { maximum 100; rate 10; packets 1k; } icmp { maximum 100; rate 10; packets 1k; } } } } } } } |
[edit services] screen { ids-option ids1 { match-direction input; limit-session { by-destination { by-protocol { tcp { maximum-sessions 100; session-rate 10; packet-rate 1k; } udp { maximum-sessions 100; session-rate 10; packet-rate 1k; } icmp { maximum-sessions 100; session-rate 10; packet-rate 1k; } } } } } } |
MS 카드에서 MX-SPC3로 마이그레이션
이 절차를 사용하여 차세대 서비스를 지원하도록 라우터를 구성합니다.
일반적으로 이 절차를 사용하여 MS 카드의 레거시 서비스를 지원하는 라우터를 MX-SPC3의 차세대 서비스를 지원하는 라우터로 마이그레이션하지만, 이 절차는 마이그레이션하는 라우터에 MS 카드 카드가 포함되어 있지 않아도 적용됩니다.
차세대 서비스 구성은 레거시 서비스 프로비저닝과 호환되지 않기 때문에 MX-SPC3에서 차세대 서비스를 지원하기 위해 라우터를 마이그레이션하려면 라우터의 프로비저닝을 완전히 해제하고 다시 프로비저닝해야 합니다. 더욱이:
MS 카드가 있는 라우터에 MX-SPC3 카드를 설치할 수 없습니다.
MS 카드가 장착된 라우터에서는 차세대 서비스를 구성할 수 없습니다.
MX-SPC3 카드가 장착된 라우터에서는 레거시 서비스를 구성할 수 없습니다.
즉, 라우터는 MS 카드 또는 MX-SPC3 카드 중 하나로 실행할 수 있지만 동시에 둘 다 실행할 수는 없습니다.
이 절차는 서비스에 영향을 미칩니다. 라우터를 공장 기본 구성으로 설정하고 있습니다.