歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux業界

Linux上網共享的定時開通

黑龍江省新紀元電子有限責任公司 楊銳


我公司的網絡環境為:20余台電腦,10M共享式以太網。向電信申請了ADSL接入,接入方式為虛擬撥號(動態IP),收費標准為每月200元,180小時。采用Linux作為代理服務器實現ADSL上網共享。根據公司規模小、管理任務簡單的情況,沒有設專職的網絡管理員。
為了控制費用,將每月的上網時長限制在180小時之內,制定的允許上網時段為:周一至周五,每天9:00~17:00。這樣,每月22或23個工作日,每天開通8小時,月累計時長大體為180小時。
最初的做法是,在代理服務器上將ADSL撥號命令加入到系統啟動文件中,開機就上網,每天定時開通代理服務器。隨著用戶需求的增加,又要由同一台服務器提供局域網內的WWW、FTP等服務。考慮使用Linux操作系統提供的功能,實現ADSL上網共享的定時開通。在服務器上要實現的目標規劃為:DHCP、WWW、FTP服務7×24小時開通;ADSL上網共享服務每周一至周五,每天9:00定時開通,17:00定時關閉。由於沒有配備UPS,還要考慮服務器斷電、恢復供電後重新啟動的情況。
分析設置的思路:
1. 系統啟動時:
(1) 自動加載DHCP、WWW、FTP服務;
(2) 檢查系統日期、時間,如果在周一至周五、9:00~17:00之間,開通ADSL連接。
2. 定時事件:
(1) 周一至周五每天9:00,開通ADSL連接;
(2) 周一至周五每天17:00,關閉ADSL連接。
定時使用系統提供的crontab命令進行設置。以root身份登錄,在終端提示符下執行crontab –e編輯定時任務,內容是:
0 9 * * 1-5 adsl-start
0 17 * * 1-5 adsl-stop
這個定時任務的目標是,周一至周五,每天9點,進行ADSL的虛擬撥號連接(adsl-start);17點,關閉ADSL連接(adsl-stop)。
服務器啟動時,檢查系統時間,如果符合ADSL開通時段,應該立即提供ADSL上網共享服務。在啟動文件/etc/rc.d/rc.local的最後加入下列命令:
HOUR=`date +%H`
WEEK=`date +%W`
if test $HOUR –ge 9 –a $HOUR –lt 17 –a $WEEK –ge 1 –a $WEEK –le 5
then
adsl-start
fi
上述命令實現的目標是,檢查系統時鐘的星期、小時數,如果是星期一至星期五,9點至17點之間,則進行ADSL虛擬撥號連接(adsl-start)。
以上設置,經過一個多月的使用,效果良好,實現了無人值守的上網共享定時服務。
安裝的Linux版本為Redhat Linux 7.2專業版(裡仁9CD套裝)。服務器主要配置為PII 350、128M、30G、雙網卡,沒有軟驅、光驅、顯示器,機器在SETUP中電源管理設置為斷電自動恢復(Auto Resume on Power Failure)。
對於涉及的crontab、date等Linux命令和bash編程知識感興趣的朋友,請查看Linux手冊獲得深入了解。上面提供的定時設置,只需稍加修改,就可以適用於模擬撥號、ISDN撥號以及通過網卡連接等各種上網共享環境。




Copyright © Linux教程網 All Rights Reserved