PCZONE 版規 帳號無法發言?
 首頁 註冊 個人設定 悄悄話 搜尋文章 最新文章 今日所有文章 會員登出

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- FreeBSD & Linux 討 論 版
帳 號
密 碼
我確定要註冊 論壇說明 會員列表 行事曆 搜尋資料 今日新文章 標記所有討論區已讀

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

發文 回覆
置頂的主題
主題工具 搜尋本主題
舊 2004-10-19, 10:24 PM   #11
dou0228
等級:33 | 上線時間:1257小時 | 離升級還需:35小時等級:33 | 上線時間:1257小時 | 離升級還需:35小時等級:33 | 上線時間:1257小時 | 升級還需:35小時
拉登長官
 
dou0228 的大頭照
 
註冊日期: 2002-08-26
上網方式: 2M/256K
文章: 1,137
精華: 0
剛寫了一個用 TCP 連 Port 80 的 PHP script

Ping 其實有的時候會被 ISP 無端的檔下來..
用 Ping 用一定的風險在

TCP 連 HTTP 也不是沒風險..
只是較不會像 ICMP 那樣常被欄下來..

他會亂數的取 Server 列表去連網頁
萬一發現 連不上, 它會試三次, 不行才會重新啟動 ppp

註: killall 在 Linux Distro. 裡會有, 請放心
它只是純連線到伺服器, 並未真的傳送 HTTP 資料
上傳的附加檔案
檔案類型: php tcp.php (1.4 KB, 168 次觀看)




O/S: XPro SP2;Gentoo 05-r1;F-BSD 5.4/N-BSD 2.0.2
替代役第一梯次, 矯正役笨蛋
Bug !?
Red Hat 技術支援的改變引起眾怒_原文出處
echo $(echo 4jp022f@n5549i5o9or | tr 0-9a-z 0-3d-l6-9m-w4-5) | tr i .
就讓 LP 去耍, 我們好在旁邊笑
QoS 沒中文資料!?
dou0228 目前上線  
回覆時引用此文章
舊 2004-10-19, 11:04 PM   #12
dekuo
等級:0 | 上線時間:0小時 | 升級還需:5小時
會員
 
註冊日期: 2002-01-01
文章: 19
精華: 0
引用:
最初由 dou0228 發表
剛寫了一個用 TCP 連 Port 80 的 PHP script

Ping 其實有的時候會被 ISP 無端的檔下來..
用 Ping 用一定的風險在

TCP 連 HTTP 也不是沒風險..
只是較不會像 ICMP 那樣常被欄下來..

他會亂數的取 Server 列表去連網頁
萬一發現 連不上, 它會試三次, 不行才會重新啟動 ppp

註: killall 在 Linux Distro. 裡會有, 請放心
嗯嗯 ..您這程式寫的更完善 ... 真是不錯 ^_^

不過我不用 killall 的原因是其實我的 script 也可以用在其它 Unix ...例如 Solaris 就沒有內建 killall 這個指令

而且我用 Perl 寫的原因是因為 Perl 應該是所有 Unix Like OS 都會內建的程式,但是 PHP CLI 卻得靠 User 自己另外做 (或者是 RedHat 完整安裝也會做出 PHP CLI ? 但不見得每個 User 都會完整安裝)

另外我相信 Hinet 也沒那個狗膽去擋 ICMP ... 其它夠種的 ISP 我就懶的管了

當然啦 ... 我的看法是用 Perl 來寫出您那個程式的版本是最理想的啦 ... ^_^


--
我是 ㄉㄝ~ㄎㄡ~~

想要 Gmail 邀請函請寫信寄到以下帳號:
dekuo.com+gmail@gmail.com

----------------------------------
dekuo.COM
http://www.dekuo.com/
----------------------------------
dekuo 目前未上線  
回覆時引用此文章
舊 2004-10-23, 02:20 PM   #13
dekuo
等級:0 | 上線時間:0小時 | 升級還需:5小時
會員
 
註冊日期: 2002-01-01
文章: 19
精華: 0
真是慚愧 ... 我之前手賤改過這支 script 就沒再全程測試一遍 ...
今天才發現我自己的 bsd 斷了但是 ppp 不但沒砍掉還累積了一堆 ppp process ...

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

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

