当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux系统中两种替代“花生壳”的办法

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 Linux系统中两种替代“花生壳”的办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 73 ::
收藏到网摘: n/a

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

CC="[email protected]"

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="[email protected]"

CC="[email protected]"

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"