8.3. 시스코 라우터 설정 백업

우리 회사에서는 WAN 을 이용하여 여러 사무실을 연결하고 있다. 이들 원격지에는 ISDN 을 통하여 시스코 라우터가 연결되어 있거나 어떤 경우에는 인터넷과 WAN 의 연결을 제공하기 위하여 센트렉스 (Centrex) 데이터 회로를 사용한다. 시스코 라우터 제품은 네트웍 서버상의 TFTP ("Trivial File Transfer Protocol") 를 통하여 설정 파일을 읽거나 쓸 수 있도록 해준다. 라우터 설정이 바뀔 때마다, 백업을 관리할 수 있도록 설정 파일을 리눅스 서버에 저장하는 것이 중요하다.

TFTP 는 제대로 설정되지 않으면 실제로 보안상의 구멍이 되므로, 레드햇은 디폴트로 TFTP 서비스를 막아놓았다는 점에 주의하여야 한다. TFTP 데몬은 인증 과정을 거치지도 않고 누구든지 파일을 읽거나 쓸 수 있도록 허용한다. 내가 보통 셋업하는 방법은 ``/tftpboot/'' 디렉토리를 만들어서 그 소유자를 루트로 하고 ``/etc/inetd.conf'' 파일에 있는 설정내용을 파일의 위치를 지정하도록 바꾼다:

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

참고: 주의: 줄의 맨 끝에 ``/tftpboot'' 라는 경로를 추가하는 것은 TFTP 데몬이 액세스할 수 있는 파일의 위치를 지정하는 역할을 한다. 물론 이렇게 지정하지 않고 TFTP 가 시스템의 어디든지 있는 파일을 액세스할 수 있도록 할 수도 있다. 하지만 TFTP 는 보안상 위험을 갖고 있다고 생각되므로 이렇게 하는 것은 좋은 생각이 아니다.

일단 TFTP 서비스를 쓸 수 있도록 하였으면 다음과 같이 타이핑하여야 한다:

killall -HUP inetd

이 명령은 INETD 데몬을 다시 시작시켜서 inetd.conf 파일의 수정 내용이 적용되게 해준다.

라우터 설정 파일의 백업을 만드는 것은 3단계로 이루어진다: 기존의 파일에 대하여 (없으면 하나를 만들어서) 쓰기를 허용하도록 퍼미션을 지정하고, 백업 파일을 쓰고, 그리고 나서 파일에 대한 액세스를 제한하도록 퍼미션을 리셋한다. 라우터 백업 세션의 예는 다음과 같다:

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

라우터가 (예컨대 천둥 번개로 발생한 서지 전압으로) 말썽을 일으키면 이러한 백업 파일이 라우터 설정을 다시 복구하는데 도움이 된다. 설정 파일을 복구하는 것도 역시 3단계로 이루어진다: 기존 파일의 퍼미션을 셋팅하고, 파일을 올린다음, 파일에 대한 접근을 통제하기 위하여 퍼미션을 리셋한다. 라우터 복구 세션의 예는 다음과 같다.

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