2004/10/23 版 script
dekuo 目前未上線  
回覆時引用此文章
舊 2004-10-25, 02:54 AM   #14
dou0228
等級:33 | 上線時間:1257小時 | 離升級還需:35小時等級:33 | 上線時間:1257小時 | 離升級還需:35小時等級:33 | 上線時間:1257小時 | 升級還需:35小時
拉登長官
 
dou0228 的大頭照
 
註冊日期: 2002-08-26
上網方式: 2M/256K
文章: 1,137
精華: 0
引用:
最初由 dekuo 發表
真是慚愧 ... 我之前手賤改過這支 script 就沒再全程測試一遍 ...
今天才發現我自己的 bsd 斷了但是 ppp 不但沒砍掉還累積了一堆 ppp process ...
我的感覺是, 這種程式如果要用 script 寫, 可以.
但是對於 pid 的判斷就必須要很小心才可以.

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
dou0228 目前上線  
回覆時引用此文章
舊 2004-10-26, 05:49 PM   #15
dekuo
等級:0 | 上線時間:0小時 | 升級還需:5小時
會員
 
註冊日期: 2002-01-01
文章: 19
精華: 0
引用:
最初由 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 我斯小討論技巧,交換心得
dekuo 目前未上線  
回覆時引用此文章
舊 2005-02-11, 11:42 PM   #16
dshyi
等級:0 | 上線時間:0小時 | 升級還需:5小時
新手見習生
 
dshyi 的大頭照
 
註冊日期: 2005-02-11
文章: 2
精華: 0
發 Yahoo! 訊息給 dshyi
感謝阿...我一改完...
測速就快了10kbps左右...

是幻覺嗎!?
dshyi 目前未上線  
回覆時引用此文章
舊 2005-02-13, 02:31 PM   #17
dekuo
等級:0 | 上線時間:0小時 | 升級還需:5小時
會員
 
註冊日期: 2002-01-01
文章: 19
精華: 0
FreeBSD 的 PPPoE ADSL 斷線自動重撥 2005/03/19 Update
dekuo 目前未上線  
回覆時引用此文章
舊 2005-03-31, 07:04 PM   #18
阿 土 帥哥
等級:23 | 上線時間:634小時 | 離升級還需:38小時等級:23 | 上線時間:634小時 | 升級還需:38小時等級:23 | 上線時間:634小時 | 升級還需:38小時等級:23 | 上線時間:634小時 | 升級還需:38小時等級:23 | 上線時間:634小時 | 升級還需:38小時
校長兼撞鐘
 
阿 土 的大頭照
 
註冊日期: 2000-10-09
上網方式: SEEDNET 8M
文章: 11,348
精華: 0
又有新版程式 , 有新增哪些功能嗎 ?
這支程式對於以 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


準備更新系統版本中!
阿 土 目前未上線  
回覆時引用此文章
舊 2005-04-02, 03:16 PM   #19
dekuo
等級:0 | 上線時間:0小時 | 升級還需:5小時
會員
 
註冊日期: 2002-01-01
文章: 19
精華: 0
引用:
作者: 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 上看比較準


dekuo 目前未上線  
回覆時引用此文章
舊 2007-07-27, 04:53 AM   #20
selfhu 帥哥
等級:1 | 上線時間:5小時 | 升級還需:7小時
會員
 
註冊日期: 2007-07-27
上網方式: 2m/256
文章: 1
精華: 0
回覆: 【教學】自動重撥 PPPoE ADSL 連線 (For Linux & FreeBSD)

((不好意思...檔案已經找不到了))

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

到最後我就直接改成每天固定在清晨的時候自動重撥一次(開始變懶了 )
selfhu 目前未上線  
回覆時引用此文章

發文 回覆



主題工具 搜尋本主題
搜尋本主題:

進階搜尋

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情圖案
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

所有時間均為台灣時間。現在的時間是 12:00 PM


 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : webmaster@pczone.com.tw

本論壇所有文章均為網友個人意見,並不代表本網站之立場