1、DR模式下vip不在同一网段上实现过程(夸网段)
主机名 | IP | 扮演角色 |
---|---|---|
CIP | 172.16.17.77桥接 | 客户端 |
ROUTER | 172.16.17.17桥接 192.168.16.7NAT | 路由器 |
LVS | 192.168.16.8NAT 10.0.0.100VIP | LVS服务器 |
RS1 | 192.168.16.17NAT 10.0.0.100VIP | 后端RS1服务器 |
RS2 | 192.168.16.27NAT 10.0.0.100VIP | 后端RS2服务器 |
环境准备
提前安装相关软件
#在RS1和RS2上安装httpd服务
yum -y install httpd net-tools
#在LVS上安装
yum -y install net-tools ipvsadm
按照上述表格配置好各主机的ip
各主机配置如下
CIP:
[root@CIP ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=172.16.17.77
PREFIX=16
GATEWAY=172.16.17.17
[root@CIP ~]#nmcli c reload;ifup eth0
ROUTER:
[root@ROUTER ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=172.16.17.17
PREFIX=16
[root@ROUTER ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.16.7
PREFIX=24
[root@ROUTER ~]#nmcli c reload;ifup eth0;ifup eth1
#开启路由在转发
[root@ROUTER ~]#echo 'net.ipv4.ip_forward=1' > /etc/sysctl.conf
[root@ROUTER ~]#sysctl -p
#在eth1上添加一个和VIP同网段的ip
[root@ROUTER ~]#ifconfig eth1:1 10.0.0.200/24
RS1
#配置网卡
[root@RS1 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.16.17
PREFIX=24
GATEWAY=192.168.16.7
[root@RS1 ~]#nmcli c reload;ifup eth0
[root@RS1 ~]#systemctl enable --now httpd
[root@RS1 ~]#echo rs1 >/var/www/html/index.html
#关闭地址冲突检测
[root@rs1 ~]#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs1 ~]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs1 ~]#echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs1 ~]#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS1 ~]#ifconfig lo:1 10.0.0.100/32
RS2
#配置网卡
[root@RS2 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.16.27
PREFIX=24
GATEWAY=192.168.16.7
[root@RS2 ~]#nmcli c reload;ifup eth0
[root@RS2 ~]#systemctl enable --now httpd
[root@RS2 ~]#echo rs2 >/var/www/html/index.html
#关闭地址冲突检测
[root@rs2 ~]#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs2 ~]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs2 ~]#echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs2 ~]#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS2 ~]#ifconfig lo:1 10.0.0.100/32
LVS
[root@LVS ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.16.8
PREFIX=24
GATEWAY=192.168.16.7
[root@LVS ~]#nmcli c reload;ifup eth0
#配置lo网卡VIP
[root@LVS ~]#ifconfig lo:1 10.0.0.100/32
#配置规则
[root@LVS ~]#ipvsadm -A -t 10.0.0.100:80 -s wrr
[root@LVS ~]#ipvsadm -a -t 10.0.0.100:80 -r 192.168.16.17 -w 1
[root@LVS ~]#ipvsadm -a -t 10.0.0.100:80 -r 192.168.16.27 -w 1
[root@LVS ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.100:80 wrr
-> 192.168.16.17:80 Route 1 0 0
-> 192.168.16.27:80 Route 1 0 0
测试
[root@centos8 ~]#while :;do curl 10.0.0.100;done
rs2
rs1
rs2
rs1
rs2
rs1
rs2
rs1
rs2
rs1
...
#LVS以实现调度功能
2、CentOS7.6 中 nfs 客户端使用 /etc/fatab 实现开机自动挂载
# 方法如下
yum -y install nfs-utils
vim /etc/fstab
nfs服务端IP:共享目录 客户端挂载的目录 nfs _netdev 0 0 # 防止没网络不挂载导致机器起不来,加上这一项后,没网络就不挂载,不影响启动
3、CentOS7.6 中 nfs 客户端使用 autofs 实现使用 nfs 时实时挂载
yum -y install nfs-utils autofs
# 方法一:相对路径
# 编辑配置文件
vim /etc/auto.master
....
/misc /etc/auto.misc
# 注意:一定要写在/misc下面
/home /etc/auto.home # 说明:/home:挂载目录,/etc/auto.home:设置挂载相关的配置文件,比如权限等
....
vim /etc/auto.home
* -fstype=nfs,vers=3 nfs服务端IP:共享目录/& #&表示前后同名,比如上一个home目录下有zhangsan,那&就代表zhangsan
# 方法二:绝对路径
# 编辑配置文件
vim /etc/auto.master
....
/misc /etc/auto.misc
# 注意:一定要写在/misc下面
/- /etc/auto.home
vim /etc/auto.home
/data -fstype=nfs,vers=3 nfs服务端IP:共享目录/
启动服务
# centos8: systemctl restart autofs
# centos6: service autofs restart