一个奇怪的路由走向问题

部门一个项目要上LVS,之前我是没有真正做过LVS,只做过FREEBSD的HA,那真是费了很大劲,每次还必须自己手动编译内核来支持CARP,每次都得这样加上

# To make an SMP kernel, the next line is needed
options     SMP         # Symmetric MultiProcessor Kernel

# increase max allowable process virtual memory size
options     DFLDSIZ="(128*1024*1024)"
options     MAXDSIZ="(1024*1024*1024)"
options     MAXSSIZ="(1024*1024*1024)"

options     DEVICE_POLLING
options     HZ=1000

##CARP
options         ALTQ
options         ALTQ_CBQ
device          pf
#device          pflog
#device          pfsync
device          carp
options         AUDIT

而现在用的Linux的LVS已经从2.4需要手动编译,而现在2.6内核直接就内核支持了,真是方便太多了,但是没有实际操作过。这次就出现问题了。由于nagios和lvs在一台机器上,问题出现了,居然虚拟IP需要配置在lo口上,真是奇怪了,为什么要配置在lo上而不是eth0上。
nagios要安装nrpe来跟nagios进行通信,另外一台LVS没有问题,直接telnet 192.168.1.3 5666也没有问题,可以通过相关命令获得系统信息。而这台LVS居然不能telnet 192.168.1.2 5666直接就给退出了。奇怪了,配置都是一样啊。都是允许1.2进行访问的呀。界面上显示的可以是nrpe ssl握手出错,于是想估计是ssl的问题,可重装下也还是一样。这就奇怪了。
后来用netstat -rn看了下本地路由也没有问题,实在是没辙了.

于是就看看log里都是记录着什么,结果发现居然全部都是外网IP的访问拒绝信息,可路由信息里没有显示啊,而且就算通过traceroute也是本地啊。想来想去还是lo造成的,而且log里记录的还都是LVS的虚拟ip,于是就在Nrpe加入了虚拟IP的可访问权限,这下一试就通过了,同时snmpd.conf也加入了虚拟IP,这下终于OK了,明天可得看看Linux的路由策略到底是怎么走的。奇了怪了。
今天看了下了iptables,感觉iptables也会导致这样的问题存在。但是如果是iptables的问题的话,那telnet到内网其它机器就也会有问题的,是否也会走公网端口呢?

关于 Timo
XNIX SA & MYSQL DBA

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: