【教學】自動重撥 PPPoE ADSL 連線 (For Linux & FreeBSD) - 第2頁 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- FreeBSD & Linux 討 論 版


PCZONE 討論區



通知

-- FreeBSD & Linux 討 論 版 因為本站採用 FreeBSD 作業系統,所以自己本身也多學了一些技巧,希望各位在這裡互相討論 Unix 作業系統及程式等相關問題。

會員

真是慚愧 ... 我之前手賤改過這支 script 就沒再全程測試一遍 ...
今天才發現我自己的 bsd 斷了但是 ppp 不但沒砍掉還累積了一堆 ppp process ...

我有再度採用比較嚴謹的方式改寫 script .. 這次確定可以用 ...
不過我猜要用在 Linux 可能得確認一下 ps 指令取得的結果 ... 否則我抓的 pid 欄位會不準 ...

等我想到比較好的方式再來修改好了 ..

2004/10/23 版 script

回覆
會員

引用:
最初由 dou0228 發表
ps 在 Linux/FreeBSD 命令還算有相關性, 如果到了 Solaris 可就( 沒記錯的話是 ps -ef )
我的建議是根本不要用 ps 去判斷, 因為有 portable 問題

解法則是:
1. 不要用 Script 啦, 用 C 寫, 以 EXEC(3) 那類的執行, 自然可以控制 pppd, 但是要小心使用 EXEC(3) 那類的函式, 否則會有安全性問題
2. 以 pppd 的 pidfile 來做不就得了, 這樣解起來就容易的多

pppd 有一個選項: linkname <name>
因此, pppd 會建立 /var/run/ppp-<name>.pid 或是 /etc/ppp/ppp-<name>.pid
如此, 該檔案內容自然就是 pid 囉
而且這樣可以同時跑兩個 pppd 也不須要 killall 砍掉其它的 pppd
ccc ... 我承認我的 script 現在只適合 FreeBSD Only ... 因為我真的沒 Linux 的環境可以測試,也懶的測

我是認為這種東西用 C 寫就太累了 .... 偵測 process 這種事情並沒有啥 performance 方面的問題,至於 /var/run/xxx.pid 的機制也不是每種 Unix 都會乖乖的產生

所以我還是喜歡 perl or php 寫出來的版本,比較好散布 ...
在處理 PID 的部份,的確有更精準的方式 ...但是 ... 目前來看應該夠準了啦 ... 如果這是用於企業重要的 ADSL ... 自然還有很多方法可以寫的超嚴謹

至於您提到的同時 Run 兩個 ppp 的問題,我的確沒考慮過 ...不過一般人應該比較少用到 ...

這是我的看法 ... 很高興跟您討論

可以 PM 我斯小討論技巧,交換心得
回覆
新手見習生

感謝阿...我一改完...
測速就快了10kbps左右...

是幻覺嗎!?
回覆
校長兼撞鐘

又有新版程式 , 有新增哪些功能嗎 ?
這支程式對於以 linux or FreeBSD 搭配 ADSL 架站的朋友來說 , 真的是超實用的
以下是我錯誤的 log 檔 , 今天也有發揮幾次作用 , 減緩當站的時間
引用:
Wed Dec 29 12:00:06 CST 2004
Wed Dec 29 12:05:06 CST 2004
Sat Jan 22 10:55:05 CST 2005
Sat Jan 22 11:00:05 CST 2005
Mon Feb 7 16:50:05 CST 2005
Mon Feb 7 16:55:05 CST 2005
Wed Mar 2 08:35:05 CST 2005
Wed Mar 2 08:40:06 CST 2005
Wed Mar 2 08:45:05 CST 2005
Wed Mar 2 08:55:06 CST 2005
Wed Mar 2 09:00:05 CST 2005
Fri Mar 11 18:15:05 CST 2005
Fri Mar 11 18:20:05 CST 2005
Thu Mar 24 22:55:06 CST 2005
Thu Mar 24 23:00:05 CST 2005
Thu Mar 31 17:10:05 CST 2005
Thu Mar 31 17:15:06 CST 2005
Thu Mar 31 17:20:05 CST 2005
Thu Mar 31 17:25:05 CST 2005
回覆
會員

引用:
作者: ADMIN
又有新版程式 , 有新增哪些功能嗎 ?
這支程式對於以 linux or FreeBSD 搭配 ADSL 架站的朋友來說 , 真的是超實用的
以下是我錯誤的 log 檔 , 今天也有發揮幾次作用 , 減緩當站的時間
我看您的 log 好像 5 分鐘就斷一次 .. 您應該沒改成最新的版本 ...
這篇程式我改過三次, 第一版的會判斷 PID 錯誤 ... 所以會每次執行每次誤砍 ppp
第二版的程式才是改成可以正確執行的 ..
至於第三版, 程式沒啥問題, 我是加了下面這段文字:
語法:
如果您用的是 FreeBSD 5.x 的版本, 請在 crontab 最上面放下面這兩行敘述:
SHELL=/bin/tcsh
PATH=/etc:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

否則會讓 perl 找不到相關 module

也就是說,如果您用的是 FreeBSD 5.x 以上的版本, 您的 crontab 內容就必須是這樣:
SHELL=/bin/tcsh
PATH=/etc:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
*/5 * * * * /root/script/check_pppoe.pl

為什麼 FreeBSD 5.x 不能夠使用 /etc/crontab 的 Shell 參數,這點我還不明白,如果有人瞭解的還請麻煩留言告知
詳細的全文還是到 我 blog 上看比較準
回覆
會員
回覆: 【教學】自動重撥 PPPoE ADSL 連線 (For Linux & FreeBSD)
((不好意思...檔案已經找不到了))

之前我也有調整過相關的設定
但有時候我故意去把小烏龜的線拔掉來製造斷線的狀況(電話線端)
發現會偵測不出來

到最後我就直接改成每天固定在清晨的時候自動重撥一次(開始變懶了 )
回覆
會員
回覆: 【教學】自動重撥 PPPoE ADSL 連線 (For Linux & FreeBSD)
這script 真是太棒囉,又學到不少知識,先謝過各位囉.

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
【求助】無法設定Windows XP PPPoE 連線 jeff7364 -- HELP ME 電 腦 軟 硬 體 急 救 版 5 2009-08-24 10:53 AM
【求助】WIN XP的...PPPOE...連線... 紫羽 -- Windows 討 論 版 3 2003-06-26 12:38 AM
[問題]freebsd 設定hinet計時制 pppoe frank214 -- FreeBSD & Linux 討 論 版 3 2002-07-03 10:47 AM
==FreeBSD & Linux 作 業 系 統 討 論 版 版 規== repsol -- FreeBSD & Linux 討 論 版 0 2002-01-24 10:08 PM
LINUX & FREEBSD 硬碟對拷? chengmou -- FreeBSD & Linux 討 論 版 0 2002-01-12 08:51 AM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。