Cisco Router Configuratie Backups

Op mijn werk hebben we een WAN, een verbinding tussen verscheidene remote lokaties. Deze remote lokaties hebben Cisco-routers verbonden via ISDN, of in een aantal instances, Centrex data circuits, om te voorzien in Internet en WAN connectiviteit. Cisco router producten maken het gebruik van TFTP (“Trivial File Transfer Protocol”) op een netwerkserver mogelijk om configuratiebestanden te lezen en beschrijven. Wanneer een router-configuratie is gewijzigd, is het belangrijk het configuratiebestand op de Linux-server op te slaan zodat de backup wordt onderhouden.

Red Hat deactiveert standaard de TFTP-service, omdat het een echt beveiligingslek kan zijn als het niet juist is geconfigureerd. De TFTP-daemon maakt het iedereen mogelijk bestanden te lezen en beschrijven zonder het uitvoeren van authenticatie. De wijze waarop ik dingen persoonlijk instel is het aanmaken van een directroy ``/tftpboot/'', met als eigenaar root, en vervolgens het aanpassen van de bestaande configuratieregel in het bestand ``/etc/inetd.conf'' om de bestandslokatie op te geven:

tftpd   dgram   udp    wait   root   /usr/sbin/tcpd  in.tftpd  /tftpboot

Note

Noot: Het toevoegen van het ``/tftpboot'' path aan het einde van de regel hierboven, geeft specifiek aan waar het de TFTP-daemon is toegestaan bestanden te benaderen. Alhoewel je dit deel er in feite uit kan laten en het TFTP mogelijk maakt bestanden overal op je systeem te benaderen, zou dit waarschijnlijk een heel slecht idee zijn, aangezien TFTP enigszins als een beveiligingsrisico wordt aangemerkt.

Vergeet niet na het activeren van de TFTP-service in te tikken:

killall -HUP inetd

Met dit commando wordt de INETD-daemon opnieuw opgestart om de wijzigingen die je hebt gemaakt aan het inetd.conf bestand te herkennen.

Het aanmaken van een backup van een router-configuratiebestand bestaat uit een uit 3 stappen bestaand proces: het instellen van permissies op een bestaand bestand (of het aanmaken van een nieuw bestand) om schrijfopdrachten mogelijk te maken, het schrijven van het backupbestand en het opnieuw instellen van de permissies om toegang tot het bestand te beperken. Hierna volgt een router backupsessie:

mail:~# cd /tftpboot
mail:/tftpboot# chmod a+w xyzrouter-confg
chmod: xyzrouter-confg: No such file or directory
mail:/tftpboot# touch xyzrouter-confg
mail:/tftpboot# chmod a+w loyola-confg
mail:/tftpboot# telnet xyzrouter

Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
Password: ****
xyzrouter# write network
Remote host []? 123.12.41.41
Name of configuration file to write [xyzrouter-confg]?  
Write file xyzrouter-confg on host 123.12.41.41? [confirm]  
Building configuration...
Writing xyzrouter-confg !! [OK] 
xyzrouter# exit
Connection closed by foreign host.

mail:/tftpboot# chmod a-wr,u+r xyzrouter-confg
mail:/tftpboot# exit

In geval van een storing aan de router (bijvoorbeeld veroorzaakt door een stroomonderbreking tijdens een blikseminslag), kunnen deze backupbestanden van pas komen voor het opnieuw laden van de router-configuratie. Ook het herstellen van een configuratiebestand bestaat uit een uit 3 stappen bestaand proces: het instellen van de permissies op het bestaande bestand, het laden van het bestand en het vervolgens opnieuw instellen van de permissies om toegang tot het bestand te beperken. Hierna volgt een voorbeeldsessie van een router-herstel:

mail:~# cd /tftpboot
mail:/tftpboot# chmod a+r xyzrouter-confg
mail:/tftpboot# telnet xyzrouter

Escape character is '^]'.
User Access Verification
Password: ****
xyzrouter> enable
Password: ****
xyzrouter# config network
Host or network configuration file [host]?  
Address of remote host [255.255.255.255]? 123.12.41.41
Name of configuration file [xyzrouter-confg]?  
Configure using loyola-confg from 123.12.41.41? [confirm]  
Loading xyzrouter-confg from 123.12.41.41 (via BRI0): !
[OK - 1265/32723 bytes]
xyzrouter# write
xyzrouter# exit
Connection closed by foreign host.

mail:/tftpboot# chmod a-wr,u+r xyzrouter-confg
mail:/tftpboot# exit