Posts by
Automatisches Backup von Juniper Netscreens mittels SCP
Wenn man nicht gerade den NSM von Juniper einsetzt sollte man sich selber Gedanken machen wie man Backups seiner Netscreen Geräte macht.
Was bleibt einem neben manuellem einloggen auf der Netscreen und das ziehen der Konfiguration noch übrig? Ja. SCP! Damit man automatisch eine Konfiguration von einer Netscreen kopieren kann muss man erstmal SSH und SCP aktivieren. Das machen wir mit:
set ssh version v2 set ssh enable set scp enable
Danach müssen wir noch auf dem entsprechenden Interface über das wir zugreifen möchten SSH aktivieren. Das machen wir mit:
set interface ethernet0 manage ssh
Jetzt würde ich empfehlen, dass wir einen read-only Benutzer anlegen. Das können wir wie folgt machen:
set admin user "backup" password backuppass privilege "read-only"
Was fehlt noch für einen Passwortfreien Login über SSH? Ja, ein PublicKey. Einen PublicKey könnt ihr unter Linux wie folgt anlegen:
ssh-keygen -t dsa
Jetzt müsst ihr aus der angelegten id_dsa.pub den PublicKey kopieren und setzt jetzt folgenden Befehl auf der Netscreen ab:
set ssh pka-dsa user-name backup key AAAAB3NzaC1kc3MAAACBAIQ9SkpRIz/TcrdyPkVdbty...
Damit könnt ihr euch ab sofort ohne Passwort mit diesem User und dem PublicKey einloggen.
Jetzt kommen wir zur eigentlichen Aufgabenstellung. Das Backup! Das ist dann jetzt auch ganz leicht gemacht mit:
scp backup@netscreenip:ns_sys_config netscreen.cfg
Der Befehl muss jetzt nur noch über ein Cronjob gestartet werden und schon habt ihr eurer automatisches Netscreen Backup!
Knowledgeroot 1.1 – Aktuelle Entwicklungen
Die Aktuellen Entwicklungen zu Knowledgeroot 1.1 schreiten voran.
Zend_Db wurde als Datenbank-Layer schon eingebaut. Alle alten Bestandteile sind bis jetzt aus dem Quellcode entfernt worden.
Weiter auf dem Zettel für Version 1.1 steht ein überarbeiteter Installer. Hier ein erster Screenshot dazu:
Weiterhin könnte noch eine Neuerung in Knowledgeroot 1.1 Einzug halten. Eine REST Schnittstelle. Die Planungen dazu laufen noch. Nähere Details zu der Schnittstelle gibt es hier:
http://trac.knowledgeroot.org/cgi-bin/trac.cgi/wiki/rest_api
Für die REST Schnittstelle müssen noch einige Klassen angelegt werden, welche die Bearbeitung sehr vereinfachen sollen.
Es steht leider auch noch nicht fest in welchem Umfang die Schnittelle in der Version 1.1 implementiert ist.
Weiterhin habe ich mich gefragt ob es sinnvoll ist mal eine Umfrage zu starten über Features die man noch so in Knowledgeroot implementieren könnte. Was meint ihr? Was fehlt noch in Knowledgeroot?
Nach dem Release ist vor dem Release
Am Anfang der Woche war das Release da: Knowledgeroot 1.0! Kurz nach dem Release musste es noch einen kleinen Bugfix im MySQL Dump geben aber im großen scheint es soweit erstmal Rund zu laufen. Es gibt hier und da noch ein paar Fälle zu klären. Aber das bleibt wohl nicht aus.
Aber wie geht es jetzt weiter?! Für die nächste Version 1.1 ist zum einen neuer Installer geplant. Der soll Probleme mit dem Datenbankschema lösen, als auch Update Skripte erlauben. Dadurch sollten dann auch Release Updates über mehrere Versionen hinweg sauber funktionieren.
Neben dem Installer ist auch noch geplant im Unterbau für die Datenbankanbindung Zend_Db zu verwenden. Das heißt, es wird eine klare Schnittstelle für die Datenbank geben und bestehende SQL Statements und Funktionen werden darauf hin angepasst.
Dann soll es schon weiter gehen mit der Version 1.2. In dieser Version soll der eigentliche Tree mit Elementen vom Dojotoolkit gebaut werden. Das bringt dann endlich Browserunabhängigkeit für den Tree. Neben dem Tree sollen dann weitere Dojotoolkit Elemente einfliessen. Das Layout soll dann auch über Dojo gesteuert werden. Neben diesen Anpassungen sollen Prototype und Scriptaculous rausfliegen. Bestehende Scripte müssen dann noch etwas angepasst werden damit sie dann mit Dojo laufen.
Das große Ziel am Ende dieser Reise (wobei Softwareentwicklung wohl nie ein Ende hat 😉 ) ist Knowledgeroot in Zukunft unter die BSD Lizenz zu stellen, das ZendFramework noch mehr zu integrieren. Das heißt, ich möchte Sache verwenden wie Zend_ACL, MVC, etc…
Neben diesen Sachen werde ich mir das Doctrine Projekt mal näher angucken und Prüfen ob ich darüber Models nutzen werde. Weiterhin muss ich neben noch einiges für Debian tun und endlich mal das mit dem Debian Maintainer durchbringen.
Daneben mache entwickel ich jetzt noch etwas Proof of Concept ein CRM/Projektmanagement Tool. Wo unter anderem auch ZendFramework und vielleicht auch Doctrine verwendet wird. Das Projekt nennt sich ChaRM und findet sich hier: http://sourceforge.net/apps/trac/charm/
Ich suche auch noch wieder mal ein paar Mitstreiter für diese Projekte!
One Day After – World IPv6 Day
Und schon ist die schöne neue Welt auch wieder vorbei. Gestern war der World IPv6 Day. Das heißt, viele Firmen haben an diesem Tag neben den normalen A-Records auch AAAA-Records ausgeliefert. Was wiederum heißt, es könnte Leute auf dieser Welt geben die Damit Probleme hatten. In meinem Umfeld konnte ich aber keine Probleme diesbezüglich feststellen. Weder mit reinen IPv4 oder IPv6 Anbindungen als auch mit Dualstack-Anbindung.
Fazit für mich: Liebe Provider – We are ready for IPv6!
Knowledgeroot 1.0.0 verfügbar
Knowledgeroot 1.0.0 steht zum Download bereit.
Hier der Auszug aus dem Changelog zu den aktuellen Änderungen:
* zendframework 1.11.7
* dojotoolkit 1.6.1
* tree with symlinks #35
* hide menus #55
* dojo rte as default editor #100
* recover admin password sysext #125
* enable tree with icons #156
* php 5.3 support #144
* make different order of tree elements #146
* link to content in email notification
* move content on the same page to different position
* added print dialog for content
* added create date for contents
* make default position for contents editable
Bitte unbedingt die Release Notes beachten:
http://trac.knowledgeroot.org/cgi-bin/trac.cgi/wiki/release100
Herunterladen könnt ihr die aktuelle Version hier:
http://downloads.lordlamer.de/knowledgeroot/knowledgeroot-1.0.0.tar.gz
Viel Spass mit der neuen Version!
Aktuelle Vim Konfiguration – Die Zweite
Anbei nochmal meine aktuelle Vim Konfiguration. Hier habe ich noch ein kleines Skript mit dabei welches Überflüssige Leerzeichen entfernt. Aufzurufen über die Taste F7.
Desweiteren wird im Binären Modus gearbeitet und es wird keine Leerzeile am Ende der Datei mehr eingefügt.
Hier die Konfiguration: " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime " you can find below. If you wish to change any of those settings, you should " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten " everytime an upgrade of the vim packages is performed. It is recommended to " make changes after sourcing debian.vim since it alters the value of the " 'compatible' option. " This line should not be removed as it ensures that various options are " properly set to work with the Vim-related packages available in Debian. runtime! debian.vim " Uncomment the next line to make Vim more Vi-compatible " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous " options, so any other options should be set AFTER setting 'compatible'. "set compatible " Vim5 and later versions support syntax highlighting. Uncommenting the next " line enables syntax highlighting by default. syntax on " If using a dark background within the editing area and syntax highlighting " turn on this option as well "set background=dark " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") \| exe "normal g'\"" | endif endif " Uncomment the following to have Vim load indentation rules according to the " detected filetype. Per default Debian Vim only load filetype specific " plugins. if has("autocmd") filetype indent on endif " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. " set showcmd " Show (partial) command in status line. set showmatch " Show matching brackets. set ignorecase " Do case insensitive matching set smartcase " Do smart case matching set incsearch " Incremental search set autowrite " Automatically save before commands like :next and :make "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes) in terminals set paste set nu set smartindent set ruler set laststatus=2 set listchars=tab:>-,trail:-,eol:$,extends:>,precedes:<,nbsp:% " folding "set fdm=marker "set fmr={,} " set noeol set bin set noeol " highlight all not useable whitespaced at end of line highlight WhitespaceEOL ctermbg=red guibg=red match WhitespaceEOL /\s\+$/ set enc=utf-8 "map <F10> :set nu<cr> "map <F9> :set nonu<cr> "map <TAB> :set nu<cr> "map <F12> :only<cr> "inset hallo "map <F2> ihallo " set global vars let g:numbers=1 let g:wordwrap=0 let g:lists=0 " functions " function to show linenumbers or to hide function Showlinenumbers() if g:numbers == 1 set nonu let g:numbers=0 else set nu let g:numbers=1 endif endfunction " function for wordwrap function Showwordwrap() if g:wordwrap == 1 set nowrap let g:wordwrap=0 else set wrap let g:wordwrap=1 endif endfunction " function for list special chars function Showlists() if g:lists == 1 set nolist let g:lists=0 else set list let g:lists=1 endif endfunction " function for switching background function SwitchBackground() if g:background == 1 set background=dark let g:background=0 else set background=light let g:background=1 endif endfunction " make key mapings map <F10> :call Showlinenumbers()<cr> map <F9> :call Showwordwrap()<cr> map <F8> :call Showlists()<cr> " open/close folding map <F5> za map <F6> zA " remove unused whitespaces map <F7> :%s/\s\+$//<cr> " switching background map <F4> :call SwitchBackground()<cr> " indent with mark text again after indent vmap > >gv vmap < <gv " Source a global configuration file if available " XXX Deprecated, please move your changes here in /etc/vim/vimrc if filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.local endif