分享

LVS 配置Iptables防火墙及故障解决(加了iptables还是复杂好多)

 guli3057 2014-09-23

负载均衡这个词,相信大家都耳熟能详了,那我们今天再来回顾一下,常见的负载均衡有硬件的例如F5、网络厂商H3CCisco都有自己的负载均衡方案,但是这些都是价格不菲,那到底有没有免费的午餐呢?答案虽然是没有,哈哈,但是我们有章文嵩博士创立的开源负载均衡LVS

言归正传,LVS+Keepalived架构搭建完毕后,如果我们都负载均衡、后端Nginx都配置的外网ip,采用LVS-DR模式的话,安全方面就得考虑了,当然安全的概率非常大:包括前端硬件防火墙的配置、机房设施管理、人员操作、服务器系统安全等。

那我们今天来讨论服务器系统的安全,常见的有关闭不必要的服务和端口,开启iptables防火墙,如果LVS对外提供80 web服务该如何配置呢?操作系统为CentOS 6.0 x86_64 iptables添加代码如下:(注*确认是否开启22端口对自己内部访问,以防重启iptables后,SA无法远程登陆)

  1. #允许80端口对外提供服务   
  2.  
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT   
  4.  
  5. #LVS DR模式,当用户请求LVS-DR VIP时,只有DR响应客户端的ARP广播包,允许vrrp虚拟路由器冗余协议   
  6.  
  7. -A   INPUT   -d   224.0.0.0/8   -j   ACCEPT   
  8.  
  9. -A   INPUT    -p   vrrp   -j   ACCEPT  

    如上设置完毕,重启iptables服务 /etc/init.d/iptables restart 即可。

    当我们配置好iptables,某一天网站访问量大,突然发现部分客户访问巨慢无比,甚至无法访问网站,查看后台日志狂刷如下信息:

  1. kernel nf_conntrack: table full, dropping packet   
  2.  
  3. #准确定位该问题是由于iptables ip_conntrack表爆满之后丢弃数据包的问题。查看系统内核: 
  4.  
  5. cat /etc/sysctl.conf |grep conntrack  
  6.  
  7. #没有查找到相关配置,于是决定在/etc/sysctl.conf增加如下两行设置ip_conntrack表值:(注*Centos6以上内核ip_conntrack参数已经改成nf_conntrack) 
  8.  
  9. net.nf_conntrack_max = 655360  
  10.  
  11. net.netfilter.nf_conntrack_tcp_timeout_established = 36000  
  12.  
  13. #然后执行sysctl -p 使其生效: 
  14.  
  15. #如果报错:error: “net.nf_conntrack_max” is an unknown key    
  16.  
  17. #则需要使用modprobe载入ip_conntrack模块   
  18.  
  19. modprobe ip_conntrack    
  20.  
  21. #查看模块是否已载入   
  22.  
  23. lsmod|grep ip_conntrack  

本文就写到这里了,当然LVS的知识还非常的深入,我也是在不断的学习和总结中,欢迎大家快乐分享!一起成长!

文章参考资料:

http://www./?p=743&cpage=2&replytocom=223803

http://home./?p=65

http://blog.sina.com.cn/s/blog_704836f40100lwy2.html

本文出自 “吴光科-专注自动化运维” 博客,请务必保留此出处http://wgkgood.blog.51cto.com/1192594/1102870

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多