Linux系統中兩種替代“花生殼”的辦法 |
發布時間: 2012/8/11 9:22:50 |
家里有機器,撥號上網,有獨立的ip, 開了很多服務,想在外面隨時訪問怎么辦?出去的時候記住連線的ip? 萬一斷了線,自動重連以后ip也就變了,那么解決方法也許是用“花生殼”軟件。花生殼也有Linux版本,確實是一個選擇,但是它相當于是把你的ip publish到網上的,假設你自己對自己的安全不是很放心(況且你也不知道花生殼是否搜集了你的什么信息),而且你的目的也只是小范圍使用(比如就你,你家人或者幾個要好的朋友)的話,那么這個動態ip完全可以通過個人郵件的方式來傳播,本人簡單摸索了兩個解決方案,一是基于knemo+kmail,二是基于 udev+mail+exim4,下面簡單介紹一下:
1. knemo + kmail knemo是kde下面監控網絡的軟件,支持事件觸發,kmail是kde下面的郵件客戶端,支持dcop的腳本調用,配置的步驟如下: 創建一個自動獲得撥號連接ip并通過kmail發送的腳本: #!/bin/bash FROM="none" TO="youname@xxxx.com" CC="yourfiend@yyyyy.com" BCC="" SUBJECT="Today's PPP address" sleep 10s MESSAGE=`/sbin/ifconfig /bin/sed -e '/P-t-P/!d' -e 's/^[[:space:]]* inet addr://g' -e 's/[[:space:]]*P-t-P:.*Mask:.*$//g'` ATTACHMENT="[] []" dcop kmail MailTransportServiceIface "sendMessage(QString, QString, QString, QString, QString, QString, KURL::List)" "$FROM" "$TO" "$CC" "$BCC" "$SUBJECT" "$MESSAGE" $ATTACHMENT 然后將其作為knemo配置的notification當中的對應執行的程序即可。knemo配置是在 kcontrol -> internet&network -> network monitor -> Misc 面板上。 2. udev + mail + exim4 第一個方式很簡單,但是需要你是使用kde并且時刻將自己的桌面開著(因為比需要有knemo和kmail),第二個方式是獲取內核的硬件變動,萬一斷了重新連接,/sys/下面設備文件發生變化就觸發,不依賴X和桌面系統。 exim4的配置這里就不說了,自己網上看。 對應的發送的腳本( /XXXXX/ppp-address.sh )修改如下: #!/bin/bash FROM="none" TO="youname@xxxxx.com" CC="yourfriend@yyyyy.com" BCC="" SUBJECT="Today's PPP address" sleep 10s MESSAGE=`/sbin/ifconfig /bin/sed -e '/P-t-P/!d' -e 's/^[[:space:]]* inet addr://g' -e 's/[[:space:]]*P-t-P:.*Mask:.*$//g'` echo "$MESSAGE" /usr/bin/mail -s "$SUBJECT" -c "$CC" -b "$BCC" "$TO" udev 規則添加:/etc/udev/rules.d/ 下面添加一個規則文件如 z100_ppp_ip_letter.rules 內容為: ACTION=="add", SUBSYSTEM=="net", KERNEL=="ppp[0-9]", RUN+="/XXXXX/ppp-address.sh" 本文出自:億恩科技【www.laynepeng.cn】 |