Centos 6编译内核支持LVS-SNAT模式

lvs分为DR/NAT/TUN,3种模式,相信大家都了解了,但是有些网站网络环境比较复杂,很多网段、各服务之间又有互相调用、两地机房又有VPN,那么以上提及的3中模式都难以适应此环境。

因此,我介绍下centos下,iptables+LVS/NAT实现SNAT模式,以解决以上提出的问题,下面先说下原理:

当访问到LVS,iptables会根据规则把访问的源IP改成指定ip,然后交给LVS处理,lvs会根据标准的nat模式把目标地址改为realserver,realserver回复数据到LVS,修改回源、目标地址返回给用户,由于客户端回包总是经过LVS服务器。因此,适用于大多数环境,同时由于以上原因后端服务器(realserver)是获取不到用户IP的。

好,下面说说如何搭建:

需要软件包:

iptables-1.4.20.tar.bz2 ipvsadm-1.26.tar.gz linux-3.2.29.tar.gz keepalived-1.2.7.tar.gz

安装步骤:


01. #准备编译环境
02. rpm -ivh epel-release-6-8.noarch.rpm
03. yum install popt  popt-devel libnl libnl-devel popt-static gcc openssl openssl-devel
04.  
05.  
06.  
07.  
08. #编译内核
09. cd /usr/src
11. tar zxvf linux-3.2.29.tar.gz
12. cd linux-3.2.29
13. #------.config 生成方法------
14. # make oldconfig
15. # CONFIG_NETFILTER_XT_MATCH_IPVS=m (手动选择)
16. # 修改文件 .config
17. # 添加下列3行
18. # CONFIG_SYSFS_DEPRECATED=y
19. # CONFIG_SYSFS_DEPRECATED_V2=y
20. #-------------------
21. make all -j 16
22. make modules_install
23. make install
24. #修改配置从新内核启动
25. vi /etc/grub.conf
26. reboot
27.  
28.  
29.  
30.  
31. #编译安装iptables
32. cd ..
33. tar jxvf iptables-1.4.20.tar.bz2
34. cd iptables-1.4.20
35. ./configure
36. make
37. make install
38. cp libxtables/.libs/libxtables.so.10 /lib
39. cp /usr/local/sbin/iptables /sbin/
40. cp /usr/local/sbin/iptables-restore /sbin/
41. cp /usr/local/sbin/iptables-save /sbin/
42. service iptables restart
43.  
44.  
45.  
46. #编译安装ipvsadmin
47. cd ..
48. tar zxvf ipvsadm-1.26.tar.gz
49. cd ipvsadm-1.26
50. make
51. make install
52.  
53.  
54.  
55. #编译安装keepalived
56. cd ..
57. tar zxvf keepalived-1.2.7.tar.gz
58. cd keepalived-1.2.7
59. ./configure
60. make
61. make install
62. cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
63. cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
64. cp /usr/local/sbin/keepalived /usr/sbin/
65. mkdir /etc/keepalived
66. #修改keepalived配置,使用表装的NAT模式
67. vim /etc/keepalived/keepalived.conf
68.  
69.  
70.  
71. #修改sysctl.conf及模块配置文件
72. net.ipv4.ip_forward = 1
73. net.ipv4.vs.conntrack = 1
74. echo "modprobe ip_vs" > /etc/sysconfig/modules/lvs.modules
75. #重启(从新内核启动)
76.  
77.  
78.  
79. #配置iptables
80. #例如www.abc.com解析为192.168.131.205;
81. #并在LVS服务器192.168.131.204,中配置NAT模式;
82. #服务器192.168.131.1 这台机器要通过192.168.131.205访问此站点;
83. #那么就需要配置iptables。
84. iptables -t nat -A POSTROUTING -m ipvs \
85. --vaddr 192.168.131.205/32 \
86. --vport 80 -j SNAT --to-source 192.168.131.204

至此,centos 下安装配置 iptables+keepalived+lvs/nat 实现LVS/SNAT 配置完成
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值