oxidized 0.26.3 → 0.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +20 -4
- data/CHANGELOG.md +48 -4
- data/Dockerfile +6 -4
- data/README.md +2 -2
- data/Rakefile +4 -4
- data/bin/oxidized +2 -0
- data/docs/Configuration.md +40 -0
- data/docs/Creating-Models.md +39 -1
- data/docs/Model-Notes/JunOS.md +7 -7
- data/docs/Model-Notes/LinuxGeneric.md +23 -0
- data/docs/Model-Notes/Netgear.md +12 -1
- data/docs/Model-Notes/README.md +2 -0
- data/docs/Model-Notes/ios.md +29 -0
- data/docs/Supported-OS-Types.md +19 -3
- data/docs/Troubleshooting.md +66 -0
- data/extra/nagios_check_failing_nodes.rb +9 -2
- data/extra/oxidized.service +2 -0
- data/extra/syslog.rb +28 -23
- data/lib/oxidized/cli.rb +10 -6
- data/lib/oxidized/config/vars.rb +8 -9
- data/lib/oxidized/hook/githubrepo.rb +1 -1
- data/lib/oxidized/input/exec.rb +28 -0
- data/lib/oxidized/input/telnet.rb +1 -1
- data/lib/oxidized/model/adtran.rb +4 -0
- data/lib/oxidized/model/airfiber.rb +22 -0
- data/lib/oxidized/model/aos.rb +8 -0
- data/lib/oxidized/model/aosw.rb +1 -1
- data/lib/oxidized/model/c4cmts.rb +1 -1
- data/lib/oxidized/model/cambium.rb +1 -0
- data/lib/oxidized/model/ciscosmb.rb +0 -5
- data/lib/oxidized/model/comware.rb +17 -8
- data/lib/oxidized/model/dlink.rb +1 -1
- data/lib/oxidized/model/fastiron.rb +66 -0
- data/lib/oxidized/model/firelinuxos.rb +41 -0
- data/lib/oxidized/model/fortios.rb +5 -0
- data/lib/oxidized/model/hpmsm.rb +84 -0
- data/lib/oxidized/model/icotera.rb +27 -0
- data/lib/oxidized/model/ios.rb +4 -0
- data/lib/oxidized/model/ironware.rb +1 -0
- data/lib/oxidized/model/junos.rb +2 -2
- data/lib/oxidized/model/linuxgeneric.rb +74 -0
- data/lib/oxidized/model/model.rb +23 -13
- data/lib/oxidized/model/netgear.rb +16 -1
- data/lib/oxidized/model/oneos.rb +8 -0
- data/lib/oxidized/model/procurve.rb +8 -6
- data/lib/oxidized/model/purityos.rb +12 -0
- data/lib/oxidized/model/routeros.rb +13 -3
- data/lib/oxidized/model/screenos.rb +2 -3
- data/lib/oxidized/model/sonicos.rb +46 -0
- data/lib/oxidized/model/speedtouch.rb +34 -0
- data/lib/oxidized/model/sros.rb +11 -32
- data/lib/oxidized/model/voss.rb +5 -2
- data/lib/oxidized/model/zynosgs.rb +38 -0
- data/lib/oxidized/node.rb +14 -14
- data/lib/oxidized/version.rb +2 -2
- data/oxidized.gemspec +6 -4
- metadata +52 -17
- data/lib/oxidized/model/netgearxs716.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de700a310982ae6a4234f81f3a61744b3ba7d14e287f5a46199c6b772eecb0e5
|
4
|
+
data.tar.gz: 51f3db53dec4314adc9c20c6a02ed2e2e86bc01368305038ba44224967895bb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49a277becf380a4a7f36f20c53e1933868d8479ad0bf7eb6a1a23efe307e981190db9fd5a274ffb9e2c100c82806d073f4f83f2325e14ba3423f0790d53672d1
|
7
|
+
data.tar.gz: c989f9779e4abf6c12649867650616ffd0e8562262a907e89cb015cd7831fa292088fb10e21007e99cc639776d5f78d5c5ac4b9587d5399b40eb017206e59030
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2019-
|
3
|
+
# on 2019-07-27 16:08:27 +0200 using RuboCop version 0.73.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -8,9 +8,9 @@
|
|
8
8
|
|
9
9
|
# Offense count: 67
|
10
10
|
Metrics/AbcSize:
|
11
|
-
Max:
|
11
|
+
Max: 82
|
12
12
|
|
13
|
-
# Offense count:
|
13
|
+
# Offense count: 18
|
14
14
|
# Configuration parameters: CountComments, ExcludedMethods.
|
15
15
|
# ExcludedMethods: refine
|
16
16
|
Metrics/BlockLength:
|
@@ -62,6 +62,22 @@ Naming/MemoizedInstanceVariableName:
|
|
62
62
|
Exclude:
|
63
63
|
- 'lib/oxidized/string.rb'
|
64
64
|
|
65
|
+
# Offense count: 14
|
66
|
+
# Cop supports --auto-correct.
|
67
|
+
# Configuration parameters: PreferredName.
|
68
|
+
Naming/RescuedExceptionsVariableName:
|
69
|
+
Exclude:
|
70
|
+
- 'bin/oxidized'
|
71
|
+
- 'extra/rest_client.rb'
|
72
|
+
- 'extra/syslog.rb'
|
73
|
+
- 'lib/oxidized/cli.rb'
|
74
|
+
- 'lib/oxidized/config.rb'
|
75
|
+
- 'lib/oxidized/node.rb'
|
76
|
+
- 'lib/oxidized/nodes.rb'
|
77
|
+
- 'lib/oxidized/output/git.rb'
|
78
|
+
- 'lib/oxidized/output/gitcrypt.rb'
|
79
|
+
- 'lib/oxidized/source/sql.rb'
|
80
|
+
|
65
81
|
# Offense count: 1
|
66
82
|
Security/Eval:
|
67
83
|
Exclude:
|
@@ -88,7 +104,7 @@ Style/DoubleNegation:
|
|
88
104
|
- 'lib/oxidized/cli.rb'
|
89
105
|
- 'lib/oxidized/hook/exec.rb'
|
90
106
|
|
91
|
-
# Offense count:
|
107
|
+
# Offense count: 35
|
92
108
|
# Cop supports --auto-correct.
|
93
109
|
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
|
94
110
|
# SupportedStyles: slashes, percent_r, mixed
|
data/CHANGELOG.md
CHANGED
@@ -2,17 +2,61 @@
|
|
2
2
|
|
3
3
|
## Master
|
4
4
|
|
5
|
+
## 0.27.0
|
6
|
+
|
7
|
+
* FEATURE: add automatic restart on failure for systemd (@deajan)
|
8
|
+
* FEATURE: add ZynOS GS1900 specific model support (@deajan)
|
9
|
+
* FEATURE: add PurityOS model support (@elliot64)
|
10
|
+
* FEATURE: add Ubiquiti Airfiber model support (@cchance27)
|
11
|
+
* FEATURE: add Icotera support (@funzoneq)
|
12
|
+
* FEATURE: include licensing information in aos model (@pozar)
|
13
|
+
* FEATURE: include chassis information in sros model (@raunz)
|
14
|
+
* FEATURE: add firelinuxos (FirePOWER) model (@rgnv)
|
15
|
+
* FEATURE: add sonicos model (@rgnv)
|
16
|
+
* FEATURE: add hpmsm model (@timwsuqld)
|
17
|
+
* FEATURE: include hardware and product information in oneos model (@raunz)
|
18
|
+
* FEATURE: add FastIron model (@ZacharyPuls)
|
19
|
+
* FEATURE: add Linuxgeneric model (@davama)
|
20
|
+
* FEATURE: include HA status info in fortios model (@raunz)
|
21
|
+
* FEATURE: add SpeedTouch model (@raunz)
|
22
|
+
* FEATURE: comware added device manuinfo to include serial number (@raunz)
|
23
|
+
* BUGFIX: prevent versionning on procurve switches by removing power usage output (@deajan)
|
24
|
+
* BUGFIX: improve procurve telnet support for older switches (@deajan)
|
25
|
+
* BUGFIX: voss model
|
26
|
+
* BUGFIX: cambium model should not consider timestamp for backup as unneeded, and causes diffs (@cchance27)
|
27
|
+
* BUGFIX: remove 'sh system' from ciscosmb model (@Exordian)
|
28
|
+
* BUGFIX: dlink model didn't support prompts with spaces in the model type (Extreme EAS 200-24p) (@cchance27)
|
29
|
+
* BUGFIX: routeros model does not collect configuration via telnet input (@hexdump0x0200)
|
30
|
+
* BUGFIX: add dependencies for net-ssh
|
31
|
+
* BUGFIX: don't log power module info on procurve model anymore
|
32
|
+
* BUGFIX: crash on some recent Ruby versions in the nagios check (@Kegeruneku)
|
33
|
+
* BUGFIX: remove stray whitespace in adtran model (@nickhilliard)
|
34
|
+
* BUGFIX: if input model returns subclassed string we may overwrite the string with an empty string
|
35
|
+
* BUGFIX: updated aosw.rb prompt. addresses issue #1254
|
36
|
+
* BUGFIX: update comware model to fix telnet login/password for HPE MSR954 and HPE5130. Issue #1886
|
37
|
+
* BUGFIX: filter out IOS configuration/NVRAM modified/changed timestamps to keep output persistent
|
38
|
+
* BUGFIX: update screenos model to reduce the amount of lines being stripped from beginning of cfg output
|
39
|
+
* BUGFIX: include colon in aosw prompt regexp in case it is a mac address (@raunz)
|
40
|
+
* BUGFIX: comware improvement for requesting HP 19x0 switches hidden CLI. Issues #1754 and #1447
|
41
|
+
* BUGFIX: fix variable inheritance when subclassing a model
|
42
|
+
* MISC: add pgsql support, mechanized and net-tftp to Dockerfile
|
43
|
+
* MISC: upgrade slop, net-telnet and rugged
|
44
|
+
* MISC: extra secret scrubbing in comware model (@bengels00)
|
45
|
+
* MISC: removed snmpd lines from linuxgeneric model
|
46
|
+
* MISC: moved show configuration command to the end in junos model (@raunz)
|
47
|
+
* MISC: filter pap and chap passwords in ios model (@matejv)
|
48
|
+
|
5
49
|
## 0.26.3
|
6
50
|
|
7
|
-
*
|
51
|
+
* BUGFIX: regression in git.rb version method where we check if Rugged::Diff has any deltas/patches
|
8
52
|
|
9
53
|
## 0.26.2
|
10
54
|
|
11
|
-
*
|
55
|
+
* BUGFIX: suppress net-ssh 5 deprecation warnings by moving from :paranoid to :verify_host_key
|
12
56
|
|
13
57
|
## 0.26.1
|
14
58
|
|
15
|
-
*
|
59
|
+
* BUGFIX: force file permissions in rubygems
|
16
60
|
|
17
61
|
## 0.26.0
|
18
62
|
|
@@ -24,9 +68,9 @@
|
|
24
68
|
* FEATURE: add raisecom RAX model (@vitalisator)
|
25
69
|
* FEATURE: add huawei smartax model (@nyash)
|
26
70
|
* FEATURE: add grandstream model
|
71
|
+
* BUGFIX: in git comparison we might mistakenly always detect change due to !utf8 vs. utf8 encoding of a char
|
27
72
|
* MISC: prompt updates in siklu, netonix, netscaler models
|
28
73
|
* MISC: minimal supported ruby is now 2.3, net-ssh dependency ~> 5, rubocop ~> 0.65.0
|
29
|
-
* FIX: in git comparison we might mistakenly always detect change due to !utf8 vs. utf8 encoding of a char
|
30
74
|
|
31
75
|
## 0.25.0
|
32
76
|
|
data/Dockerfile
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
# Single-stage build of an oxidized container from phusion/baseimage-docker v0.11, derived from Ubuntu 18.04 (Bionic Beaver)
|
2
2
|
FROM phusion/baseimage:0.11
|
3
|
-
LABEL maintainer="Samer Abdel-Hafez <sam@arahant.net>"
|
4
3
|
|
5
4
|
# set up dependencies for the build process
|
6
5
|
RUN apt-get -yq update \
|
7
|
-
&& apt-get -yq --no-install-recommends install ruby2.5 ruby2.5-dev libssl1.1 libssl-dev pkg-config make cmake libssh2-1 libssh2-1-dev git g++ libffi-dev ruby-bundler libicu60 libicu-dev libsqlite3-0 libsqlite3-dev libmysqlclient20 libmysqlclient-dev \
|
6
|
+
&& apt-get -yq --no-install-recommends install ruby2.5 ruby2.5-dev libssl1.1 libssl-dev pkg-config make cmake libssh2-1 libssh2-1-dev git g++ libffi-dev ruby-bundler libicu60 libicu-dev libsqlite3-0 libsqlite3-dev libmysqlclient20 libmysqlclient-dev libpq5 libpq-dev zlib1g-dev \
|
8
7
|
&& apt-get clean \
|
9
8
|
&& rm -rf /var/lib/apt/lists/*
|
10
9
|
|
@@ -12,7 +11,10 @@ RUN apt-get -yq update \
|
|
12
11
|
RUN gem install aws-sdk slack-api xmpp4r cisco_spark --no-ri --no-rdoc
|
13
12
|
|
14
13
|
# dependencies for sources
|
15
|
-
RUN gem install gpgme sequel sqlite3 mysql2 --no-ri --no-rdoc
|
14
|
+
RUN gem install gpgme sequel sqlite3 mysql2 pg --no-ri --no-rdoc
|
15
|
+
|
16
|
+
# dependencies for inputs
|
17
|
+
RUN gem install net-tftp net-http-persistent mechanize --no-ri --no-rdoc
|
16
18
|
|
17
19
|
# build and install oxidized
|
18
20
|
COPY . /tmp/oxidized/
|
@@ -28,7 +30,7 @@ RUN gem install oxidized-web --no-ri --no-rdoc
|
|
28
30
|
# clean up
|
29
31
|
WORKDIR /
|
30
32
|
RUN rm -rf /tmp/oxidized
|
31
|
-
RUN apt-get -yq --purge autoremove ruby-dev pkg-config make cmake ruby-bundler libssl-dev libssh2-1-dev libicu-dev libsqlite3-dev libmysqlclient-dev
|
33
|
+
RUN apt-get -yq --purge autoremove ruby-dev pkg-config make cmake ruby-bundler libssl-dev libssh2-1-dev libicu-dev libsqlite3-dev libmysqlclient-dev libpq-dev zlib1g-dev
|
32
34
|
|
33
35
|
# add runit services
|
34
36
|
COPY extra/oxidized.runit /etc/service/oxidized/run
|
data/README.md
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
Oxidized is a network device configuration backup tool. It's a RANCID replacement!
|
10
10
|
|
11
|
-
Light and extensible, Oxidized supports
|
11
|
+
Light and extensible, Oxidized supports more than 120 operating system types.
|
12
12
|
|
13
13
|
Feature highlights:
|
14
14
|
|
@@ -104,7 +104,7 @@ Install Ruby 2.3 from [SCL](https://www.softwarecollections.org/en/scls/rhscl/rh
|
|
104
104
|
|
105
105
|
```shell
|
106
106
|
yum install centos-release-scl
|
107
|
-
yum install rh-ruby23 rh-ruby23-devel
|
107
|
+
yum install rh-ruby23 rh-ruby23-ruby-devel
|
108
108
|
scl enable rh-ruby23 bash
|
109
109
|
```
|
110
110
|
|
data/Rakefile
CHANGED
@@ -38,10 +38,10 @@ task :version_set do
|
|
38
38
|
Bundler::GemHelper.instance.gemspec.version = Oxidized::VERSION
|
39
39
|
end
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
41
|
+
# desc 'Install gem'
|
42
|
+
# task install: :build do
|
43
|
+
# system "sudo -Es sh -c \'umask 022; gem install gems/#{gemfile}\'"
|
44
|
+
# end
|
45
45
|
|
46
46
|
desc 'Remove gems'
|
47
47
|
task :clean do
|
data/bin/oxidized
CHANGED
data/docs/Configuration.md
CHANGED
@@ -80,6 +80,46 @@ vars:
|
|
80
80
|
auth_methods: [ "none", "publickey", "password", "keyboard-interactive" ]
|
81
81
|
```
|
82
82
|
|
83
|
+
## Public Key Authentication with SSH
|
84
|
+
|
85
|
+
Instead of password-based login, Oxidized can make use of key-based SSH authentication.
|
86
|
+
|
87
|
+
You can tell Oxidized to use one or more private keys globally, or specify the key to be used on a per-node basis. The latter can be done by mapping the `ssh_keys` variable through the active source.
|
88
|
+
|
89
|
+
Global:
|
90
|
+
|
91
|
+
```yaml
|
92
|
+
vars:
|
93
|
+
ssh_keys: "~/.ssh/id_rsa"
|
94
|
+
```
|
95
|
+
|
96
|
+
Per-Node:
|
97
|
+
|
98
|
+
```yaml
|
99
|
+
...
|
100
|
+
map:
|
101
|
+
name: 0
|
102
|
+
model: 1
|
103
|
+
vars_map:
|
104
|
+
enable: 2
|
105
|
+
ssh_keys: 3
|
106
|
+
...
|
107
|
+
```
|
108
|
+
|
109
|
+
If you are using a non-standard path, especially when copying the private key via a secured channel, make sure that the permissions are set correctly:
|
110
|
+
|
111
|
+
```bash
|
112
|
+
foo@bar:~$ ls -la ~/.ssh/
|
113
|
+
total 20
|
114
|
+
drwx------ 2 oxidized oxidized 4096 Mar 13 17:03 .
|
115
|
+
drwx------ 5 oxidized oxidized 4096 Mar 13 21:40 ..
|
116
|
+
-r-------- 1 oxidized oxidized 103 Mar 13 17:03 authorized_keys
|
117
|
+
-rw------- 1 oxidized oxidized 399 Mar 13 17:02 id_ed25519
|
118
|
+
-rw-r--r-- 1 oxidized oxidized 94 Mar 13 17:02 id_ed25519.pub
|
119
|
+
```
|
120
|
+
|
121
|
+
Finally, multiple private keys can be specified as an array of file paths, such as `["~/.ssh/id_rsa", "~/.ssh/id_another_rsa"]`.
|
122
|
+
|
83
123
|
## SSH Proxy Command
|
84
124
|
|
85
125
|
Oxidized can `ssh` through a proxy as well. To do so we just need to set `ssh_proxy` variable with the proxy host information and optionally set the `ssh_proxy_port` with the SSH port if it is not listening no port 22.
|
data/docs/Creating-Models.md
CHANGED
@@ -4,7 +4,40 @@ Oxidized supports a growing list of [operating system types](Supported-OS-Types.
|
|
4
4
|
|
5
5
|
A user may wish to extend an existing model to collect the output of additional commands. Oxidized offers smart loading of models in order to facilitate this with ease, without the need to introduce changes to the upstream source code.
|
6
6
|
|
7
|
-
This methodology allows local site changes to be preserved during Oxidized version updates / gem updates.
|
7
|
+
This methodology allows local site changes to be preserved during Oxidized version updates / gem updates. It also enables convenient local development of new models.
|
8
|
+
|
9
|
+
## Creating a new model
|
10
|
+
|
11
|
+
An Oxidized model, at minimum, requires just three elements:
|
12
|
+
|
13
|
+
* A model file, this file should be placed in the ~/.config/oxidized directory and named after the target OS type.
|
14
|
+
* A class defined within this file with the same name as the file itself that inherits from `Oxidized::Model`, the base model class.
|
15
|
+
* At least one command that will be executed and the output of which will be collected by Oxidized.
|
16
|
+
|
17
|
+
A bare-bone example for a fictional model running the OS type `rootware` could be introduced by creating the file `~/.config/oxidized/rootware.rb`, with the following content:
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
class RootWare < Oxidized::Model
|
21
|
+
|
22
|
+
cmd 'show complete-config'
|
23
|
+
```
|
24
|
+
|
25
|
+
This model, as-is will:
|
26
|
+
|
27
|
+
* Log into the device and expect the default prompt.
|
28
|
+
* Upon matching it, execute the command `show complete-config`
|
29
|
+
* Collect the output.
|
30
|
+
|
31
|
+
It is often useful to, at minimum, define the following additional elements for any newly introduced module:
|
32
|
+
|
33
|
+
* A regexp for the prompt, via the `prompt` statement.
|
34
|
+
* A comment prefix, via the `comment` statement.
|
35
|
+
* A regexp for telnet username and password prompts.
|
36
|
+
* A mechanism for handling `enable` or similar functionality.
|
37
|
+
|
38
|
+
The API documentation contains a list of [methods](https://github.com/ytti/oxidized/blob/master/docs/Ruby-API.md#model) that can be used in modules.
|
39
|
+
|
40
|
+
A more fleshed out example can be found in the `IOS` and `JunOS` models.
|
8
41
|
|
9
42
|
## Extending an existing model with a new command
|
10
43
|
|
@@ -100,3 +133,8 @@ end
|
|
100
133
|
cmd :ssh do prepend: true do
|
101
134
|
... "(code that should run first, before any code in the existing :ssh definition in the model)" ...
|
102
135
|
end
|
136
|
+
```
|
137
|
+
|
138
|
+
## Help
|
139
|
+
|
140
|
+
If you experience difficulties creating a new model, you can often get help by installing an Internet reachable sanitized device and opening a new issue on Github asking for help with creating the model. You should research what is the device vendor name is, the vendor's OS type name is, the exact device model name and firmware version. This information should be included in the issue.
|
data/docs/Model-Notes/JunOS.md
CHANGED
@@ -20,13 +20,13 @@ The commands Oxidized executes are:
|
|
20
20
|
|
21
21
|
1. set cli screen-length 0
|
22
22
|
2. set cli screen-width 0
|
23
|
-
3. show
|
24
|
-
4. show
|
25
|
-
5. show
|
26
|
-
6. show system license
|
27
|
-
7. show
|
28
|
-
8. show
|
29
|
-
9. show
|
23
|
+
3. show version
|
24
|
+
4. show chassis hardware
|
25
|
+
5. show system license
|
26
|
+
6. show system license keys (ex22|ex33|ex4|ex8|qfx only)
|
27
|
+
7. show virtual-chassis (MX960 only)
|
28
|
+
8. show chassis fabric reachability
|
29
|
+
9. show configuration
|
30
30
|
|
31
31
|
Oxidized can now retrieve your configuration!
|
32
32
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# LinuxGeneric model notes
|
2
|
+
|
3
|
+
To expand the usage of this model for more specific needs you can create a file in `~/.config/oxidized/model/linuxgeneric.rb`
|
4
|
+
|
5
|
+
```
|
6
|
+
require 'oxidized/model/linuxgeneric.rb'
|
7
|
+
|
8
|
+
class LinuxGeneric
|
9
|
+
|
10
|
+
cmd :secret, clear: true do |cfg|
|
11
|
+
cfg.gsub! /^(default (\S+).* (expires) ).*/, '\\1 <redacted>'
|
12
|
+
cfg
|
13
|
+
end
|
14
|
+
|
15
|
+
post do
|
16
|
+
cfg = add_comment 'THE MONKEY PATCH'
|
17
|
+
cfg += cmd 'firewall-cmd --list-all --zone=public'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
```
|
21
|
+
See [Extending-Model](https://github.com/ytti/oxidized/blob/master/docs/Creating-Models.md#creating-and-extending-models)
|
22
|
+
|
23
|
+
Back to [Model-Notes](README.md)
|
data/docs/Model-Notes/Netgear.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Netgear Configuration
|
2
2
|
|
3
|
-
There are several models available with CLI management via telnet (port 60000)
|
3
|
+
There are several models available with CLI management via telnet (port 60000). To enable telnet configure device with web interface and set 'Maintenance > Troubleshooting > Remote Diagnostics' to 'enable'. All devices behave like one of the following:
|
4
4
|
|
5
5
|
## Older models
|
6
6
|
|
@@ -71,6 +71,17 @@ switchOldFW:netgear:admin:adminpw::60000
|
|
71
71
|
switchNewFW:netgear:admin:adminpw:true:60000
|
72
72
|
```
|
73
73
|
|
74
|
+
Another approach to set parameters:
|
75
|
+
|
76
|
+
## oxidized config
|
77
|
+
|
78
|
+
```yaml
|
79
|
+
netgear:
|
80
|
+
vars:
|
81
|
+
enable: true
|
82
|
+
telnet_port: 60000
|
83
|
+
```
|
84
|
+
|
74
85
|
[Reference](https://github.com/ytti/oxidized/pull/1268)
|
75
86
|
|
76
87
|
Back to [Model-Notes](README.md)
|
data/docs/Model-Notes/README.md
CHANGED
@@ -13,10 +13,12 @@ Arista|[EOS](EOS.md)|05 Feb 2018
|
|
13
13
|
Cumulus|[Cumulus](Cumulus.md)|11 Jun 2018
|
14
14
|
Huawei|[VRP](VRP-Huawei.md)|17 Nov 2017
|
15
15
|
Huawei|[SmartAX series](SmartAX-Huawei.md)|21 Jan 2019
|
16
|
+
Cisco IOS|[IOS](ios.md)|29 Mar 2019
|
16
17
|
Juniper|[MX/QFX/EX/SRX/J Series](JunOS.md)|18 Jan 2018
|
17
18
|
Netgear|[Netgear](Netgear.md)|11 Apr 2018
|
18
19
|
Nokia|[Nokia ISAM](Nokia.md)|22 Aug 2018
|
19
20
|
Viptela|[Viptela](Viptela.md)|1 Jul 2018
|
20
21
|
Zyxel|[XGS4600 Series](XGS4600-Zyxel.md)|1 Feb 2018
|
22
|
+
Linux|[LinuxGeneric](LinuxGeneric.md)|10 Jun 2019
|
21
23
|
|
22
24
|
If you discover additional caveats or problems please make sure to consult the [GitHub issues for oxidized](https://github.com/ytti/oxidized/issues) known issues.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Cisco IOS Switches
|
2
|
+
|
3
|
+
## Include unsaved changes done on a device (commented) with each configuration.
|
4
|
+
|
5
|
+
Create the file `~/.config/oxidized/model/ios.rb` with the following contents to extend the IOS model:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
require 'oxidized/model/ios.rb'
|
9
|
+
|
10
|
+
class IOS
|
11
|
+
|
12
|
+
cmd 'show archive config diff' do |cfg|
|
13
|
+
# Print diff unless ntp period change or ssl-cert read from file
|
14
|
+
cfg.gsub! /^\n/, '' # Remove empty line
|
15
|
+
cfg.gsub! /^!\n/, '' # Remove line with only !
|
16
|
+
cfg.gsub! /.*ntp clock-period \d+\n/, '' # Remove line with only "ntp clock-period blabla"
|
17
|
+
cfg.gsub! /\n/, "\\n" # Escape newline
|
18
|
+
cfg.gsub! /crypto pki certificate chain.*certificate .*\.cer\\n/, '' # Remove ssl-cert in start config, as it is read from file, this always differ in running if used.
|
19
|
+
cfg.gsub! /crypto pki certificate chain.*-\s*quit\\n/, '' # Remove ssl-cert from running
|
20
|
+
cfg.gsub! /\\n/, "\n" # Set newline back
|
21
|
+
unless cfg == "!Contextual Config Diffs:\n" # Do not print if only something above was changed
|
22
|
+
comment cfg
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
```
|
28
|
+
|
29
|
+
Back to [Model-Notes](README.md)
|
data/docs/Supported-OS-Types.md
CHANGED
@@ -37,13 +37,16 @@
|
|
37
37
|
* [BOSS (Baystack Operating System Software)](/lib/oxidized/model/boss.rb)
|
38
38
|
* Brocade
|
39
39
|
* [FabricOS](/lib/oxidized/model/fabricos.rb)
|
40
|
-
* [
|
40
|
+
* [FastIron](/lib/oxidized/model/fastiron.rb)
|
41
|
+
* [IronWare](/lib/oxidized/model/ironware.rb)
|
41
42
|
* [NOS (Network Operating System)](/lib/oxidized/model/nos.rb)
|
42
43
|
* [Vyatta](/lib/oxidized/model/vyatta.rb)
|
43
44
|
* [6910](/lib/oxidized/model/br6910.rb)
|
44
45
|
* [SLX-OS](/lib/oxidized/model/slxos.rb)
|
45
46
|
* Calix
|
46
47
|
* [AXOS](/lib/oxidized/model/axos.rb)
|
48
|
+
* Cambium
|
49
|
+
* [Cambium (PMP450 Series)](/lib/oxidized/model/cambium.rb)
|
47
50
|
* Casa
|
48
51
|
* [Casa](/lib/oxidized/model/casa.rb)
|
49
52
|
* Check Point
|
@@ -56,6 +59,7 @@
|
|
56
59
|
* [ASA](/lib/oxidized/model/asa.rb)
|
57
60
|
* [AsyncOS](/lib/oxidized/model/asyncos.rb)
|
58
61
|
* [CatOS](/lib/oxidized/model/catos.rb)
|
62
|
+
* [FireLinuxOS](lib/oxidized/model/firelinuxos.rb)
|
59
63
|
* [IOS](/lib/oxidized/model/ios.rb)
|
60
64
|
* [IOSXR](/lib/oxidized/model/iosxr.rb)
|
61
65
|
* [NGA](/lib/oxidized/model/cisconga.rb)
|
@@ -125,12 +129,17 @@
|
|
125
129
|
* [Procurve](/lib/oxidized/model/procurve.rb)
|
126
130
|
* [BladeSystem (Onboard Administrator)](/lib/oxidized/model/hpebladesystem.rb)
|
127
131
|
* [MSA](/lib/oxidized/model/hpemsa.rb)
|
132
|
+
* [MSM (Wireless Controller)](/lib/oxidized/model/hpmsm.rb)
|
128
133
|
* Huawei
|
129
134
|
* [VRP](/lib/oxidized/model/vrp.rb)
|
130
135
|
* [SmartAX series](/lib/oxidized/model/smartax.rb)
|
136
|
+
* Icotera
|
137
|
+
* [6400 series](/lib/oxidized/model/icotera.rb)
|
131
138
|
* Juniper
|
132
139
|
* [JunOS](/lib/oxidized/model/junos.rb)
|
133
140
|
* [ScreenOS (Netscreen)](/lib/oxidized/model/screenos.rb)
|
141
|
+
* Linuxgeneric
|
142
|
+
* [CentOS](/lib/oxidized/model/linuxgeneric.rb)
|
134
143
|
* Mellanox
|
135
144
|
* [MLNX-OS](/lib/oxidized/model/mlnxos.rb)
|
136
145
|
* [Voltaire](/lib/oxidized/model/voltaire.rb)
|
@@ -142,8 +151,7 @@
|
|
142
151
|
* [MasterOS](/lib/oxidized/model/masteros.rb)
|
143
152
|
* [FiberDriver](/lib/oxidized/model/fiberdriver.rb)
|
144
153
|
* Netgear
|
145
|
-
* [Netgear](/lib/oxidized/model/netgear.rb)
|
146
|
-
* [Netgear PROSafe Smart switches](/lib/oxidized/model/netgearxs716.rb)
|
154
|
+
* [Netgear switches](/lib/oxidized/model/netgear.rb)
|
147
155
|
* Netonix
|
148
156
|
* [WISP Switch (As Netonix)](/lib/oxidized/model/netonix.rb)
|
149
157
|
* Nokia (formerly TiMetra, Alcatel, Alcatel-Lucent)
|
@@ -160,6 +168,8 @@
|
|
160
168
|
* [PANOS](/lib/oxidized/model/panos.rb)
|
161
169
|
* [PLANET SG/SGS Switches](/lib/oxidized/model/planet.rb)
|
162
170
|
* [pfSense](/lib/oxidized/model/pfsense.rb)
|
171
|
+
* Pure Storage
|
172
|
+
* [PurityOS](/lib/oxidized/model/purityos.rb)
|
163
173
|
* Radware
|
164
174
|
* [AlteonOS](/lib/oxidized/model/alteonos.rb)
|
165
175
|
* Raisecom
|
@@ -168,8 +178,12 @@
|
|
168
178
|
* [Quanta / VxWorks 6.6 (1.1.0.8)](/lib/oxidized/model/quantaos.rb)
|
169
179
|
* Siklu
|
170
180
|
* [EtherHaul](/lib/oxidized/model/siklu.rb)
|
181
|
+
* SonicWALL
|
182
|
+
* [SonicOS](lib/oxidized/model/sonicos.rb)
|
171
183
|
* SNR
|
172
184
|
* [SNR-S300G, S2xxx, S3xxx, S4xxx](/lib/oxidized/model/dcnos.rb)
|
185
|
+
* Speedtouch
|
186
|
+
* [Thomson Speedtouch](/lib/oxidized/model/speedtouch.rb)
|
173
187
|
* Supermicro
|
174
188
|
* [SSE-G2252, G2252P](/lib/oxidized/model/edgecos.rb)
|
175
189
|
* [SSE-G48-TG4, G24-TG4](/lib/oxidized/model/aricentiss.rb)
|
@@ -187,6 +201,7 @@
|
|
187
201
|
* [AirOS](/lib/oxidized/model/airos.rb)
|
188
202
|
* [Edgeos](/lib/oxidized/model/edgeos.rb)
|
189
203
|
* [EdgeSwitch](/lib/oxidized/model/edgeswitch.rb)
|
204
|
+
* [AirFiber](/lib/oxidized/model/airfiber.rb)
|
190
205
|
* Watchguard
|
191
206
|
* [Fireware OS](/lib/oxidized/model/firewareos.rb)
|
192
207
|
* Westell
|
@@ -195,4 +210,5 @@
|
|
195
210
|
* [Zhone (OLT and MX)](/lib/oxidized/model/zhoneolt.rb)
|
196
211
|
* Zyxel
|
197
212
|
* [ZyNOS](/lib/oxidized/model/zynos.rb)
|
213
|
+
* [ZyNOS GS-series variant](/lib/oxidized/model/zynosgs.rb)
|
198
214
|
* [NDMS](/lib/oxidized/model/ndms.rb)
|