From 4e59878052f0668f4dde2282e86882626936f6b4 Mon Sep 17 00:00:00 2001 From: KodApa85 Date: Thu, 25 Jan 2018 22:01:39 +0000 Subject: model: Fixed FTP Passive/Active modes & Xyzel XGS4600 series Docs (#1161) * FTP Passive/Active mode added * Documentation for Xyzel XGS4600 series --- docs/Configuration.md | 9 +++++++++ docs/Model-Notes/README.md | 1 + docs/Model-Notes/XGS4600-Zyxel.md | 24 ++++++++++++++++++++++++ lib/oxidized/config.rb | 1 + lib/oxidized/input/ftp.rb | 4 +++- 5 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 docs/Model-Notes/XGS4600-Zyxel.md diff --git a/docs/Configuration.md b/docs/Configuration.md index db71bc7..e2db05e 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -74,6 +74,15 @@ vars_map: ... ``` +### FTP Passive Mode + +Oxidized uses ftp passive mode by default. Some devices require passive mode to be disabled. To do so, we can set `input.ftp.passive` to false +``` +input: + ftp: + passive: false +``` + ### Advanced Configuration Below is an advanced example configuration. You will be able to (optionally) override options per device. The router.db format used is `hostname:model:username:password:enable_password`. Hostname and model will be the only required options, all others override the global configuration sections. diff --git a/docs/Model-Notes/README.md b/docs/Model-Notes/README.md index d4b917c..f51ed80 100644 --- a/docs/Model-Notes/README.md +++ b/docs/Model-Notes/README.md @@ -13,6 +13,7 @@ Vendor | Model |Updated ----------------|-----------------|---------------- Huawei|[VRP](VRP-Huawei.md)|17 Nov 2017 Juniper|[MX/QFX/EX/SRX/J Series](JunOS.md)|18 Jan 2018 +Xyzel|[XGS4600 Series](XGS4600-Zyxel.md)|23 Jan 2018 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. diff --git a/docs/Model-Notes/XGS4600-Zyxel.md b/docs/Model-Notes/XGS4600-Zyxel.md new file mode 100644 index 0000000..0ff2e7d --- /dev/null +++ b/docs/Model-Notes/XGS4600-Zyxel.md @@ -0,0 +1,24 @@ +ZynOS Configuration +======================== + +## FTP +FTP access is only possible as admin, other users can login but cannot pull the files. +For the XGS4600 series the config file is _config_ and not _config-0_ + +The following line in _oxidized/lib/oxidized/model/zynos.rb_ with need changing +``` + cmd 'config-0' + +``` + +The inclusion of an extra ftp option is also require. Within _input_ add the following +``` +input: + ftp: + passive: false +``` + +Oxidized can now retrieve your configuration! + + +Back to [Model-Notes](README.md) diff --git a/lib/oxidized/config.rb b/lib/oxidized/config.rb index 23af9c2..47544fb 100644 --- a/lib/oxidized/config.rb +++ b/lib/oxidized/config.rb @@ -37,6 +37,7 @@ module Oxidized asetus.default.input.default = 'ssh, telnet' asetus.default.input.debug = false # or String for session log file asetus.default.input.ssh.secure = false # complain about changed certs + asetus.default.input.ftp.passive= true # ftp passive mode asetus.default.output.default = 'file' # file, git asetus.default.source.default = 'csv' # csv, sql diff --git a/lib/oxidized/input/ftp.rb b/lib/oxidized/input/ftp.rb index 80de257..cdf3688 100644 --- a/lib/oxidized/input/ftp.rb +++ b/lib/oxidized/input/ftp.rb @@ -19,7 +19,9 @@ module Oxidized @node = node @node.model.cfg['ftp'].each { |cb| instance_exec(&cb) } @log = File.open(Oxidized::Config::Log + "/#{@node.ip}-ftp", 'w') if Oxidized.config.input.debug? - @ftp = Net::FTP.new @node.ip, @node.auth[:username], @node.auth[:password] + @ftp = Net::FTP.new(@node.ip) + @ftp.passive = Oxidized.config.input.ftp.passive + @ftp.login @node.auth[:username], @node.auth[:password] connected? end -- cgit v1.2.1