1、 LVS实现nat,dr
NAT模式
``` 1.临时开启转发,(写入内存,在内存中开启)
echo "1" > /proc/sys/net/ipv4/ip_forward
2.永久开启转发,(写入内核)
在 vim /etc/sysctl.conf 下
加入此行 net.ipv4.ip_forward = 1
~lvs]# echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf 开启forward转发功能
~lvs]# sysctl –p 重载
~lvs]# sysctl –a | grep ip_f 查看状态
~web27]# echo rs27 > index.html
~web17]# echo rs17 > index.html
~lvs]# yum –y install ipvsadm
~lvs]# ipvsadm –A –t 172.20.0.200:80 –s rr
~lvs]# ipvsadm –Ln 查看状态(注意,ipvsadm -Ln顺序不要变更!!与iptables –vnl的顺序是不一样的)
~lvs]# ipvsadm –a –t 172.20.0.200:80 –r 192.168.30.17 -m
~lvs]# ipvsadm –a –t 172.20.0.200:80 –r 192.168.30.27 -m
~client# curl 172.20.0.200
RS1
~client# curl 172.20.0.200
RS2
** DR模式 **
##### dr模型中,各主机上均需要配置VIP,解决地址冲突的方式有三种:
(1) 在前端网关做静态绑定;
(2) 在各RS使用arptables;
(3) 在各RS修改内核参数,来限制arp响应和通告的级别;
##### 限制响应级别:arp_ignore
0:默认值,表示可使用本地任意接口上配置的任意地址进行响应;
1: 仅在请求的目标IP配置在本地主机的接收到请求报文接口上时,才给予响应;
##### 限制通告级别:arp_announce
0:默认值,把本机上的所有接口的所有信息向每个接口上的网络进行通告;
1:尽量避免向非直接连接网络进行通告;
2: 必须避免向非本网络通告;
~everypc]# 各主机修改对应的IP
~route]# vim /etc/sysctl.cnf (路径centos6)
net.ipv4.ip_forward = 1
~route]# sysctl –p 将配置生效
搭建后,不要急于搭建http,注意层次,搭好网络先测网络,避免都搭建完,但测试不通。
~RS1\RS2]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
~RS1\RS2]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
~RS1\RS2]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
~RS1\RS2]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
~RS1\RS2]# ip a a 192.168.30.7/32 dev lo
1.两台RS_SERVER主机的设置完成了。记得在不同主机上设置主机名,hostnamectl set-hostname xxx
2.lvs主机要设置2个内网、dip地址,且dip的网关要指向路由器。
~lvs]# ipvsadm –A –t 192.168.30.7:80 –s rr
~lvs]# ipvsadm –a –t 192.168.30.7:80 –r 192.168.30.17
~lvs]# ipvsadm –a –t 192.168.30.7:80 –r 192.168.30.27
~lvs]#
### 2、 nginx反向代理,虚拟主机
基于主机名虚拟主机
server{
listen 80;
server_name ss.ssss.com;
index index.html;
root /data/www/html/;
}
基于IP虚拟主机
server{
listen 192.168.1.88:18080 default;
server_name ss.ssss.com;
index index.html;
root /data/www/html/;
}
反向代理
nginx]# vim conf.d/ilinux.conf
server{
listen 80;
server_name ss.ssss.com;
index index.html;
root /data/www/html/;
location / {
proxy_pass http://www.baidu.com:80;
}
}