当前位置:首页>>硬件技巧>>组网>>新闻内容  
Linux中两种简单替代花生壳的办法
作者: 发布时间:2007-10-30 10:57:45 | 【字体:

  家里有机器,拨号上网,有独立的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"


文章来源:
·Linux下PPPOE拨号共享上网
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我