junoser 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -1
- data/Gemfile.lock +1 -1
- data/Rakefile +10 -1
- data/example/mx-19.3R3-S1.3.rb +161 -297
- data/example/vsrx-18.3R1.9.rb +1305 -1305
- data/lib/junoser/parser.rb +170 -306
- data/lib/junoser/ruler.rb +8 -0
- data/lib/junoser/version.rb +1 -1
- data/lib/junoser/xsd/base.rb +4 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f37eb9172418859fd2a4144cdd0d4b47c657162e02117cfb9fe73a33fe9ca0e2
|
4
|
+
data.tar.gz: 4791fbaf136985e1b16a4dba7daaf2fc2dbcee8ed85508d2e3c65b5b3f4575b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5961c24e760831bf52f6edb82c5972aefb023d99639091fb2c12d95f083ef57e9e2703fd441dbb0c1d5e44b5e386834679e910873e44825c9a7c103243fa2c6c
|
7
|
+
data.tar.gz: 9e41dcfb72bfe2f5b801506c50725a4a0da2f56a09a8ddeedb8cb7d4b8ae82864008c89cdf2da837ced1c83d39d2e7d53640bba5f7dcb459d434e0d173862659
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
## [0.4.2] - 2021-08-30
|
2
|
+
|
3
|
+
### Added
|
4
|
+
|
5
|
+
* Newly supported syntax
|
6
|
+
* "virtual-chassis vcp-snmp-statistics"
|
7
|
+
* "application_object"
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
|
11
|
+
* Keywords "tls", "group", "dest-nat-rule-match", "src-nat-rule-match", and "static-nat-rule-match" might be marked as invalid in some hierarchies
|
12
|
+
* "applications application xxx term xxx"
|
13
|
+
* "security"
|
14
|
+
|
15
|
+
|
1
16
|
## [0.4.1] - 2021-06-06
|
2
17
|
|
3
18
|
### Added
|
@@ -7,7 +22,7 @@
|
|
7
22
|
|
8
23
|
### Fixed
|
9
24
|
|
10
|
-
* "scpf-link", "https", "inet6", "icmp6", "icmpv6", "ospf3", and "snmptrap"
|
25
|
+
* Keywords "scpf-link", "https", "inet6", "icmp6", "icmpv6", "ospf3", and "snmptrap" might be marked as invalid in some hierarchies
|
11
26
|
* "policy-options community xxx members"
|
12
27
|
* "policy-options route-distinguisher xxx members"
|
13
28
|
* "routing-options confederation members"
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -19,12 +19,22 @@ def open_files(input, output, &block)
|
|
19
19
|
o.close
|
20
20
|
end
|
21
21
|
|
22
|
+
def move_wildcards(element)
|
23
|
+
['ipaddr', 'ipv6addr', 'ipprefix'].each do |pattern|
|
24
|
+
element.xpath(%[.//xsd:element[@type="#{pattern}"]/xsd:annotation/xsd:appinfo/flag[text()="nokeyword"]/../../..]).each do |wildcard|
|
25
|
+
parent = wildcard.parent
|
26
|
+
removed = wildcard.remove
|
27
|
+
parent << removed
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
22
31
|
|
23
32
|
namespace :build do
|
24
33
|
desc 'Build an intermediate config hierarchy'
|
25
34
|
task :config do
|
26
35
|
open_files(xsd_path, rule_path) do |input, output|
|
27
36
|
Nokogiri::XML(input).root.remove_unused.xpath('/xsd:schema/*').each do |e|
|
37
|
+
move_wildcards e # Move wildcard elements to the end of siblings as they capture keywords unexpectedly
|
28
38
|
output.puts e.to_config
|
29
39
|
end
|
30
40
|
end
|
@@ -56,7 +66,6 @@ task 'find-srx-methods' do
|
|
56
66
|
end
|
57
67
|
end
|
58
68
|
|
59
|
-
|
60
69
|
Rake::TestTask.new do |t|
|
61
70
|
t.libs << 'test'
|
62
71
|
|
data/example/mx-19.3R3-S1.3.rb
CHANGED
@@ -1996,10 +1996,10 @@ rule(:configuration) do
|
|
1996
1996
|
),
|
1997
1997
|
"wildcard-address" ( /* IP wildcard address and mask */
|
1998
1998
|
sc(
|
1999
|
-
ipaddr /* IP wildcard address */,
|
2000
1999
|
"wildcard-mask" ( /* IP wildcard address mask */
|
2001
2000
|
ipaddr /* IP wildcard address mask */
|
2002
|
-
)
|
2001
|
+
),
|
2002
|
+
ipaddr /* IP wildcard address */
|
2003
2003
|
)
|
2004
2004
|
).as(:oneline),
|
2005
2005
|
"port-range" ( /* IP port ranges */
|
@@ -2017,10 +2017,10 @@ rule(:configuration) do
|
|
2017
2017
|
),
|
2018
2018
|
"wildcard-address" ( /* IP wildcard address and mask */
|
2019
2019
|
sc(
|
2020
|
-
ipaddr /* IP wildcard address */,
|
2021
2020
|
"wildcard-mask" ( /* IP wildcard address mask */
|
2022
2021
|
ipaddr /* IP wildcard address mask */
|
2023
|
-
)
|
2022
|
+
),
|
2023
|
+
ipaddr /* IP wildcard address */
|
2024
2024
|
)
|
2025
2025
|
).as(:oneline),
|
2026
2026
|
"port-range" ( /* IP port ranges */
|
@@ -5912,34 +5912,34 @@ rule(:configuration) do
|
|
5912
5912
|
c(
|
5913
5913
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
5914
5914
|
sc(
|
5915
|
-
ipaddr /* Source IP */,
|
5916
5915
|
"wildcard" ( /* Source IP wildcard */
|
5917
5916
|
ipaddr /* Source IP wildcard */
|
5918
|
-
)
|
5917
|
+
),
|
5918
|
+
ipaddr /* Source IP */
|
5919
5919
|
)
|
5920
5920
|
).as(:oneline),
|
5921
5921
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
5922
5922
|
sc(
|
5923
|
-
ipaddr /* Dest IP */,
|
5924
5923
|
"wildcard" ( /* Dest IP wildcard */
|
5925
5924
|
ipaddr /* Dest IP wildcard */
|
5926
|
-
)
|
5925
|
+
),
|
5926
|
+
ipaddr /* Dest IP */
|
5927
5927
|
)
|
5928
5928
|
).as(:oneline),
|
5929
5929
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
5930
5930
|
sc(
|
5931
|
-
ipv6addr /* Source softwire IP */,
|
5932
5931
|
"wildcard" ( /* Source IP wildcard */
|
5933
5932
|
ipv6addr /* Source IP wildcard */
|
5934
|
-
)
|
5933
|
+
),
|
5934
|
+
ipv6addr /* Source softwire IP */
|
5935
5935
|
)
|
5936
5936
|
).as(:oneline),
|
5937
5937
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
5938
5938
|
sc(
|
5939
|
-
ipaddr /* Destination softwire IP */,
|
5940
5939
|
"wildcard" ( /* Destination IP wildcard */
|
5941
5940
|
ipaddr /* Destination IP wildcard */
|
5942
|
-
)
|
5941
|
+
),
|
5942
|
+
ipaddr /* Destination softwire IP */
|
5943
5943
|
)
|
5944
5944
|
).as(:oneline),
|
5945
5945
|
"sport-range" ( /* Filter based on source port */
|
@@ -10594,7 +10594,8 @@ rule(:configuration) do
|
|
10594
10594
|
"no-auto-conversion" /* Disable automatic VC port conversion */,
|
10595
10595
|
"auto-conversion" /* Enable automatic VC port conversion */
|
10596
10596
|
),
|
10597
|
-
"vcp-no-hold-time" /* Set no hold time for vcp interfaces
|
10597
|
+
"vcp-no-hold-time" /* Set no hold time for vcp interfaces */,
|
10598
|
+
"vcp-snmp-statistics"
|
10598
10599
|
)
|
10599
10600
|
),
|
10600
10601
|
"ethernet-switching-options" (
|
@@ -17879,53 +17880,6 @@ rule(:any_template) do
|
|
17879
17880
|
)
|
17880
17881
|
end
|
17881
17882
|
|
17882
|
-
rule(:application_object) do
|
17883
|
-
arg.as(:arg) (
|
17884
|
-
c(
|
17885
|
-
"application-protocol" ( /* Application protocol type */
|
17886
|
-
("bootp" | "dce-rpc" | "dce-rpc-portmap" | "dns" | "exec" | "ftp" | "ftp-data" | "gprs-gtp-c" | "gprs-gtp-u" | "gprs-gtp-v0" | "gprs-sctp" | "h323" | "icmp" | "icmpv6" | "ignore" | "iiop" | "ike-esp-nat" | "ip" | "login" | "mgcp-ca" | "mgcp-ua" | "ms-rpc" | "netbios" | "netshow" | "none" | "pptp" | "q931" | "ras" | "realaudio" | "rpc" | "rpc-portmap" | "rsh" | "rtsp" | "sccp" | "sip" | "shell" | "snmp" | "sqlnet" | "sqlnet-v2" | "sun-rpc" | "talk" | "tftp" | "traceroute" | "http" | "winframe" | "https" | "imap" | "smtp" | "ssh" | "telnet" | "twamp")
|
17887
|
-
),
|
17888
|
-
"protocol" ( /* Match IP protocol type */
|
17889
|
-
("icmp" | "igmp" | "ipip" | "tcp" | "egp" | "udp" | "rsvp" | "gre" | "esp" | "ah" | "icmp6" | "ospf" | "pim" | "sctp" | arg)
|
17890
|
-
),
|
17891
|
-
"source-port" ( /* Match TCP/UDP source port */
|
17892
|
-
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
17893
|
-
),
|
17894
|
-
"destination-port" ( /* Match TCP/UDP destination port */
|
17895
|
-
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
17896
|
-
),
|
17897
|
-
"ether-type" arg /* Match ether type */,
|
17898
|
-
"snmp-command" ( /* Match SNMP command */
|
17899
|
-
("get" | "get-next" | "get-response" | "set" | "trap")
|
17900
|
-
),
|
17901
|
-
"icmp-type" ( /* Match ICMP message type */
|
17902
|
-
("echo-request" | "echo-reply" | "unreachable" | "source-quench" | "redirect" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "timestamp" | "timestamp-reply" | "info-request" | "info-reply" | "mask-request" | "mask-reply" | arg)
|
17903
|
-
),
|
17904
|
-
"icmp6-type" ( /* Match ICMP6 message type */
|
17905
|
-
("echo-request" | "echo-reply" | "destination-unreachable" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "packet-too-big" | "membership-query" | "membership-report" | "membership-termination" | "redirect" | "neighbor-solicit" | "neighbor-advertisement" | "router-renumbering" | "node-information-request" | "node-information-reply" | arg)
|
17906
|
-
),
|
17907
|
-
"icmp-code" ( /* Match ICMP message code */
|
17908
|
-
("network-unreachable" | "host-unreachable" | "protocol-unreachable" | "port-unreachable" | "fragmentation-needed" | "source-route-failed" | "destination-network-unknown" | "destination-host-unknown" | "source-host-isolated" | "destination-network-prohibited" | "destination-host-prohibited" | "network-unreachable-for-tos" | "host-unreachable-for-tos" | "communication-prohibited-by-filtering" | "host-precedence-violation" | "precedence-cutoff-in-effect" | "redirect-for-network" | "redirect-for-host" | "redirect-for-tos-and-net" | "redirect-for-tos-and-host" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip-header-bad" | "required-option-missing" | arg)
|
17909
|
-
),
|
17910
|
-
"icmp6-code" ( /* Match ICMP6 message code */
|
17911
|
-
("no-route-to-destination" | "administratively-prohibited" | "address-unreachable" | "port-unreachable" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip6-header-bad" | "unrecognized-next-header" | "unrecognized-option" | arg)
|
17912
|
-
),
|
17913
|
-
"ttl-threshold" arg /* Traceroute TTL threshold */,
|
17914
|
-
"rpc-program-number" arg /* Match range of RPC program numbers */,
|
17915
|
-
"uuid" arg /* Match universal unique identifier for DCE RPC objects */,
|
17916
|
-
"inactivity-timeout" ( /* Application-specific inactivity timeout */
|
17917
|
-
("never" | arg)
|
17918
|
-
),
|
17919
|
-
"gate-timeout" arg /* Application-specific gate timeout */,
|
17920
|
-
"child-inactivity-timeout" arg /* Application-specific child session inactivity timeout */,
|
17921
|
-
c(
|
17922
|
-
"do-not-translate-AAAA-query-to-A-query" /* Knob to control the translation of AAAA query to A query */,
|
17923
|
-
"do-not-translate-A-query-to-AAAA-query" /* Knob to control the translation of A query to AAAA query */
|
17924
|
-
)
|
17925
|
-
)
|
17926
|
-
)
|
17927
|
-
end
|
17928
|
-
|
17929
17883
|
rule(:application_set_object) do
|
17930
17884
|
arg.as(:arg) (
|
17931
17885
|
c(
|
@@ -28321,34 +28275,34 @@ rule(:interfaces_type) do
|
|
28321
28275
|
c(
|
28322
28276
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
28323
28277
|
sc(
|
28324
|
-
ipaddr /* Source IP */,
|
28325
28278
|
"wildcard" ( /* Source IP wildcard */
|
28326
28279
|
ipaddr /* Source IP wildcard */
|
28327
|
-
)
|
28280
|
+
),
|
28281
|
+
ipaddr /* Source IP */
|
28328
28282
|
)
|
28329
28283
|
).as(:oneline),
|
28330
28284
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
28331
28285
|
sc(
|
28332
|
-
ipaddr /* Dest IP */,
|
28333
28286
|
"wildcard" ( /* Dest IP wildcard */
|
28334
28287
|
ipaddr /* Dest IP wildcard */
|
28335
|
-
)
|
28288
|
+
),
|
28289
|
+
ipaddr /* Dest IP */
|
28336
28290
|
)
|
28337
28291
|
).as(:oneline),
|
28338
28292
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
28339
28293
|
sc(
|
28340
|
-
ipv6addr /* Source softwire IP */,
|
28341
28294
|
"wildcard" ( /* Source IP wildcard */
|
28342
28295
|
ipv6addr /* Source IP wildcard */
|
28343
|
-
)
|
28296
|
+
),
|
28297
|
+
ipv6addr /* Source softwire IP */
|
28344
28298
|
)
|
28345
28299
|
).as(:oneline),
|
28346
28300
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
28347
28301
|
sc(
|
28348
|
-
ipaddr /* Destination softwire IP */,
|
28349
28302
|
"wildcard" ( /* Destination IP wildcard */
|
28350
28303
|
ipaddr /* Destination IP wildcard */
|
28351
|
-
)
|
28304
|
+
),
|
28305
|
+
ipaddr /* Destination softwire IP */
|
28352
28306
|
)
|
28353
28307
|
).as(:oneline),
|
28354
28308
|
"sport-range" ( /* Filter based on source port */
|
@@ -43766,34 +43720,34 @@ rule(:juniper_dynamic_profile_object) do
|
|
43766
43720
|
c(
|
43767
43721
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
43768
43722
|
sc(
|
43769
|
-
ipaddr /* Source IP */,
|
43770
43723
|
"wildcard" ( /* Source IP wildcard */
|
43771
43724
|
ipaddr /* Source IP wildcard */
|
43772
|
-
)
|
43725
|
+
),
|
43726
|
+
ipaddr /* Source IP */
|
43773
43727
|
)
|
43774
43728
|
).as(:oneline),
|
43775
43729
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
43776
43730
|
sc(
|
43777
|
-
ipaddr /* Dest IP */,
|
43778
43731
|
"wildcard" ( /* Dest IP wildcard */
|
43779
43732
|
ipaddr /* Dest IP wildcard */
|
43780
|
-
)
|
43733
|
+
),
|
43734
|
+
ipaddr /* Dest IP */
|
43781
43735
|
)
|
43782
43736
|
).as(:oneline),
|
43783
43737
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
43784
43738
|
sc(
|
43785
|
-
ipv6addr /* Source softwire IP */,
|
43786
43739
|
"wildcard" ( /* Source IP wildcard */
|
43787
43740
|
ipv6addr /* Source IP wildcard */
|
43788
|
-
)
|
43741
|
+
),
|
43742
|
+
ipv6addr /* Source softwire IP */
|
43789
43743
|
)
|
43790
43744
|
).as(:oneline),
|
43791
43745
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
43792
43746
|
sc(
|
43793
|
-
ipaddr /* Destination softwire IP */,
|
43794
43747
|
"wildcard" ( /* Destination IP wildcard */
|
43795
43748
|
ipaddr /* Destination IP wildcard */
|
43796
|
-
)
|
43749
|
+
),
|
43750
|
+
ipaddr /* Destination softwire IP */
|
43797
43751
|
)
|
43798
43752
|
).as(:oneline),
|
43799
43753
|
"sport-range" ( /* Filter based on source port */
|
@@ -47223,34 +47177,34 @@ rule(:juniper_dynamic_profile_object) do
|
|
47223
47177
|
c(
|
47224
47178
|
"source-ip" ( /* Filter based on source-ip (and wildcard) */
|
47225
47179
|
sc(
|
47226
|
-
ipaddr /* Source IP */,
|
47227
47180
|
"wildcard" ( /* Source IP wildcard */
|
47228
47181
|
ipaddr /* Source IP wildcard */
|
47229
|
-
)
|
47182
|
+
),
|
47183
|
+
ipaddr /* Source IP */
|
47230
47184
|
)
|
47231
47185
|
).as(:oneline),
|
47232
47186
|
"dest-ip" ( /* Filter based on dest-ip (and wildcard) */
|
47233
47187
|
sc(
|
47234
|
-
ipaddr /* Dest IP */,
|
47235
47188
|
"wildcard" ( /* Dest IP wildcard */
|
47236
47189
|
ipaddr /* Dest IP wildcard */
|
47237
|
-
)
|
47190
|
+
),
|
47191
|
+
ipaddr /* Dest IP */
|
47238
47192
|
)
|
47239
47193
|
).as(:oneline),
|
47240
47194
|
"sw-sip" ( /* Filter based on source softwire ip (and wildcard) */
|
47241
47195
|
sc(
|
47242
|
-
ipv6addr /* Source softwire IP */,
|
47243
47196
|
"wildcard" ( /* Source IP wildcard */
|
47244
47197
|
ipv6addr /* Source IP wildcard */
|
47245
|
-
)
|
47198
|
+
),
|
47199
|
+
ipv6addr /* Source softwire IP */
|
47246
47200
|
)
|
47247
47201
|
).as(:oneline),
|
47248
47202
|
"sw-dip" ( /* Filter based on destination softwire ip (and wildcard) */
|
47249
47203
|
sc(
|
47250
|
-
ipaddr /* Destination softwire IP */,
|
47251
47204
|
"wildcard" ( /* Destination IP wildcard */
|
47252
47205
|
ipaddr /* Destination IP wildcard */
|
47253
|
-
)
|
47206
|
+
),
|
47207
|
+
ipaddr /* Destination softwire IP */
|
47254
47208
|
)
|
47255
47209
|
).as(:oneline),
|
47256
47210
|
"sport-range" ( /* Filter based on source port */
|
@@ -55337,10 +55291,10 @@ rule(:juniper_policy_options) do
|
|
55337
55291
|
c(
|
55338
55292
|
"self" /* Use a local address as the next-hop address */,
|
55339
55293
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
55340
|
-
ipaddr /* Next-hop address */,
|
55341
55294
|
"reject" /* Use a reject next hop */,
|
55342
55295
|
"discard" /* Use a discard next hop */,
|
55343
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
55296
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
55297
|
+
ipaddr /* Next-hop address */
|
55344
55298
|
)
|
55345
55299
|
)
|
55346
55300
|
).as(:oneline),
|
@@ -55948,10 +55902,10 @@ rule(:juniper_policy_options) do
|
|
55948
55902
|
c(
|
55949
55903
|
"self" /* Use a local address as the next-hop address */,
|
55950
55904
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
55951
|
-
ipaddr /* Next-hop address */,
|
55952
55905
|
"reject" /* Use a reject next hop */,
|
55953
55906
|
"discard" /* Use a discard next hop */,
|
55954
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
55907
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
55908
|
+
ipaddr /* Next-hop address */
|
55955
55909
|
)
|
55956
55910
|
)
|
55957
55911
|
).as(:oneline),
|
@@ -56163,8 +56117,8 @@ rule(:juniper_policy_options) do
|
|
56163
56117
|
c(
|
56164
56118
|
"inet" ( /* Route to match corresponds to an inet/inet6 prefix */
|
56165
56119
|
c(
|
56166
|
-
|
56167
|
-
|
56120
|
+
"table" arg /* Routing table in which route should exist */,
|
56121
|
+
ipprefix /* Exact address of the route */
|
56168
56122
|
)
|
56169
56123
|
),
|
56170
56124
|
"ccc" ( /* Route to match corresponds to a ccc prefix */
|
@@ -56178,8 +56132,8 @@ rule(:juniper_policy_options) do
|
|
56178
56132
|
)
|
56179
56133
|
)
|
56180
56134
|
),
|
56181
|
-
|
56182
|
-
|
56135
|
+
"table" arg /* Routing table in which route should exist */,
|
56136
|
+
ipprefix /* Exact address of the route */
|
56183
56137
|
)
|
56184
56138
|
)
|
56185
56139
|
)
|
@@ -56468,10 +56422,10 @@ rule(:control_prefix_list_filter_type) do
|
|
56468
56422
|
c(
|
56469
56423
|
"self" /* Use a local address as the next-hop address */,
|
56470
56424
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
56471
|
-
ipaddr /* Next-hop address */,
|
56472
56425
|
"reject" /* Use a reject next hop */,
|
56473
56426
|
"discard" /* Use a discard next hop */,
|
56474
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
56427
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
56428
|
+
ipaddr /* Next-hop address */
|
56475
56429
|
)
|
56476
56430
|
)
|
56477
56431
|
).as(:oneline),
|
@@ -56863,10 +56817,10 @@ rule(:control_route_filter_type) do
|
|
56863
56817
|
c(
|
56864
56818
|
"self" /* Use a local address as the next-hop address */,
|
56865
56819
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
56866
|
-
ipaddr /* Next-hop address */,
|
56867
56820
|
"reject" /* Use a reject next hop */,
|
56868
56821
|
"discard" /* Use a discard next hop */,
|
56869
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
56822
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
56823
|
+
ipaddr /* Next-hop address */
|
56870
56824
|
)
|
56871
56825
|
)
|
56872
56826
|
).as(:oneline),
|
@@ -57242,10 +57196,10 @@ rule(:control_source_address_filter_type) do
|
|
57242
57196
|
c(
|
57243
57197
|
"self" /* Use a local address as the next-hop address */,
|
57244
57198
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
57245
|
-
ipaddr /* Next-hop address */,
|
57246
57199
|
"reject" /* Use a reject next hop */,
|
57247
57200
|
"discard" /* Use a discard next hop */,
|
57248
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
57201
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
57202
|
+
ipaddr /* Next-hop address */
|
57249
57203
|
)
|
57250
57204
|
)
|
57251
57205
|
).as(:oneline),
|
@@ -77513,9 +77467,9 @@ rule(:juniper_system) do
|
|
77513
77467
|
).as(:oneline),
|
77514
77468
|
"inet6-backup-router" ( /* IPv6 router to use while booting */
|
77515
77469
|
sc(
|
77516
|
-
ipv6addr /* Address of router to use while booting */,
|
77517
77470
|
"destination" ( /* Destination network reachable through the router */
|
77518
|
-
ipv6prefix /* Destination network reachable through the router
|
77471
|
+
ipv6prefix /* Destination network reachable through the router */,
|
77472
|
+
ipv6addr /* Address of router to use while booting */
|
77519
77473
|
)
|
77520
77474
|
)
|
77521
77475
|
).as(:oneline),
|
@@ -98364,14 +98318,6 @@ rule(:log_object) do
|
|
98364
98318
|
)
|
98365
98319
|
end
|
98366
98320
|
|
98367
|
-
rule(:logical_system_type) do
|
98368
|
-
arg.as(:arg) (
|
98369
|
-
c(
|
98370
|
-
"max-sessions" arg /* Max number of IDP sessions */
|
98371
|
-
)
|
98372
|
-
)
|
98373
|
-
end
|
98374
|
-
|
98375
98321
|
rule(:login_class_object) do
|
98376
98322
|
arg.as(:arg) (
|
98377
98323
|
c(
|
@@ -101523,31 +101469,6 @@ rule(:nasreq_definition) do
|
|
101523
101469
|
)
|
101524
101470
|
end
|
101525
101471
|
|
101526
|
-
rule(:nat_object) do
|
101527
|
-
c(
|
101528
|
-
"pool" ( /* Define a NAT pool */
|
101529
|
-
nat_pool_object /* Define a NAT pool */
|
101530
|
-
),
|
101531
|
-
"ipv6-multicast-interfaces" ("all" | "interface-name") ( /* Enable IPv6 multicast filter for IPv6 NAT */
|
101532
|
-
c(
|
101533
|
-
"disable" /* Disable IPv6 multicast filter for IPv6 NAT */
|
101534
|
-
)
|
101535
|
-
),
|
101536
|
-
"allow-overlapping-nat-pools" /* Allow usage of overlapping and same nat pools in multiple service sets */,
|
101537
|
-
"rule" ( /* Define a NAT rule */
|
101538
|
-
nat_rule_object /* Define a NAT rule */
|
101539
|
-
),
|
101540
|
-
"port-forwarding" ( /* Define a port-forwarding pool */
|
101541
|
-
pf_mapping /* Define a port-forwarding pool */
|
101542
|
-
),
|
101543
|
-
"rule-set" arg ( /* Defines a set of NAT rules */
|
101544
|
-
c(
|
101545
|
-
"rule" arg /* Rule to be included in this rule set */
|
101546
|
-
)
|
101547
|
-
)
|
101548
|
-
)
|
101549
|
-
end
|
101550
|
-
|
101551
101472
|
rule(:nat_pool_object) do
|
101552
101473
|
arg.as(:arg) (
|
101553
101474
|
c(
|
@@ -105285,10 +105206,10 @@ rule(:route_filter_list_items) do
|
|
105285
105206
|
c(
|
105286
105207
|
"self" /* Use a local address as the next-hop address */,
|
105287
105208
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
105288
|
-
ipaddr /* Next-hop address */,
|
105289
105209
|
"reject" /* Use a reject next hop */,
|
105290
105210
|
"discard" /* Use a discard next hop */,
|
105291
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
105211
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
105212
|
+
ipaddr /* Next-hop address */
|
105292
105213
|
)
|
105293
105214
|
)
|
105294
105215
|
).as(:oneline),
|
@@ -105552,11 +105473,11 @@ end
|
|
105552
105473
|
|
105553
105474
|
rule(:routing_destination_address) do
|
105554
105475
|
c(
|
105555
|
-
ipaddr /* IP address */,
|
105556
105476
|
"port" arg /* Port number */,
|
105557
105477
|
"transport-protocol" ( /* Transport protocol */
|
105558
105478
|
transport_protocol /* Transport protocol */
|
105559
|
-
)
|
105479
|
+
),
|
105480
|
+
ipaddr /* IP address */
|
105560
105481
|
).as(:oneline)
|
105561
105482
|
end
|
105562
105483
|
|
@@ -107412,12 +107333,6 @@ rule(:ipsec_sa) do
|
|
107412
107333
|
)
|
107413
107334
|
end
|
107414
107335
|
|
107415
|
-
rule(:ipsec_traceoptions) do
|
107416
|
-
c(
|
107417
|
-
"flag" enum(("packet-processing" | "packet-drops" | "security-associations" | "next-hop-tunnel-binding" | "all")) /* Events to include in data-plane IPSec trace output */.as(:oneline)
|
107418
|
-
)
|
107419
|
-
end
|
107420
|
-
|
107421
107336
|
rule(:ipsec_trusted_channel_sa) do
|
107422
107337
|
c(
|
107423
107338
|
"description" arg /* Text description of trusted channel security association */,
|
@@ -107467,114 +107382,6 @@ rule(:ipsec_trusted_channel_sa) do
|
|
107467
107382
|
)
|
107468
107383
|
end
|
107469
107384
|
|
107470
|
-
rule(:ipsec_vpn_monitor) do
|
107471
|
-
c(
|
107472
|
-
"interval" arg /* Monitor interval in seconds */,
|
107473
|
-
"threshold" arg /* Number of consecutive failures to determine connectivity */
|
107474
|
-
)
|
107475
|
-
end
|
107476
|
-
|
107477
|
-
rule(:ipsec_vpn_template) do
|
107478
|
-
arg.as(:arg) (
|
107479
|
-
c(
|
107480
|
-
"bind-interface" ( /* Bind to tunnel interface (route-based VPN) */
|
107481
|
-
interface_name /* Bind to tunnel interface (route-based VPN) */
|
107482
|
-
),
|
107483
|
-
"df-bit" ( /* Specifies how to handle the Don't Fragment bit */
|
107484
|
-
("clear" | "set" | "copy")
|
107485
|
-
),
|
107486
|
-
"vpn-monitor" ( /* Monitor VPN liveliness */
|
107487
|
-
ipsec_template_monitor /* Monitor VPN liveliness */
|
107488
|
-
),
|
107489
|
-
c(
|
107490
|
-
"manual" ( /* Define a manual security association */
|
107491
|
-
c(
|
107492
|
-
"gateway" ( /* Define the IPSec peer */
|
107493
|
-
hostname /* Define the IPSec peer */
|
107494
|
-
),
|
107495
|
-
"external-interface" ( /* External interface for the security association */
|
107496
|
-
interface_unit /* External interface for the security association */
|
107497
|
-
),
|
107498
|
-
"protocol" ( /* Define an IPSec protocol for the security association */
|
107499
|
-
("ah" | "esp")
|
107500
|
-
),
|
107501
|
-
"spi" arg /* Define security parameter index */,
|
107502
|
-
"authentication" ( /* Define authentication parameters */
|
107503
|
-
c(
|
107504
|
-
"algorithm" ( /* Define authentication algorithm */
|
107505
|
-
("hmac-md5-96" | "hmac-sha1-96" | "hmac-sha-256-128" | "hmac-sha-256-96")
|
107506
|
-
),
|
107507
|
-
"key" ( /* Define an authentication key */
|
107508
|
-
sc(
|
107509
|
-
c(
|
107510
|
-
"ascii-text" arg /* Format as text */,
|
107511
|
-
"hexadecimal" arg /* Format as hexadecimal */
|
107512
|
-
)
|
107513
|
-
)
|
107514
|
-
).as(:oneline)
|
107515
|
-
)
|
107516
|
-
),
|
107517
|
-
"encryption" ( /* Define encryption parameters */
|
107518
|
-
c(
|
107519
|
-
"algorithm" ( /* Define encryption algorithm */
|
107520
|
-
("des-cbc" | "3des-cbc" | "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc")
|
107521
|
-
),
|
107522
|
-
"key" ( /* Define an encryption key */
|
107523
|
-
sc(
|
107524
|
-
c(
|
107525
|
-
"ascii-text" arg /* Format as text */,
|
107526
|
-
"hexadecimal" arg /* Format as hexadecimal */
|
107527
|
-
)
|
107528
|
-
)
|
107529
|
-
).as(:oneline)
|
107530
|
-
)
|
107531
|
-
)
|
107532
|
-
)
|
107533
|
-
),
|
107534
|
-
"ike" ( /* Define an IKE-keyed IPSec vpn */
|
107535
|
-
c(
|
107536
|
-
"gateway" arg /* Name of remote gateway */,
|
107537
|
-
"idle-time" arg /* Idle time to delete SA */,
|
107538
|
-
"no-anti-replay" /* Disable the anti-replay check */,
|
107539
|
-
"proxy-identity" ( /* IPSec proxy-id to use in IKE negotiations */
|
107540
|
-
ipsec_template_proxy_id /* IPSec proxy-id to use in IKE negotiations */
|
107541
|
-
),
|
107542
|
-
"ipsec-policy" arg /* Name of the IPSec policy */,
|
107543
|
-
"install-interval" arg /* Delay installation of rekeyed outbound SAs on initiator */
|
107544
|
-
)
|
107545
|
-
)
|
107546
|
-
),
|
107547
|
-
"establish-tunnels" ( /* Define the criteria to establish tunnels */
|
107548
|
-
("immediately" | "on-traffic")
|
107549
|
-
)
|
107550
|
-
)
|
107551
|
-
)
|
107552
|
-
end
|
107553
|
-
|
107554
|
-
rule(:ipsec_template_monitor) do
|
107555
|
-
c(
|
107556
|
-
"optimized" /* Optimize for scalability */,
|
107557
|
-
"source-interface" ( /* Source interface for monitor message */
|
107558
|
-
interface_unit /* Source interface for monitor message */
|
107559
|
-
),
|
107560
|
-
"destination-ip" ( /* Destination IP addres for monitor message */
|
107561
|
-
ipaddr /* Destination IP addres for monitor message */
|
107562
|
-
)
|
107563
|
-
)
|
107564
|
-
end
|
107565
|
-
|
107566
|
-
rule(:ipsec_template_proxy_id) do
|
107567
|
-
c(
|
107568
|
-
"local" ( /* Local IP address/prefix length */
|
107569
|
-
ipprefix_mandatory /* Local IP address/prefix length */
|
107570
|
-
),
|
107571
|
-
"remote" ( /* Remote IP address/prefix length */
|
107572
|
-
ipprefix_mandatory /* Remote IP address/prefix length */
|
107573
|
-
),
|
107574
|
-
"service" arg /* Name of serivce that passes through, any enables all services */
|
107575
|
-
)
|
107576
|
-
end
|
107577
|
-
|
107578
107385
|
rule(:security_macsec) do
|
107579
107386
|
c(
|
107580
107387
|
"traceoptions" ( /* Tracing options for debugging protocol operation */
|
@@ -108138,14 +107945,14 @@ rule(:service_set_ipsec_vpn_options_object) do
|
|
108138
107945
|
"trusted-ca" arg /* List of trusted certificate authority profiles */,
|
108139
107946
|
"local-gateway" ( /* Address and routing instance for local gateway */
|
108140
107947
|
sc(
|
108141
|
-
ipaddr /* Local gateway address */,
|
108142
107948
|
"routing-instance" arg /* Name of routing instance that hosts local gateway */,
|
108143
107949
|
"interface" ( /* Interface as local gateway */
|
108144
107950
|
interface_unit /* Interface as local gateway */
|
108145
107951
|
),
|
108146
107952
|
"gw-interface" ( /* Interface as local gateway */
|
108147
107953
|
interface_unit /* Interface as local gateway */
|
108148
|
-
)
|
107954
|
+
),
|
107955
|
+
ipaddr /* Local gateway address */
|
108149
107956
|
)
|
108150
107957
|
).as(:oneline),
|
108151
107958
|
"ike-access-profile" arg /* IKE access profile for dynamic peers */,
|
@@ -109942,10 +109749,10 @@ rule(:source_address_filter_list_items) do
|
|
109942
109749
|
c(
|
109943
109750
|
"self" /* Use a local address as the next-hop address */,
|
109944
109751
|
"peer-address" /* Use the remote peer address as the next-hop address */,
|
109945
|
-
ipaddr /* Next-hop address */,
|
109946
109752
|
"reject" /* Use a reject next hop */,
|
109947
109753
|
"discard" /* Use a discard next hop */,
|
109948
|
-
"next-table" arg /* Perform a forwarding lookup in the specified table
|
109754
|
+
"next-table" arg /* Perform a forwarding lookup in the specified table */,
|
109755
|
+
ipaddr /* Next-hop address */
|
109949
109756
|
)
|
109950
109757
|
)
|
109951
109758
|
).as(:oneline),
|
@@ -115822,8 +115629,8 @@ rule(:default_anti_virus_feature) do
|
|
115822
115629
|
c(
|
115823
115630
|
"server" ( /* SAV and Anti-Spam first hop DNS server */
|
115824
115631
|
c(
|
115825
|
-
|
115826
|
-
|
115632
|
+
"routing-instance" arg /* Routing instance name */,
|
115633
|
+
ipaddr /* SAV and Anti-Spam first hop DNS server ip */
|
115827
115634
|
)
|
115828
115635
|
),
|
115829
115636
|
"sxl-timeout" arg /* Sxl sophos anti-virus engine timeout */,
|
@@ -116163,9 +115970,9 @@ end
|
|
116163
115970
|
|
116164
115971
|
rule(:host_object) do
|
116165
115972
|
c(
|
116166
|
-
ipaddr /* IP address */,
|
116167
115973
|
"port" arg /* Host port number */,
|
116168
|
-
"routing-instance" arg /* Routing-instance name
|
115974
|
+
"routing-instance" arg /* Routing-instance name */,
|
115975
|
+
ipaddr /* IP address */
|
116169
115976
|
)
|
116170
115977
|
end
|
116171
115978
|
|
@@ -116563,7 +116370,6 @@ rule(:address_type) do
|
|
116563
116370
|
c(
|
116564
116371
|
"description" arg /* Text description of address */,
|
116565
116372
|
c(
|
116566
|
-
ipprefix /* Numeric IPv4 or IPv6 address with prefix */,
|
116567
116373
|
"dns-name" ( /* DNS address name */
|
116568
116374
|
dns_name_type /* DNS address name */
|
116569
116375
|
),
|
@@ -116572,7 +116378,8 @@ rule(:address_type) do
|
|
116572
116378
|
),
|
116573
116379
|
"range-address" ( /* Address range */
|
116574
116380
|
range_address_type /* Address range */
|
116575
|
-
)
|
116381
|
+
),
|
116382
|
+
ipprefix /* Numeric IPv4 or IPv6 address with prefix */
|
116576
116383
|
)
|
116577
116384
|
)
|
116578
116385
|
)
|
@@ -117077,36 +116884,6 @@ rule(:security_ipsec_policy) do
|
|
117077
116884
|
)
|
117078
116885
|
end
|
117079
116886
|
|
117080
|
-
rule(:security_ipsec_vpn) do
|
117081
|
-
c(
|
117082
|
-
"internal" ( /* Define an IPSec SA for internal RE-RE communication */
|
117083
|
-
c(
|
117084
|
-
"security-association" ( /* Define an IPsec security association */
|
117085
|
-
ipsec_internal_sa /* Define an IPsec security association */
|
117086
|
-
)
|
117087
|
-
)
|
117088
|
-
),
|
117089
|
-
"traceoptions" ( /* Trace options for IPSec data-plane debug */
|
117090
|
-
ipsec_traceoptions /* Trace options for IPSec data-plane debug */
|
117091
|
-
),
|
117092
|
-
"vpn-monitor-options" ( /* Global options for VPN liveliness monitoring */
|
117093
|
-
ipsec_vpn_monitor /* Global options for VPN liveliness monitoring */
|
117094
|
-
),
|
117095
|
-
"proposal" ( /* Define an IPSec proposal */
|
117096
|
-
ipsec_proposal /* Define an IPSec proposal */
|
117097
|
-
),
|
117098
|
-
"policy" ( /* Define an IPSec policy */
|
117099
|
-
ipsec_policy /* Define an IPSec policy */
|
117100
|
-
),
|
117101
|
-
"vpn" ( /* Define an IPSec VPN */
|
117102
|
-
ipsec_vpn_template /* Define an IPSec VPN */
|
117103
|
-
),
|
117104
|
-
"security-association" ( /* Define a manual control plane SA */
|
117105
|
-
ipsec_sa /* Define a manual control plane SA */
|
117106
|
-
)
|
117107
|
-
)
|
117108
|
-
end
|
117109
|
-
|
117110
116887
|
rule(:ipsec_traceoptions) do
|
117111
116888
|
c(
|
117112
116889
|
"flag" enum(("packet-processing" | "packet-drops" | "security-associations" | "next-hop-tunnel-binding" | "all")) /* Events to include in data-plane IPSec trace output */.as(:oneline)
|
@@ -117450,7 +117227,6 @@ rule(:ssg_destination_nat_object) do
|
|
117450
117227
|
),
|
117451
117228
|
"address" ( /* Add address or address range to pool */
|
117452
117229
|
sc(
|
117453
|
-
ipprefix /* IPv4 or IPv6 address or address range */,
|
117454
117230
|
c(
|
117455
117231
|
"to" ( /* Upper limit of address range */
|
117456
117232
|
c(
|
@@ -117458,7 +117234,8 @@ rule(:ssg_destination_nat_object) do
|
|
117458
117234
|
)
|
117459
117235
|
),
|
117460
117236
|
"port" arg /* Specify the port value */
|
117461
|
-
)
|
117237
|
+
),
|
117238
|
+
ipprefix /* IPv4 or IPv6 address or address range */
|
117462
117239
|
)
|
117463
117240
|
).as(:oneline)
|
117464
117241
|
)
|
@@ -118056,13 +117833,13 @@ rule(:static_nat_rule_object) do
|
|
118056
117833
|
),
|
118057
117834
|
"prefix" ( /* Address prefix */
|
118058
117835
|
c(
|
118059
|
-
ipprefix /* IPv4 or IPv6 address prefix value */,
|
118060
117836
|
"mapped-port" ( /* Mapped port */
|
118061
117837
|
static_nat_rule_mapped_port_object /* Mapped port */
|
118062
117838
|
).as(:oneline),
|
118063
117839
|
"routing-instance" ( /* Routing instance */
|
118064
117840
|
("default" | arg)
|
118065
|
-
)
|
117841
|
+
),
|
117842
|
+
ipprefix /* IPv4 or IPv6 address prefix value */
|
118066
117843
|
)
|
118067
117844
|
),
|
118068
117845
|
"prefix-name" ( /* Address from address book */
|
@@ -118078,10 +117855,10 @@ rule(:static_nat_rule_object) do
|
|
118078
117855
|
),
|
118079
117856
|
"nptv6-prefix" ( /* NPTv6 address prefix, the longest prefix will be supported is /64 */
|
118080
117857
|
c(
|
118081
|
-
ipprefix /* IPv6 address prefix value, the longest prefix will be supported is /64 */,
|
118082
117858
|
"routing-instance" ( /* Routing instance */
|
118083
117859
|
("default" | arg)
|
118084
|
-
)
|
117860
|
+
),
|
117861
|
+
ipprefix /* IPv6 address prefix value, the longest prefix will be supported is /64 */
|
118085
117862
|
)
|
118086
117863
|
),
|
118087
117864
|
"nptv6-prefix-name" ( /* NPTv6 address from address book */
|
@@ -118416,4 +118193,91 @@ rule(:zone_system_services_object_type) do
|
|
118416
118193
|
)
|
118417
118194
|
)
|
118418
118195
|
end
|
118196
|
+
|
118197
|
+
rule(:application_object) do
|
118198
|
+
arg.as(:arg) (
|
118199
|
+
c(
|
118200
|
+
"description" arg /* Text description of application */,
|
118201
|
+
"term" ( /* Define individual application protocols */
|
118202
|
+
term_object /* Define individual application protocols */
|
118203
|
+
),
|
118204
|
+
"application-protocol" ( /* Application protocol type */
|
118205
|
+
("bootp" | "dce-rpc" | "dce-rpc-portmap" | "dns" | "exec" | "ftp" | "ftp-data" | "gprs-gtp-c" | "gprs-gtp-u" | "gprs-gtp-v0" | "gprs-sctp" | "h323" | "icmp" | "icmpv6" | "ignore" | "iiop" | "ike-esp-nat" | "ip" | "login" | "mgcp-ca" | "mgcp-ua" | "ms-rpc" | "netbios" | "netshow" | "none" | "pptp" | "q931" | "ras" | "realaudio" | "rpc" | "rpc-portmap" | "rsh" | "rtsp" | "sccp" | "sip" | "shell" | "snmp" | "sqlnet" | "sqlnet-v2" | "sun-rpc" | "talk" | "tftp" | "traceroute" | "http" | "winframe" | "https" | "imap" | "smtp" | "ssh" | "telnet" | "twamp")
|
118206
|
+
),
|
118207
|
+
"protocol" ( /* Match IP protocol type */
|
118208
|
+
("icmp" | "igmp" | "ipip" | "tcp" | "egp" | "udp" | "rsvp" | "gre" | "esp" | "ah" | "icmp6" | "ospf" | "pim" | "sctp" | arg)
|
118209
|
+
),
|
118210
|
+
"source-port" ( /* Match TCP/UDP source port */
|
118211
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118212
|
+
),
|
118213
|
+
"destination-port" ( /* Match TCP/UDP destination port */
|
118214
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118215
|
+
),
|
118216
|
+
"ether-type" arg /* Match ether type */,
|
118217
|
+
"snmp-command" arg /* Match SNMP command */,
|
118218
|
+
"icmp-type" ( /* Match ICMP message type */
|
118219
|
+
("echo-request" | "echo-reply" | "unreachable" | "source-quench" | "redirect" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "timestamp" | "timestamp-reply" | "info-request" | "info-reply" | "mask-request" | "mask-reply" | arg)
|
118220
|
+
),
|
118221
|
+
"icmp6-type" ( /* Match ICMP6 message type */
|
118222
|
+
("echo-request" | "echo-reply" | "destination-unreachable" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "packet-too-big" | "membership-query" | "membership-report" | "membership-termination" | "redirect" | "neighbor-solicit" | "neighbor-advertisement" | "router-renumbering" | "node-information-request" | "node-information-reply" | arg)
|
118223
|
+
),
|
118224
|
+
"icmp-code" ( /* Match ICMP message code */
|
118225
|
+
("network-unreachable" | "host-unreachable" | "protocol-unreachable" | "port-unreachable" | "fragmentation-needed" | "source-route-failed" | "destination-network-unknown" | "destination-host-unknown" | "source-host-isolated" | "destination-network-prohibited" | "destination-host-prohibited" | "network-unreachable-for-tos" | "host-unreachable-for-tos" | "communication-prohibited-by-filtering" | "host-precedence-violation" | "precedence-cutoff-in-effect" | "redirect-for-network" | "redirect-for-host" | "redirect-for-tos-and-net" | "redirect-for-tos-and-host" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip-header-bad" | "required-option-missing" | arg)
|
118226
|
+
),
|
118227
|
+
"icmp6-code" ( /* Match ICMP6 message code */
|
118228
|
+
("no-route-to-destination" | "administratively-prohibited" | "address-unreachable" | "port-unreachable" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip6-header-bad" | "unrecognized-next-header" | "unrecognized-option" | arg)
|
118229
|
+
),
|
118230
|
+
"ttl-threshold" arg /* Traceroute TTL threshold */,
|
118231
|
+
"rpc-program-number" arg /* Match range of RPC program numbers */,
|
118232
|
+
"uuid" arg /* Match universal unique identifier for DCE RPC objects */,
|
118233
|
+
"inactivity-timeout" ( /* Application-specific inactivity timeout */
|
118234
|
+
("never" | arg)
|
118235
|
+
),
|
118236
|
+
"gate-timeout" arg /* Application-specific gate timeout */,
|
118237
|
+
"child-inactivity-timeout" arg /* Application-specific child session inactivity timeout */,
|
118238
|
+
"learn-sip-register" /* Learn potential incoming SIP calls by inspecting the SIP register method */,
|
118239
|
+
"sip-call-hold-timeout" arg /* SIP flow timeout when call is put on hold */,
|
118240
|
+
c(
|
118241
|
+
"do-not-translate-AAAA-query-to-A-query" /* Knob to control the translation of AAAA query to A query */,
|
118242
|
+
"do-not-translate-A-query-to-AAAA-query" /* Knob to control the translation of A query to AAAA query */
|
118243
|
+
)
|
118244
|
+
)
|
118245
|
+
)
|
118246
|
+
end
|
118247
|
+
|
118248
|
+
rule(:term_object) do
|
118249
|
+
arg.as(:arg) (
|
118250
|
+
c(
|
118251
|
+
"alg" ( /* Application Layer Gateway */
|
118252
|
+
("bootp" | "dce-rpc" | "dce-rpc-portmap" | "dns" | "exec" | "ftp" | "ftp-data" | "gprs-gtp-c" | "gprs-gtp-u" | "gprs-gtp-v0" | "gprs-sctp" | "h323" | "icmp" | "icmpv6" | "ignore" | "iiop" | "ike-esp-nat" | "ip" | "login" | "mgcp-ca" | "mgcp-ua" | "ms-rpc" | "netbios" | "netshow" | "none" | "pptp" | "q931" | "ras" | "realaudio" | "rpc" | "rpc-portmap" | "rsh" | "rtsp" | "sccp" | "sip" | "shell" | "snmp" | "sqlnet" | "sqlnet-v2" | "sun-rpc" | "talk" | "tftp" | "traceroute" | "http" | "winframe" | "https" | "imap" | "smtp" | "ssh" | "telnet" | "twamp")
|
118253
|
+
),
|
118254
|
+
"protocol" ( /* Match IP protocol type */
|
118255
|
+
("icmp" | "igmp" | "ipip" | "tcp" | "egp" | "udp" | "rsvp" | "gre" | "esp" | "ah" | "icmp6" | "ospf" | "pim" | "sctp" | arg)
|
118256
|
+
),
|
118257
|
+
"source-port" ( /* Match TCP/UDP source port */
|
118258
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118259
|
+
),
|
118260
|
+
"destination-port" ( /* Match TCP/UDP destination port */
|
118261
|
+
("ftp-data" | "ftp" | "ssh" | "telnet" | "smtp" | "tacacs" | "tacacs-ds" | "domain" | "dhcp" | "bootps" | "bootpc" | "tftp" | "finger" | "http" | "kerberos-sec" | "pop3" | "sunrpc" | "ident" | "nntp" | "ntp" | "netbios-ns" | "netbios-dgm" | "netbios-ssn" | "imap" | "snmp" | "snmptrap" | "xdmcp" | "bgp" | "ldap" | "mobileip-agent" | "mobilip-mn" | "msdp" | "https" | "snpp" | "biff" | "exec" | "login" | "who" | "cmd" | "syslog" | "printer" | "talk" | "ntalk" | "rip" | "timed" | "klogin" | "kshell" | "ldp" | "krb-prop" | "krbupdate" | "kpasswd" | "socks" | "afs" | "pptp" | "radius" | "radacct" | "zephyr-srv" | "zephyr-clt" | "zephyr-hm" | "nfsd" | "eklogin" | "ekshell" | "rkinit" | "cvspserver" | arg)
|
118262
|
+
),
|
118263
|
+
"icmp-type" ( /* Match ICMP message type */
|
118264
|
+
("echo-request" | "echo-reply" | "unreachable" | "source-quench" | "redirect" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "timestamp" | "timestamp-reply" | "info-request" | "info-reply" | "mask-request" | "mask-reply" | arg)
|
118265
|
+
),
|
118266
|
+
"icmp-code" ( /* Match ICMP message code */
|
118267
|
+
("network-unreachable" | "host-unreachable" | "protocol-unreachable" | "port-unreachable" | "fragmentation-needed" | "source-route-failed" | "destination-network-unknown" | "destination-host-unknown" | "source-host-isolated" | "destination-network-prohibited" | "destination-host-prohibited" | "network-unreachable-for-tos" | "host-unreachable-for-tos" | "communication-prohibited-by-filtering" | "host-precedence-violation" | "precedence-cutoff-in-effect" | "redirect-for-network" | "redirect-for-host" | "redirect-for-tos-and-net" | "redirect-for-tos-and-host" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip-header-bad" | "required-option-missing" | arg)
|
118268
|
+
),
|
118269
|
+
"icmp6-type" ( /* Match ICMP6 message type */
|
118270
|
+
("echo-request" | "echo-reply" | "destination-unreachable" | "router-advertisement" | "router-solicit" | "time-exceeded" | "parameter-problem" | "packet-too-big" | "membership-query" | "membership-report" | "membership-termination" | "redirect" | "neighbor-solicit" | "neighbor-advertisement" | "router-renumbering" | "node-information-request" | "node-information-reply" | arg)
|
118271
|
+
),
|
118272
|
+
"icmp6-code" ( /* Match ICMP6 message code */
|
118273
|
+
("no-route-to-destination" | "administratively-prohibited" | "address-unreachable" | "port-unreachable" | "ttl-eq-zero-during-transit" | "ttl-eq-zero-during-reassembly" | "ip6-header-bad" | "unrecognized-next-header" | "unrecognized-option" | arg)
|
118274
|
+
),
|
118275
|
+
"rpc-program-number" arg /* Match range of RPC program numbers */,
|
118276
|
+
"uuid" arg /* Match universal unique identifier for DCE RPC objects */,
|
118277
|
+
"inactivity-timeout" ( /* Application-specific inactivity timeout */
|
118278
|
+
("never" | arg)
|
118279
|
+
)
|
118280
|
+
)
|
118281
|
+
).as(:oneline)
|
118282
|
+
end
|
118419
118283
|
# End of vSRX 18.3R1.9
|