羊坊店不眠夜(续集)

简介:
羊坊店不眠夜(续)
作者:田逸( [email]sery@163.com[/email]
 
有了上次的教训,这次我把我所有的操作系统都拿上了,所以心里比较踏实。我们从3环往羊坊店赶,胡子把车开到航天桥旁的一个九头鸟吃晚饭,人倒是很多,可服务质量确实太差,半天没人理,好不容易来了一个菜,等这个菜吃完,剩下的菜似乎遥遥无期,肚子那个饿呀!到最后弄得没胃口吃了个半饱。
 
很快就到羊坊店了,可是胡子居然忘记拿出入证了,联通的人不让进去,于是到处打电话找人,终于算是进去了。等到机柜边准备装系统的时候,却发现光盘包没带进来,可能是在外面等待进机房那会丢在外面了,赶快跑出去,乖乖!还在联通接待大厅的沙发上,悬着的心放了下来。现在,我就等胡子备份完数据,就可以开始安装系统。把光盘放进光驱,我晕光驱托盘按不进去,锁不了托盘。关电源再开机,还是锁不了,这下麻烦了。怎么办呢?把机器从机柜里先搬出来吧!把机盖打开,看了一下这个机器的结构,胡子说拿他笔记本上的光驱代替(是可插拔的那种);但是没有成功,因为这个坏了的光驱居然没有连接线,不知道先前是谁把它弄掉了。不过幸运的是,主板上还预留了一个IDE接口,我们只要找一个IDE光驱即可克服这个困难。向机房的人借,没有;那就在运行着的服务器上下一个吧,大不了停机几分钟。说干就干,又把一个笨重的服务器拉下机架,费了好大的劲才把螺丝拧掉,终于得到一个可用的光驱。
 
接下来安装linux系统,这次用的是centos 5.大概10分钟就安装完毕,设置好网络参数,再关闭系统不必要的服务(命令:ntsysv,关闭 SElinux (修改文件/etc/sysconfig/ selinux,使SELINUX=disabled),然后重起系统看看系统的运行状态,一切皆正常,把它再放到机柜里去吧。
 
插上网线,插上电源,开机。在远端用笔记本ping这个刚装好的服务器的ip地址,通了,很好。用securecrt来连接这个服务器,也很顺利地连接成功了。先修改一些内核参数,我预先写了一个脚本(见下图),把它复制到服务器,直接运行这个脚本,然后用命令
#!/bin/bash
#kernel optimize ,create by  2007-7-29
 
#enable broadcast echo protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
 
#disble source routed packets
for f in /proc/sys/net/ipv4/conf/*/accept_source_rout; do
    echo 0 > $f
done
 
#enable tcp syn cookie protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
 
#disable icmp redirect acceptance
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
    echo 0 > $f
done
 
#don't send redirect messages
for f in /proc/sys/net/ipv4/conf/*/send_redirects; do
    echo 0 > $f
done
 
#drop spoofed packets
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 1 > $f
done
 
#log packets with impossible addresses
for f in /proc/sys/net/ipv4/conf/*/log_martians; do
     echo 1 > $f
done
 
Sysctl –a | grep  tcp_syncookies  看内核参数的值是否真的改变了。我们装这个系统的目的是用
     
它来做LVS-DR的控制器,接着我就来干这个事情。预先已经做好了脚本,把它上传到服务器,安装包ipvs后,运行该脚本即可。我把脚本放在下面供大家参考,至于具体的情况将另外行文阐述。
#!/bin/bash
# description: start LVS of Directorserver
VIP=61.135.155.100
RIP1=61.135.155.101
RIP2=61.135.155.102
 
./etc/rc.d/init.d/functions
 
case "$1" in
start)
echo " start LVS of DirectorServer"
# set the Virtual IP Address and sysctl parameter
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/ip_forward
#Clear IPVS table
/sbin/ipvsadm -C
 
#set LVS
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
 
#Run LVS
/sbin/ipvsadm
;;
stop)
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
/sbin/ifconfig eth0:0 down
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
 
在这里不妨运行命令 ipvsadm  检查一下 LVS-DR的状态。状态正常的话,开始下一步:设置LVS-DR客户端。
 
Linux 的客户机很好办的,也是用一个预先准备的一个脚本,上传到目标服务器(真实服务器)后,直接运行就可以了。有一个特殊的地方是ip地址的子网掩码是255.255.255.255,linux来说没什么问题,但对windows就不那么容易了。这个工作留给胡子体验,他先在网上邻居属性修改本地连接的tcp/ip属性,输子网掩码为255.255.255.255,他当然不会成功,然后我告诉他进注册表改,并告诉他修要更改的位置。我自己做实验的时候,很容易在测试机把注册表改好了,但胡子的注册表键值是16进制,这4255把他折腾够呛,怎么搞都不是 255.255.255.255。最后想出一招:用我的笔记本把注册表打开,再把键值以16进制显示,然后挨个敲进去,才解决了这个麻烦。
 
最后该做总体测试了,从外面访问LVS-DR控制器,看是否能正常把请求转发到真正的服务器,加了4个服务器(2web,2windowsMMS,测试正常。还有一步,加防火墙规则,测试通过,等我们把这些做完,凌晨2点了,比上次早一个小时,又一个不眠之夜。

#!/bin/bash
#LVS-DR  客户端脚本
#description : start realserver
VIP=172.16.62.106
./etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
chomd 755 /etc/init.d/lvsrs
service lvsrs start
 


















本文转自sery51CTO博客,原文链接: http://blog.51cto.com/sery/37496,如需转载请自行联系原作者









相关文章
|
1天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
239 115
|
16天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
631 220
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
863 61
|
8天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1371 157
|
5天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
263 139
|
8天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
554 109