Chinaunix

标题: 请教:ADSL架设自用WEB,当ADSL重新获得IP后,WEB服务器地址无法更新的解决方法 [打印本页]

作者: star0395    时间: 2007-04-24 20:20
标题: 请教:ADSL架设自用WEB,当ADSL重新获得IP后,WEB服务器地址无法更新的解决方法
情况说明:我是用CENTOS4.4+APACHE2.2+MYSQL5.2+PHP5+ZEND+花生壳+电信ADSL架设了一台WEB服务器,当ADSL重新获得IP后(但没有掉线只是IP地址更新了),外网的用户就无法访问WEB服务器了。需要手工将APACHE服务器停止,再启动,外网的用户就可以正常访问WEB服务器了。我的想法是能不能写一下脚本,当PING不通这台WEB服务器时就执行APACHE停止,再启动动作。(APACHE的重启restart无任何反应)。
现我的脚本是这样写的,但不能实现上述功能:
#!/bin/sh
ping -c5 linux68.vicp.net >/dev/null 2>&1
if ["$?" !="0"]; then
   /usr/local/apache/bin/apachectl restart
fi

我的脚本一定有问题,本人很菜,望高手指点。谢谢!
作者: star0395    时间: 2007-04-25 08:15
我不会,我就顶!高手们看过来吧。谢谢了!
作者: platinum    时间: 2007-04-25 09:41
当ADSL重新获得IP后(但没有掉线只是IP地址更新了)

换 IP 肯定掉线重播

另外,外网重连即可,若无法访问,检查你的 apache 配置问题,在服务器或 client 抓包分析
作者: ssffzz1    时间: 2007-04-25 09:58
可以考虑这样,APACHE绑定到lo 或内网接口。对外网接口做DNAT 目标为APACHE绑定的IP。
没实验过,也没做详细的论证,你自己实验一下把。
这个想法来源于CISCO的loopback接口。

不过好像是APACHE不绑定具体的IP也可以的。

[ 本帖最后由 ssffzz1 于 2007-4-25 10:23 编辑 ]
作者: kevin.tan    时间: 2007-04-25 10:13
可以在/etc/ppp/ip-up下更新你的IP

BTW,花生壳没用过,3322的动态域名更新是这样的
作者: 5iwww    时间: 2007-04-25 10:33
楼主可以写脚本 先保存当前ip为一个变量

当ip变动后(循环比较)

重新启动一次apache :wink:
作者: platinum    时间: 2007-04-25 10:48
前面已经说过了,根本不用重启 apache,若 IP 变更后无法重连应该检查 apache 的配置问题,最好是抓包看问题究竟,看是 4 层的问题还是 7 层的问题
作者: 5iwww    时间: 2007-04-25 15:34
LZ 应该确认一下 当ip更换的时候  是 外网的用户就无法访问WEB服务器的 xxx.vicp.net 的域名 还是 无法访问 更换过的ip:80 端口 这两个不一样,如果是后者,就可能是apache 的问题,如果是前者 也许是 .vicp.net 的客户端还没有发送更新到 oray 的named服务器 ,如果不要求知道细节,那么重启apache 也没有什么问题,毕竟ip换了, session也保不住
作者: coolend    时间: 2007-04-25 18:03
花生壳的客户端是常驻内存的,如果ADSL重拨,可以让脚本自动重新启动这个客户端,在/etc/ppp/ip-up中加入2行即可。

killall phlinux
phlinux &
作者: star0395    时间: 2007-04-26 18:27
原帖由 coolend 于 2007-4-25 18:03 发表于 9楼  
花生壳的客户端是常驻内存的,如果ADSL重拨,可以让脚本自动重新启动这个客户端,在/etc/ppp/ip-up中加入2行即可。

killall phlinux
phlinux &



谢谢!我试试。。。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2