兩種Linux系統下配置路由信息服務器的方法
原創路由器作為骨干網絡核心交換設備之一,在網絡中充當著網絡交通站的職責,它將網絡數據包通過既定規則進行轉發和交換,從而使網絡客戶端節點設備能有效使用網絡來進行信息的交換和交流。這樣,網絡中路由器相關的配置參數就成為了非常重要的網絡基礎資料之一。我單位企業網屬于中等規模廣域網范疇,下級接入路由器及匯聚層路由器有幾十臺之多。這些路由器一旦故障需要進行硬件更換時,路由器配置資料的查找總是讓人頭痛的問題之一,為此筆者使用Linux系統提供的TFTP服務器及apache網頁服務器結合規劃配置了方便的路由資料備份系統解決以上問題。因為目前主流的Linux系統基本是由RedHat及Debian衍生出來的發行版。所以筆者分別就以上兩個操作系統的配置進行敘述,希望能給其他用戶以幫助。
一、Debian下配置TFTP及apache服務器
(一)TFTP服務器配置
1、TFTP服務器組件安裝
在Debian中可以使用新立得軟件包管理器搜索tftpd-hpa軟件包,并勾選"標記以便安裝"選項,然后點擊應用按扭,系統將自動進行該組件包的安裝。用戶也可是直接再命令行下執行apt-get install tftpd-hpa來進行安裝命令模式如下:
- root@AkBirdofpreyWorkStation:~# apt-get install tftpd-hpa
之后系統將創建相關的應用啟動腳本及配置文件,并會在跟目錄下創建/srv/tftp目錄。
2、TFTP配置文件及相關目錄權限修改
系統安裝完TFTP服務組件后,會自動創建TFTP服務需要的用戶組及配置文件,該文件為/etc/default/tftpd-hpa,初始配置內容如下:
- # /etc/default/tftpd-hpa
- TFTP_USERNAME="tftp"
- TFTP_DIRECTORY="/srv/tftp"
- TFTP_ADDRESS="0.0.0.0:69"
- TFTP_OPTIONS="-secure"
我們需要將該文件修改為如下內容:
- # /etc/default/tftpd-hpa
- TFTP_USERNAME="tftp"
- TFTP_DIRECTORY="/srv/tftp"
- TFTP_ADDRESS="0.0.0.0:69"
- TFTP_OPTIONS="-l -c -secure"
其中在TFTP_OPTIONS選項中加入了-l -c參數,這樣當我們使用路由器參數備份命令時,可以將文件順利的上傳之TFTP服務器目錄。
于此同時我們需要修改TFTP服務器指定目錄的用戶及屬組,命令模式如下:
- root@AkBirdofpreyWorkStation:/etc/default# chown tftp:tftp /srv/tftp
這樣/srv/tftp目錄的屬組就修改為了tftp用戶,修改用戶屬組必須要進行,筆者測試中發現,TFTP服務組件安裝后/srv/tftp目錄的屬組為root,如果不進行用戶屬組修改時,當使用路由器參數備份命令時,服務器將會出現transfer time out錯誤。
此時只要使用/etc/init.d/tftpd-hpa restart重啟TFTP服務,TFTP服務器應該就可以正常使用了,命令模式如下:
- root@AkBirdofpreyWorkStation:/etc/default# /etc/init.d/tftpd-hpa restart
- [ ok ] Restarting HPA's tftpd: in.tftpd.
(二)apache服務器服務器配置
1、apache服務器服務器組件安裝
該組件安裝和TFTP服務組件安裝差別不大,用戶可以選擇圖形界面或者命令行界面進行安裝即可
2、apache服務器服務器配置
因為之前筆者一直較多的使用RedHat及其衍生Linux版本。使用Debian/Linux系統后發現apache服務器配置文件與RedHat及其衍生Linux版本apache服務器配置文件差別很大,Debian/Linux系統的apache服務器配置文件沒有被集中在像httpd.conf文件中,而是被分別放置在了不同的配置文件里。因為路由器資料涉及到安全性問題,因此我們配置的apache服務器訪問時需要進行用戶安全審核,下面我們來做具體配置。
Debian/Linux系統的apache服務器配置文件保存在/etc/apache2中,使用vi /etc/apache2/apache2.conf查看幫助中的對該目錄結構對應配置文件的說明,我們需要修改的配置文件為 /etc/apache2/sites-enabled/000-default,該文件實際才是apache用戶定義的配置文件,其中包括服務器目錄以及訪問權限等內容,初始配置文件為如下內容:
- <VirtualHost *:80>
- ServerAdmin webmaster@localhost
- DocumentRoot /var/www
- <Directory />
- Options FollowSymLinks Indexes
- AllowOverride None
- </Directory>
- <Directory /var/www/>
- <Directory /var/www/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
- ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
- <Directory "/usr/lib/cgi-bin">
- AllowOverride None
- Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
- Order allow,deny
- Allow from all
- </Directory>
- ErrorLog ${APACHE_LOG_DIR}/error.log
- # Possible values include: debug, info, notice, warn, error, crit,
- # alert, emerg.
- LogLevel warn
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- </VirtualHost>
我們需要將它修改為如下內容:
- <VirtualHost *:80>
- ServerAdmin webmaster@localhost
- #DocumentRoot /var/www
- DocumentRoot /srv/tftp
- <Directory />
- Options FollowSymLinks Indexes
- AllowOverride All
- <limit GET POST OPTIONS PROPFIND>
- Order allow,deny
- Allow from all
- </Limit>
- </Directory>
- #<Directory /var/www/>
- #<Directory /var/www/>
- #Options Indexes FollowSymLinks MultiViews
- #AllowOverride None
- #Order allow,deny
- #allow from all
- #</Directory>
- ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
- <Directory "/usr/lib/cgi-bin">
- AllowOverride None
- Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
- Order allow,deny
- Allow from all
- </Directory>
- ErrorLog ${APACHE_LOG_DIR}/error.log
- # Possible values include: debug, info, notice, warn, error, crit,
- # alert, emerg.
- LogLevel warn
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- </VirtualHost>
使用vi命令編輯/srv/tftp/.htaccess文件,命令模式如下:
- root@AkBirdofpreyWorkStation:/# vi /srv/tftp/.htaccess
文件內容如下:
AuthUserFile /etc/secure.user ##用戶帳號密碼文件名
AuthName akcwdCA 用戶登錄認證信息提示
AuthType Basic
- <Limit GET>
- require valid-user
- </Limit>
使用htpasswd -c /etc/secure.user建立用戶密碼文件,命令模式如下:
- root@AkBirdofpreyWorkStation:/# htpasswd -c /etc/secure.user user1
程序會提示你輸入兩次用戶的口令,然后用戶密碼文件就已經創建,user1這個用戶也同時創建完成了。
使用命令/etc/init.d/apache2 restart重啟apache服務器,命令模式如下:
- root@AkBirdofpreyWorkStation:/# /etc/init.d/apache2 restart
- [....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.253 for ServerName
- ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.253 for ServerName
- . ok
#p#
二、RedHat下配置TFTP及apache服務器
(一)TFTP服務器配置
RedHat下TFTP服務器的啟動管理是由xinetd超級服務管理進程來進行管理的,因此,我們可以直接使用vi命令來修改/etc/xinetd.d/tftp配置文件,在server_args參數中添加 "-c"參數即可,命令模式如下:
- root@server:/#vi /etc/xinetd.d/tftp
文件內容如下:
- service tftp
- {
- disable = no
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = /usr/sbin/in.tftpd
- server_args = -s /tftpboot -c
- per_source =11
- cps = 100 2
- flags = IPv4
- }
使用命令chkconfig tftp on開啟TFTP服務,命令模式如下:
- root@server:/#chkconfig tftp on
(二)apache服務器配置
在RedHat中使用vi命令編輯/etc/httpd/conf/httpd.conf文件,并在DocumentRoot "/tftpboot"下添加一下內容:
- <Directory />
- Options FollowSymLinks Indexes
- AllowOverride All
- <limit GET POST OPTIONS PROPFIND>
- Order allow,deny
- Allow from all
- </Limit>
- </Directory>
保存退出即可。
使用vi命令編輯/tftpboot/.htaccess文件,同時添加與Debian該文件相同內容即可。
創建WEB頁訪問密碼也與在Debian中相似,用戶可使用命令自行創建。
總結:Linux系統因為各種發行版的不同,盡管各種發行版彼此之間存在差異,但相關方法還是比較通用的。該文中筆者對以上應用的部署進行了實際測試,Debian系列操作系統為最新的Debian7.0 RedHat系列為RHEL5.5以及CentOS6.4,測試中系統都能順利的完成路由資料的有效備份,同時也可以使授權用戶方便的對需要的路由器信息進行查詢及下載。
【作者簡介】本文作者解寶琦(陜西安康市安康車務段信息技術科助工)、郭朋(陜西安康市安康車務段信息技術科工程師),原創內容,轉載請注明作者及出處。