summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlbert Martinez <a.martinez@mrgc.net>2018-06-03 10:19:00 +0200
committerWild Kat <wk@users.noreply.github.com>2018-06-03 10:19:00 +0200
commita5b0963ccd9f79d26399761dd488223cd05e7bae (patch)
treeb76a396168a8107e1623b74234e4005a89144f57 /lib
parent9fc212969cb559b39bf8a27d930f503c1264effe (diff)
Create openbsd.rb (#1356)
OpenBSD model implementation.
Diffstat (limited to 'lib')
-rw-r--r--lib/oxidized/model/openbsd.rb76
1 files changed, 76 insertions, 0 deletions
diff --git a/lib/oxidized/model/openbsd.rb b/lib/oxidized/model/openbsd.rb
new file mode 100644
index 0000000..898e9e3
--- /dev/null
+++ b/lib/oxidized/model/openbsd.rb
@@ -0,0 +1,76 @@
+class Openbsd < Oxidized::Model
+ # OpenBSD with custom promp, like user@hostname:~$
+ # you can edit the one that your user uses, with root would be /root/.profile using the next PS1 def
+ # export PS1="\033[32m\u@\h\033[00m:\033[36m\w\033[00m$ "
+
+ prompt /^.+@.+\:.+\$/
+ comment '# '
+
+ # Add a comment between files/configs
+ def add_comment comment
+ "\n+++++++++++++++++++++++++++++++++++++++++ #{comment} ++++++++++++++++++++++++++++++++++++++++++++++\n"
+ end
+
+ def add_small_comment comment
+ "\n=============== #{comment} ===============\n"
+ end
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-2].join
+ end
+
+ # Issue the show commands
+ pre do
+ cfg = add_comment('HOSTNAME FILE')
+ cfg += cmd('cat /etc/myname')
+
+ cfg += add_comment('HOSTS FILE')
+ cfg += cmd('cat /etc/hosts')
+
+ cfg += add_comment('INTERFACE FILES')
+ cfg += cmd('tail -n +1 /etc/hostname.*')
+
+ cfg += add_comment('RESOLV.CONF FILE')
+ cfg += cmd('cat /etc/resolv.conf')
+
+ cfg += add_comment('NTP.CONF FILE')
+ cfg += cmd('cat /etc/ntp.conf')
+
+ cfg += add_comment('IP ROUTES PER ROUTING DOMAIN')
+ cfg += add_small_comment('Routing Domain 0')
+ cfg += cmd('route -T0 exec netstat -rn')
+ cfg += add_small_comment('Routing Domain 1')
+ cfg += cmd('route -T1 exec netstat -rn')
+ cfg += add_small_comment('Routing Domain 2')
+ cfg += cmd('route -T2 exec netstat -rn')
+ cfg += add_small_comment('Routing Domain 3')
+ cfg += cmd('route -T3 exec netstat -rn')
+ cfg += add_small_comment('Routing Domain 4')
+ cfg += cmd('route -T4 exec netstat -rn')
+ cfg += add_small_comment('Routing Domain 5')
+ cfg += cmd('route -T5 exec netstat -rn')
+
+ cfg += add_comment('SNMP FILE')
+ cfg += cmd('cat /etc/snmpd.conf')
+
+ cfg += add_comment('PF FILE')
+ cfg += cmd('cat /etc/pf.conf')
+
+ cfg += add_comment('MOTD FILE')
+ cfg += cmd('cat /etc/motd')
+
+ cfg += add_comment('PASSWD FILE')
+ cfg += cmd('cat /etc/passwd')
+
+ cfg += add_small_comment('END')
+ end
+
+ cfg :telnet do
+ username /^Username:/
+ password /^Password:/
+ end
+
+ cfg :telnet, :ssh do
+ pre_logout 'exit'
+ end
+end