network-utility 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +2 -0
- data/document/acl-M6000-16E.md +27 -0
- data/document/acl-M6000-18S.md +27 -0
- data/document/acl-M6000-8.md +27 -0
- data/document/acl-M6000-8E.md +27 -0
- data/document/acl-MA5200G-8.md +204 -0
- data/document/acl-ME60-16.md +177 -0
- data/document/acl-ME60-X16.md +177 -0
- data/document/acl-NE40E-X16.md +204 -0
- data/document/acl-NE40E-X16A.md +204 -0
- data/document/acl-NE40E-X8.md +204 -0
- data/document/acl-NE40E.md +204 -0
- data/document/acl-NE5000E-20.md +25 -0
- data/document/acl-NE5000E-X16.md +25 -0
- data/document/acl-NE5000E-X16A.md +25 -0
- data/document/acl-NE80E.md +204 -0
- data/document/bgp-CR16010H-F.md +25 -0
- data/document/bgp-CR16018-F.md +25 -0
- data/document/bgp-CR19000-20.md +25 -0
- data/document/bgp-M6000-16E.md +25 -0
- data/document/bgp-M6000-18S.md +25 -0
- data/document/bgp-M6000-8.md +25 -0
- data/document/bgp-M6000-8E.md +25 -0
- data/document/bgp-MA5200G-8.md +25 -0
- data/document/bgp-ME60-16.md +25 -0
- data/document/bgp-ME60-X16.md +25 -0
- data/document/bgp-NE40E-X16.md +25 -0
- data/document/bgp-NE40E-X16A.md +25 -0
- data/document/bgp-NE40E-X8.md +25 -0
- data/document/bgp-NE40E.md +25 -0
- data/document/bgp-NE5000E-20.md +25 -0
- data/document/bgp-NE5000E-X16.md +25 -0
- data/document/bgp-NE5000E-X16A.md +25 -0
- data/document/bgp-NE80E.md +25 -0
- data/document/config.md +1153 -0
- data/document/document.rb +27 -0
- data/document/if-ALCATEL7750.md +48 -0
- data/document/if-C7609.md +47 -0
- data/document/if-CR16010H-F.md +300 -0
- data/document/if-CR16018-F.md +300 -0
- data/document/if-CR19000-20.md +300 -0
- data/document/if-CRS-16.md +47 -0
- data/document/if-CX600-X16A.md +349 -0
- data/document/if-CX600-X8A.md +349 -0
- data/document/if-M6000-16E.md +652 -0
- data/document/if-M6000-18S.md +846 -0
- data/document/if-M6000-8.md +653 -0
- data/document/if-M6000-8E.md +653 -0
- data/document/if-MA5200G-8.md +357 -0
- data/document/if-ME60-16.md +357 -0
- data/document/if-ME60-X16.md +357 -0
- data/document/if-NE40E-X16.md +357 -0
- data/document/if-NE40E-X16A.md +357 -0
- data/document/if-NE40E-X8.md +357 -0
- data/document/if-NE40E.md +357 -0
- data/document/if-NE5000E-20.md +357 -0
- data/document/if-NE5000E-X16.md +357 -0
- data/document/if-NE5000E-X16A.md +357 -0
- data/document/if-NE8000E-X8.md +357 -0
- data/document/if-NE80E.md +357 -0
- data/document/if-NE8100-X8.md +357 -0
- data/document/if-Nokia7750.md +48 -0
- data/document/if-T8000-18.md +653 -0
- data/document/if-V6000.md +663 -0
- data/document/if-VNE9000.md +357 -0
- data/document/if-ZXCTN9000-18EA.md +762 -0
- data/document/if-ZXCTN9000-8EA.md +762 -0
- data/document/lic-M6000-16E.md +28 -0
- data/document/lic-M6000-18S.md +28 -0
- data/document/lic-M6000-8.md +28 -0
- data/document/lic-M6000-8E.md +28 -0
- data/document/lic-MA5200G-8.md +27 -0
- data/document/lic-ME60-16.md +27 -0
- data/document/lic-ME60-X16.md +27 -0
- data/document/lic-NE40E-X16.md +27 -0
- data/document/lic-NE40E-X16A.md +27 -0
- data/document/lic-NE40E-X8.md +27 -0
- data/document/log-M6000-16E.md +36 -0
- data/document/log-M6000-18S.md +36 -0
- data/document/log-M6000-8.md +36 -0
- data/document/log-M6000-8E.md +36 -0
- data/document/log-MA5200G-8.md +61 -0
- data/document/log-ME60-16.md +61 -0
- data/document/log-ME60-X16.md +61 -0
- data/document/log-NE40E-X16.md +61 -0
- data/document/log-NE40E-X16A.md +61 -0
- data/document/log-NE40E-X8.md +61 -0
- data/document/log-NE40E.md +61 -0
- data/document/log-NE5000E-20.md +61 -0
- data/document/log-NE5000E-X16.md +61 -0
- data/document/log-NE5000E-X16A.md +61 -0
- data/document/log-NE80E.md +61 -0
- data/document/nat-CR16010H-F.md +27 -0
- data/document/nat-CR16018-F.md +27 -0
- data/document/nat-M6000-16E.md +27 -0
- data/document/nat-M6000-18S.md +27 -0
- data/document/nat-M6000-8.md +27 -0
- data/document/nat-M6000-8E.md +27 -0
- data/document/nat-ME60-16.md +44 -0
- data/document/nat-ME60-X16.md +44 -0
- data/document/nat-NE40E-X16.md +44 -0
- data/document/nat-NE40E-X16A.md +44 -0
- data/document/policy-M6000-16E.md +13 -0
- data/document/policy-M6000-18S.md +13 -0
- data/document/policy-M6000-8.md +13 -0
- data/document/policy-M6000-8E.md +13 -0
- data/document/policy-MA5200G-8.md +87 -0
- data/document/policy-ME60-16.md +87 -0
- data/document/policy-ME60-X16.md +87 -0
- data/document/policy-NE40E-X16.md +87 -0
- data/document/policy-NE40E-X16A.md +87 -0
- data/document/policy-NE40E-X8.md +87 -0
- data/document/policy-NE40E.md +87 -0
- data/document/policy-NE5000E-20.md +87 -0
- data/document/policy-NE5000E-X16.md +87 -0
- data/document/policy-NE5000E-X16A.md +87 -0
- data/document/policy-NE80E.md +87 -0
- data/document/pool-M6000-16E.md +126 -0
- data/document/pool-M6000-18S.md +126 -0
- data/document/pool-M6000-8.md +126 -0
- data/document/pool-M6000-8E.md +126 -0
- data/document/pool-MA5200G-8.md +138 -0
- data/document/pool-ME60-16.md +138 -0
- data/document/pool-ME60-X16.md +138 -0
- data/document/pool-NE40E-X16.md +138 -0
- data/document/pool-NE40E-X16A.md +138 -0
- data/document/pool-NE40E-X8.md +138 -0
- data/document/pool-NE40E.md +138 -0
- data/document/pool-NE80E.md +138 -0
- data/document/static-CR16010H-F.md +60 -0
- data/document/static-CR16018-F.md +60 -0
- data/document/static-CR19000-20.md +60 -0
- data/document/static-CX600-X16A.md +26 -0
- data/document/static-CX600-X8A.md +26 -0
- data/document/static-M6000-16E.md +104 -0
- data/document/static-M6000-18S.md +104 -0
- data/document/static-M6000-8.md +104 -0
- data/document/static-M6000-8E.md +104 -0
- data/document/static-MA5200G-8.md +82 -0
- data/document/static-ME60-16.md +82 -0
- data/document/static-ME60-X16.md +82 -0
- data/document/static-NE40E-X16.md +82 -0
- data/document/static-NE40E-X16A.md +81 -0
- data/document/static-NE40E-X8.md +82 -0
- data/document/static-NE40E.md +67 -0
- data/document/static-NE5000E-20.md +67 -0
- data/document/static-NE5000E-X16.md +67 -0
- data/document/static-NE5000E-X16A.md +67 -0
- data/document/static-NE8000E-X8.md +26 -0
- data/document/static-NE80E.md +67 -0
- data/document/static-NE8100-X8.md +26 -0
- data/document/static-T8000-18.md +34 -0
- data/document/static-ZXCTN9000-18EA.md +34 -0
- data/document/static-ZXCTN9000-8EA.md +34 -0
- data/document/system-M6000-16E.md +75 -0
- data/document/system-M6000-18S.md +76 -0
- data/document/system-M6000-8.md +75 -0
- data/document/system-M6000-8E.md +75 -0
- data/document/system-MA5200G-8.md +51 -0
- data/document/system-ME60-16.md +51 -0
- data/document/system-ME60-X16.md +51 -0
- data/document/system-NE40E-X16.md +51 -0
- data/document/system-NE40E-X16A.md +51 -0
- data/document/system-NE40E-X8.md +51 -0
- data/document/system-NE40E.md +51 -0
- data/document/system-NE5000E-20.md +51 -0
- data/document/system-NE5000E-X16.md +51 -0
- data/document/system-NE5000E-X16A.md +51 -0
- data/document/system-NE80E.md +51 -0
- data/document/telnet.md +332 -0
- data/network.rb +24 -0
- data/utility/ipv4_address.rb +266 -0
- data/utility/ipv6_address.rb +201 -0
- data/utility/mac_address.rb +77 -0
- data/utility/netmerge.rb +46 -0
- data/utility/route.rb +79 -0
- data/utility/whitelist.rb +21 -0
- metadata +258 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
|
|
2
|
+
# NE40E-X16A 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE40E-X16A', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE40E_X16A
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE40E-X16A', '静态用户地址']
|
|
30
|
+
@sign << ['NE40E-X16A', '静态接口地址']
|
|
31
|
+
@sign << ['NE40E-X16A', '静态域地址']
|
|
32
|
+
|
|
33
|
+
module NE40E_X16A
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
pools = *guards
|
|
65
|
+
pools.each do|dname|
|
|
66
|
+
content = raw.split("display access-user domain #{dname}")[1].to_s.split('<HB-')[0].to_s
|
|
67
|
+
textlist = content.split('------------------------------------------------------------------------------')[2].to_s
|
|
68
|
+
textlist.split("\n").each do|line|
|
|
69
|
+
item = line.strip.split(' ')
|
|
70
|
+
if item.size == 3
|
|
71
|
+
tab[-1] += item
|
|
72
|
+
else
|
|
73
|
+
tab << item
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
return tab
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
```
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
|
|
2
|
+
# NE40E-X8 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE40E-X8', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE40E_X8
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE40E-X8', '静态用户地址']
|
|
30
|
+
@sign << ['NE40E-X8', '静态接口地址']
|
|
31
|
+
@sign << ['NE40E-X8', '静态域地址']
|
|
32
|
+
|
|
33
|
+
module NE40E_X8
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
pools = *guards
|
|
65
|
+
pools.each do|dname|
|
|
66
|
+
|
|
67
|
+
content = raw.split("display access-user domain #{dname}")[1].to_s.split('<HB-')[0].to_s
|
|
68
|
+
textlist = content.split('------------------------------------------------------------------------------')[2].to_s
|
|
69
|
+
textlist.split("\n").each do|line|
|
|
70
|
+
item = line.strip.split(' ')
|
|
71
|
+
if item.size == 3
|
|
72
|
+
tab[-1] += item
|
|
73
|
+
else
|
|
74
|
+
tab << item
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
return tab
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
# NE40E 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE40E', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE40E
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE40E', '静态用户地址']
|
|
30
|
+
@sign << ['NE40E', '静态接口地址']
|
|
31
|
+
@sign << ['NE40E', '静态域地址', 'NOT SUPPORT']
|
|
32
|
+
|
|
33
|
+
module NE40E
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
# NOT SUPPORT
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
# NE5000E-20 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE5000E-20', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE5000E_20
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE5000E-20', '静态用户地址']
|
|
30
|
+
@sign << ['NE5000E-20', '静态接口地址']
|
|
31
|
+
@sign << ['NE5000E-20', '静态域地址', 'NOT SUPPORT']
|
|
32
|
+
|
|
33
|
+
module NE5000E_20
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
# NOT SUPPORT
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
# NE5000E-X16 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE5000E-X16', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE5000E_X16
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE5000E-X16', '静态用户地址']
|
|
30
|
+
@sign << ['NE5000E-X16', '静态接口地址']
|
|
31
|
+
@sign << ['NE5000E-X16', '静态域地址', 'NOT SUPPORT']
|
|
32
|
+
|
|
33
|
+
module NE5000E_X16
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
# NOT SUPPORT
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
# NE5000E-X16A 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE5000E-X16A', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE5000E_X16A
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE5000E-X16A', '静态用户地址']
|
|
30
|
+
@sign << ['NE5000E-X16A', '静态接口地址']
|
|
31
|
+
@sign << ['NE5000E-X16A', '静态域地址', 'NOT SUPPORT']
|
|
32
|
+
|
|
33
|
+
module NE5000E_X16A
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
# NOT SUPPORT
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
# NE8000E-X8 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE8000E-X8', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE8000E_X8
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
# NE80E 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE80E', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE80E
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
@sign << ['NE80E', '静态用户地址']
|
|
30
|
+
@sign << ['NE80E', '静态接口地址']
|
|
31
|
+
@sign << ['NE80E', '静态域地址', 'NOT SUPPORT']
|
|
32
|
+
|
|
33
|
+
module NE80E
|
|
34
|
+
module_function
|
|
35
|
+
|
|
36
|
+
def 静态用户地址 conf
|
|
37
|
+
tab = []
|
|
38
|
+
(conf['static-user'] || []).each do|part|
|
|
39
|
+
part.split("\n").each do|line|
|
|
40
|
+
words = line.split(' ')
|
|
41
|
+
tab << words
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
tab
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def 静态接口地址 raw,*guards
|
|
48
|
+
tab = []
|
|
49
|
+
content = raw.split('display arp all')[1].to_s.split('<')[0].to_s
|
|
50
|
+
textlist = content.split('------------------------------------------------------------------------------')[1].to_s
|
|
51
|
+
textlist.split("\n").each do|line|
|
|
52
|
+
item = line.strip.split(' ')
|
|
53
|
+
if item.size == 1
|
|
54
|
+
tab[-1] += item
|
|
55
|
+
else
|
|
56
|
+
tab << item
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
return tab
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def 静态域地址 raw,*guards
|
|
63
|
+
tab = []
|
|
64
|
+
# NOT SUPPORT
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
# NE8100-X8 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['NE8100-X8', '静态路由']
|
|
6
|
+
|
|
7
|
+
module NE8100_X8
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['ip','ipv6'].each do|tag|
|
|
13
|
+
(配置散列[tag] || []).each do|part|
|
|
14
|
+
if part.include?('route-static')
|
|
15
|
+
part.split("\n").each do|line|
|
|
16
|
+
items = line.split(" ")
|
|
17
|
+
record = items[2].include?('vpn-') ? ["static:#{items[3]}"]+items[4..-1] : ["static"]+items[2..-1]
|
|
18
|
+
static_routes << record
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return static_routes
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
# T8000-18 静态信息
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['T8000-18', '静态路由']
|
|
6
|
+
|
|
7
|
+
module T8000_18
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['static','ipv6-static-route'].each do|tag|
|
|
13
|
+
lines = (配置散列[tag] || "").split("\n")
|
|
14
|
+
lines.each_with_index do|line,index|
|
|
15
|
+
next unless line.include?('route ')
|
|
16
|
+
if line.size==80 && lines[index+1][0..1]!='ip'
|
|
17
|
+
items = (line+lines[index+1]).split(" ")
|
|
18
|
+
else
|
|
19
|
+
items = line.split(" ")
|
|
20
|
+
end
|
|
21
|
+
if items[2].include?('vrf')
|
|
22
|
+
head = "static:#{items[3]}"
|
|
23
|
+
tail = items[4].include?(':') ? items[4].split('/')+items[5..-1] : items[4..-1]
|
|
24
|
+
else
|
|
25
|
+
head = "static"
|
|
26
|
+
tail = items[2].include?(':') ? items[2].split('/')+items[3..-1] : items[2..-1]
|
|
27
|
+
end
|
|
28
|
+
static_routes << [head]+tail
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
return static_routes
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
# ZXCTN9000-18EA
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['ZXCTN9000-18EA', '静态路由']
|
|
6
|
+
|
|
7
|
+
module ZXCTN9000_18EA
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['static','ipv6-static-route'].each do|tag|
|
|
13
|
+
lines = (配置散列[tag] || "").split("\n")
|
|
14
|
+
lines.each_with_index do|line,index|
|
|
15
|
+
next unless line.include?('route ')
|
|
16
|
+
if line.size==80 && lines[index+1][0..1]!='ip'
|
|
17
|
+
items = (line+lines[index+1]).split(" ")
|
|
18
|
+
else
|
|
19
|
+
items = line.split(" ")
|
|
20
|
+
end
|
|
21
|
+
if items[2].include?('vrf')
|
|
22
|
+
head = "static:#{items[3]}"
|
|
23
|
+
tail = items[4].include?(':') ? items[4].split('/')+items[5..-1] : items[4..-1]
|
|
24
|
+
else
|
|
25
|
+
head = "static"
|
|
26
|
+
tail = items[2].include?(':') ? items[2].split('/')+items[3..-1] : items[2..-1]
|
|
27
|
+
end
|
|
28
|
+
static_routes << [head]+tail
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
return static_routes
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
# ZXCTN9000-8EA
|
|
3
|
+
|
|
4
|
+
```ruby
|
|
5
|
+
@sign << ['ZXCTN9000-8EA', '静态路由']
|
|
6
|
+
|
|
7
|
+
module ZXCTN9000_8EA
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def 静态路由 配置散列
|
|
11
|
+
static_routes = []
|
|
12
|
+
['static','ipv6-static-route'].each do|tag|
|
|
13
|
+
lines = (配置散列[tag] || "").split("\n")
|
|
14
|
+
lines.each_with_index do|line,index|
|
|
15
|
+
next unless line.include?('route ')
|
|
16
|
+
if line.size==80 && lines[index+1][0..1]!='ip'
|
|
17
|
+
items = (line+lines[index+1]).split(" ")
|
|
18
|
+
else
|
|
19
|
+
items = line.split(" ")
|
|
20
|
+
end
|
|
21
|
+
if items[2].include?('vrf')
|
|
22
|
+
head = "static:#{items[3]}"
|
|
23
|
+
tail = items[4].include?(':') ? items[4].split('/')+items[5..-1] : items[4..-1]
|
|
24
|
+
else
|
|
25
|
+
head = "static"
|
|
26
|
+
tail = items[2].include?(':') ? items[2].split('/')+items[3..-1] : items[2..-1]
|
|
27
|
+
end
|
|
28
|
+
static_routes << [head]+tail
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
return static_routes
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
```
|