LVS-NAT配置安装
来源:互联网 发布:python 文本分类 编辑:程序博客网 时间:2024/05/17 08:42
准备
1. 确认lvs内核组件已经安装
一般来说,常见的linux系统都已经安装了(用的几个操作系统中,只有suse不包含)。
[root@localhost network-scripts]# modprobe -l |grep ip_vskernel/net/netfilter/ipvs/ip_vs.kokernel/net/netfilter/ipvs/ip_vs_rr.kokernel/net/netfilter/ipvs/ip_vs_wrr.kokernel/net/netfilter/ipvs/ip_vs_lc.kokernel/net/netfilter/ipvs/ip_vs_wlc.kokernel/net/netfilter/ipvs/ip_vs_lblc.kokernel/net/netfilter/ipvs/ip_vs_lblcr.kokernel/net/netfilter/ipvs/ip_vs_dh.kokernel/net/netfilter/ipvs/ip_vs_sh.kokernel/net/netfilter/ipvs/ip_vs_sed.kokernel/net/netfilter/ipvs/ip_vs_nq.kokernel/net/netfilter/ipvs/ip_vs_ftp.ko[root@localhost network-scripts]#
2. 安装ipvsadm
建议使用yum来安装。当然用ipvsadm的源码包安装也行。
安装完成后,可以执行ipvsadm试一下,看是否安装成功
[root@localhost package]# ipvsadm IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
lvs搭建
1. 组网规划
其中192.168.100.x 为client所在的IP段(记为外网IP)。 192.168.0.x为real server所在的IP段(记为内网IP)
并且从192.168.0.x到192.168.100.x不存在路由。说简单一点,就是无法ping通
2. NAT配置
LVS 节点的配置
1)Tcp配置:
echo 1 > /proc/sys/net/ipv4/ip_forward
2) Ipvsadm配置
[root@linux128 ~]# ipvsadm -A -t 192.168.100.132:18471 -s rr[root@linux128 ~]#ipvsadm -a -t 192.168.100.132:18471 -r 192.168.0.220:18471 -m[root@linux128 ~]#ipvsadm -a -t 192.168.100.132:18471 -r 192.168.0.221:18471 -m
Real Server的配置
修改默认网关
[root@hadoop221 ~]# route add default gw 192.168.0.142 dev eth0
[root@hadoop221 ~]# route
分析
因为LVS会修改消息的mac地址,因此我们首先记录一下各个节点IP的mac地址
以SYN消息分析它的过程,其消息流程如下:
1) 首先客户端192.168.100.130向LVS的外网IP :192.168.100.132发送一个SYN消息
2) LVS收到这个SYN消息后,会将它转发给内网的220
与客户端发送消息相比。有几个明显的变化。
- Destination的ip地址变成了192.168.0.220
- Src与destination的mac地址也变化了。 查一下上面的ip与mac的对照表,可以看出来,source 的mac地址对应提192.168.0.142,而destination mac地址对应的ip为192.168.0.220
从这里可以看出来。LVS在这里将destination的ip与mac地址都修改了。
3) 因为LVS将syn消息的destination的ip与mac地址都做了修改。因此real server 192.168.0.220此时收到SYN消息都被修改后的消息
4)当real server收到SYN消息后,会回一个SYN ACK的消息。此时消息能够正常回到LVS的保证就是我们之前设置的route add default gw 192.168.0.142 dev eth0
我们查看一下220的route表:
[root@hadoop220 ~]# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.0.0 * 255.255.255.0 U 1 0 0 eth0default 192.168.0.142 0.0.0.0 UG 0 0 0 eth0
这里说明一下,因为syn消息的source ip没有被修改,假如此时从192.168.0.220到192.168.100.x存在路由,那么syn ack消息将不会走default网关,那会导致client无法正常收到消息。因此一定要保证192.168.0.220到192.168.100.x无法ping通
5) LVS收到消息后,会将之前修改的mac 与IP地址修改回去。 对比一下LVS收到的ACK消息与client收到ACK消息:
- LVS-NAT配置安装
- LVS NAT 配置步骤
- 配置LVS --ipvsadm -NAT
- LVS-NAT 简单配置
- LVS-NAT, LVS-DR, LVS-KEEPALIVED,LVS-TUN配置
- LVS系列—LVS-NAT 模式安装
- LVS 的NAT模式配置
- LVS之NAT模式配置
- centos7配置LVS --ipvsadm -NAT
- LVS--lvs-dr、lvs-nat配置(2)
- LVS-NAT的理解和配置
- Lvs的NAT模式的配置详解
- ubuntu 9.10 下的LVS/NAT配置
- LVS配置NAT模式简单示例
- LVS配置NAT模式简单示例
- LVS的NAT模式配置记要
- LVS-NAT模式的部署配置
- LVS学习笔记 2安装ipvsadm和LVS-NAT实验
- 关于set想说的(二)之Set Demo
- 【bzoj3672】[Noi2014]购票 斜率优化+树链剖分+线段树+凸包+三分
- Python 数据结构与算法——快排
- linux java 环境变量配置
- Linux下.a库文件的调用
- LVS-NAT配置安装
- Android Activity.runOnUiThread() 和 Handler
- Objective-C @encode关键字
- AceDeceiver成为首个可利用苹果DRM设计漏洞感染iOS设备的木马
- 优化算法基本原理
- c#文件读写
- select count(*)和select count(1)的区别
- 压缩和解压zip文件
- Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)