IPVSADM使用方法和作用

##有两个nginx代理在179和176两台虚拟机上。现在需要通过175来访问代理的网页。实现179或者176虚拟机挂了之后,代理仍可用。##

方法:在179和176这两个IP地址上加一个虚拟IP地址,用ipvsadm实现轮询访问调度。

##在179和176上加VIP##

ip addr add 192.168.10.175/24 dev eth0

##在179或者176之中任意挑一台,安装ipvsadm##

yum install -y ipvsadm

ipvsadm -A -t 192.168.10.175:80 -s rr

ipvsadm -a -t 192.168.10.175:80 -r 192.168.10.176:80 -g

ipvsadm -a -t 192.168.10.175:80 -r 192.168.10.179:80 -g

##保存策略,否则重启后会消失##

/etc/init.d/ipvsadm save

##参数解释##

-s scheduler 调度

-r 轮询

-g gatewaying (direct routing)

-t tcp

##删除策略##

ipvsadm -d -t 192.168.10.175:80 server -r 192.168.10.176:80    #删除策略

ipvsadm -C    ##清除全部策略


注意:如果有另一台机器(例如:180)也设置了175的VIP,那么可能访问175的时候会默认访问到180,这时候就要解除arp地址绑定。

arp -d 192.162.10.175

##arptables管理响应虚拟机。

arptables使用实例

# arp -a
m1 (192.168.0.1) at 00:E0:4C:FF:D7:31 [ether] on eth0
显示当前ARP表信息
当前ARP表中保存有一个主机的arp信息,m1主机,ip地址192.168.0.1

# arptables  -D INPUT -s 192.168.0.1 -j DROP
设置arp规则,将所有192.168.0.1的arp包全部丢弃.

# arp -d 192.168.0.1 -i eth0
使用arp命令,删除arp表中的192.168.0.1的记录.

# arp -a
m1 (192.168.0.1) at <incomplete> on eth0
arp表中已没有m1主机的信息.

# ping 192.168.0.1
PING m1 (192.168.0.1) 56(84) bytes of data.
From m2 (192.168.0.2) icmp_seq=2 Destination Host Unreachable
From m2 (192.168.0.2) icmp_seq=3 Destination Host Unreachable
From m2 (192.168.0.2) icmp_seq=4 Destination Host Unreachable
由于无法获得m1主机MAC信息,所以,无法与m1主机进行通信.

# arptables  -D INPUT -s 192.168.0.1 -j DROP
删除arptables规则.

# arp -a
m1 (192.168.0.1) at 00:E0:4C:FF:D7:31 [ether] on eth0
arp表中重新记录了m1的MAC信息.

# ping 192.168.0.1
PING m1 (192.168.0.1) 56(84) bytes of data.
64 bytes from m1 (192.168.0.1): icmp_seq=1 ttl=64 time=0.315 ms

猜你喜欢

转载自blog.csdn.net/qq_36369292/article/details/79549563