LVS 交互式配置脚本
LVS Server 配置
################################################################### # File Name: lvs_server.sh # Author: 寻音 # E-mail: lnhxzwb@126.com # Created Time: Thu 19 Apr 2018 05:38:49 AM CST #================================================================== #!/bin/bash #提示 show () { echo "###################################################################" echo "※ 本环境基于Centos7系统 ※ " echo "※ 可选安装模式 NAT|DR|TUN ※ " echo "※ 本脚本默认算法为:rr ※ " echo "※ 如果安装环境不同,请更改相关参数或手动安装 ※ " echo "===================================================================" } nat () { echo "net.ipv4.ip_forward = 1" > /etc/sysctl.conf sysctl -p &>/dev/null cat <<EOF >$path/ifcfg-$eth1 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=$eth1 DEVICE=$eth1 ONBOOT=yes IPADDR=$vip NETMASK=255.255.255.0 EOF systemctl restart network if [ $? = 0 ];then echo "网络配置完成,正在配置LVS....." else echo "网络配置失败,请检查后执行!" exit fi $ipv -C $ipv -A -t $vip:80 -s rr $ipv -a -t $vip:80 -r $rs1:80 -m $ipv -a -t $vip:80 -r $rs2:80 -m echo "LVS配置信息" $ipv -L -n $ipv -S >/etc/sysconfig/ipvsadm systemctl enable ipvsadm.service &>/dev/null echo "LVS server配置已完成" } dr () { cat <<EOF >$path/ifcfg-$eth:0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=$eth:0 DEVICE=$eth:0 ONBOOT=yes IPADDR=$vip NETMASK=255.255.255.0 EOF systemctl restart network if [ $? = 0 ];then echo "网络配置完成,正在配置LVS....." else echo "网络配置失败,请检查后执行!" exit fi $ipv -C $ipv -A -t $vip:80 -s rr $ipv -a -t $vip:80 -r $rs1:80 -g $ipv -a -t $vip:80 -r $rs2:80 -g echo "LVS配置信息" $ipv -L -n $ipv -S >/etc/sysconfig/ipvsadm systemctl enable ipvsadm.service &>/dev/null echo "LVS server配置已完成" } tun () { cat <<EOF >$path/ifcfg-$eth:0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no NAME=$eth:0 DEVICE=$eth:0 ONBOOT=yes IPADDR=$vip NETMASK=255.255.255.0 EOF systemctl restart network if [ $? = 0 ];then echo "网络配置完成,正在配置LVS....." else echo "网络配置失败,请检查后执行!" exit fi $ipv -C $ipv -A -t $vip:80 -s rr $ipv -a -t $vip:80 -r $rs1:80 -i $ipv -a -t $vip:80 -r $rs2:80 -i echo "LVS配置信息" $ipv -L -n $ipv -S >/etc/sysconfig/ipvsadm systemctl enable ipvsadm.service &>/dev/null echo "LVS server配置已完成" } #vip、rsip配置 ip() { read -p "请输入VIP: " vip read -p "请输入realserve1 IP : " rs1 read -p "请输入realserve2 IP : " rs2 } show path=/etc/sysconfig/network-scripts/ eth=$(ifconfig |grep ens|cut -d: -f1|sed -n 1p) eth1=$(ifconfig |grep ens |cut -d: -f1 |sed -n 2p) ipv=/sbin/ipvsadm yum repolist &>/dev/null if [ $? = 0 ];then echo "YUM源可用,正在安装服务....." else echo "YUM源不可用,请检查后执行!" exit fi yum -y install ipvsadm &>/dev/null read -p "请选择LVS模式(NAT|DR|TUN): " mod if [ $mod == "NAT" ] || [ $mod == "nat" ];then ip nat elif [ $mod == "DR" ] || [ $mod == "dr" ];then ip dr elif [ $mod == "TUN" ] || [ $mod == "tun" ];then ip tun else echo "输入参数无效请检查后确定" exit fi
RealServer 配置
################################################################### # File Name: lvs_RealServer.sh # Author: 寻音 # E-mail: lnhxzwb@126.com # Created Time: Thu 19 Apr 2018 05:38:49 AM CST #================================================================== #!/bin/bash #提示 show () { echo "###################################################################" echo "※ 本环境基于Centos7系统 ※ " echo "※ 可选安装RealServer模式: NAT|DR|TUN ※ " echo "※ 如果安装环境不同,请更改相关参数或手动安装 ※ " echo "===================================================================" } nat () { echo "正在配置,请稍等....." gateway=$(grep GATEWAY $path/ifcfg-$eth) sed -i "s/$gateway/GATEWAY=$vip" $path/ifcfg-$eth systemctl restart network if [ $? = 0 ];then echo "RealServer配置完成" else echo "RealServer配置失败,请检查后执行!" exit fi } dr () { echo "正在配置,请稍等....." cat <<EOF >$path/ifcfg-lo:0 BOOTPROTO=static NAME=lo:0 DEVICE=lo:0 ONBOOT=yes IPADDR=$vip NETMASK=255.255.255.255 EOF systemctl restart network echo "net.ipv4.conf.all.arp_ignore = 1" >>/etc/sysctl.conf echo "net.ipv4.conf.all.arp_announce = 2" >>/etc/sysctl.conf echo "net.ipv4.conf.lo.arp_ignore = 1" >>/etc/sysctl.conf echo "net.ipv4.conf.lo.arp_announce = 2" >>/etc/sysctl.conf sysctl -p &>/dev/null if [ $? = 0 ];then echo "RealServer配置完成" else echo "RealServer配置失败,请检查后执行!" exit fi } tun () { echo "正在配置,请稍等....." modprobe ipip ifconfig tunl0 $vip netmask 255.255.255.255 systemctl restart network echo "net.ipv4.conf.tunl0.arp_ignore = 1" >>/etc/sysctl.conf echo "net.ipv4.conf.tunl0.arp_announce = 2" >>/etc/sysctl.conf echo "net.ipv4.conf.all.arp_ignore = 1" >>/etc/sysctl.conf echo "net.ipv4.conf.all.arp_announce = 2" >>/etc/sysctl.conf echo "net.ipv4.conf.tunl0.rp_filter = 0" >>/etc/sysctl.conf echo "net.ipv4.conf.all.rp_filter = 0" >>/etc/sysctl.conf sysctl -p &>/dev/null if [ $? = 0 ];then echo "RealServer配置完成" else echo "RealServer配置失败,请检查后执行!" exit fi } #rsip配置 ip() { read -p "请输入VIP: " vip } show path=/etc/sysconfig/network-scripts/ eth=$(ifconfig |grep ens|cut -d : -f 1) read -p "请选择LVS模式(NAT|DR|TUN): " mod if [ $mod == "NAT" ] || [ $mod == "nat" ];then ip nat elif [ $mod == "DR" ] || [ $mod == "dr" ];then ip dr elif [ $mod == "TUN" ] || [ $mod == "tun" ];then ip tun else echo "输入参数无效请检查后确定" exit fi
温馨提示:如无特殊说明,本站文章均为作者原创,转载请注明出处!