三台机器html
[root@lijie-01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens37 HWADDR=00:0C:29:21:5E:CA TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.95.144 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV4_DNS_PRIORITY=100 IPV6INIT=yes IPV6_AUTOCONF=no IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy IPV6_DNS_PRIORITY=100 NAME=ens37 DEVICE=ens37 ONBOOT=no ZONE=block [root@lijie-01 ~]# ifup ens37 链接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2) [root@lijie-01 ~]#
随后咱们从windows中ping一下新建的这个网卡linux
C:\Users\mixuyulv>ping 192.168.75.136 正在 Ping 192.168.75.136 具备 32 字节的数据: 来自 192.168.75.136 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.75.136 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.75.136 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.75.136 的回复: 字节=32 时间<1ms TTL=64 192.168.75.136 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms C:\Users\mixuyulv>
[root@lijie-02 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet iPROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.75.134 NETMASK=255.255.255.0 GATEWAY=192.168.75.136 DNS1=119.29.29.29
咱们还须要重启网络服务,重启后这台机器就不能上网了,nginx
[root@lijie-02 ~]# systemctl restart network.service [root@lijie-02 ~]# ping www.qq.com ping: www.qq.com: 未知的名称或服务 [root@lijie-02 ~]#
咱们如今再来查看网关就变成了75.136算法
[root@lijie-02 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.75.136 0.0.0.0 UG 100 0 0 ens33 192.168.75.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@lijie-02 ~]#
[root@lijie-03 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=087b59ca-7e9f-4b76-a456-ada0fa5a7af4 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.75.130 NETMASK=255.255.255.0 GATEWAY=192.168.75.136 DNS1=119.29.29.29
咱们还须要重启网络服务,重启后这台机器就不能上网了,apache
[root@lijie-03 ~]# systemctl restart network.service [root@lijie-03 ~]# ping www.qq.com ping: www.qq.com: 未知的名称或服务 [root@lijie-02 ~]#
咱们如今再来查看网关就变成了75.136vim
[root@lijie-03 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.75.136 0.0.0.0 UG 100 0 0 ens33 192.168.75.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 [root@lijie-03 ~]#
[root@lijie-01 ~]# systemctl stop firewalld [root@lijie-01 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@lijie-01 ~]# iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination [root@lijie-01 ~]#
这里建议使用centos6里面的iptables的方式,须要安装iptables-servicewindows
[root@lijie-01 ~]# yum install -y iptables-services
随后启动iptables-service服务后端
[root@lijie-01 ~]# systemctl start iptables-services Failed to start iptables-services.service: Unit not found. [root@lijie-01 ~]#
咱们可使用下面命令查看iptables-services 这个服务是否成功安装centos
[root@lijie-01 ~]# rpm -ql iptables-services /etc/sysconfig/ip6tables /etc/sysconfig/iptables /usr/lib/systemd/system/ip6tables.service /usr/lib/systemd/system/iptables.service /usr/libexec/initscripts/legacy-actions/ip6tables /usr/libexec/initscripts/legacy-actions/ip6tables/panic /usr/libexec/initscripts/legacy-actions/ip6tables/save /usr/libexec/initscripts/legacy-actions/iptables /usr/libexec/initscripts/legacy-actions/iptables/panic /usr/libexec/initscripts/legacy-actions/iptables/save /usr/libexec/iptables /usr/libexec/iptables/ip6tables.init /usr/libexec/iptables/iptables.init [root@lijie-01 ~]#
从上图咱们发现使用的命令有误,开启iptables服务应使用如下命令浏览器
[root@lijie-01 ~]# systemctl start iptables [root@lijie-01 ~]#
随后使iptables有效
[root@lijie-01 ~]# systemctl enable iptables Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service. [root@lijie-01 ~]#
上面咱们开启iptables的目的是为了清空规则,以便后面调用空规则
[root@lijie-01 ~]# iptables -F [root@lijie-01 ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 肯定 ] [root@lijie-01 ~]#
还须要关闭selinux
[root@lijie-01 ~]# setenforce 0 [root@lijie-01 ~]#
保险起见,最好仍是修改配置文件/etc/selinux/config中selinux值从enforcing变为disabled来关闭selinux
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
至此,准备工做完毕
[root@lijie-01 ~]# yum install -y ipvsdam
#! /bin/bash # director 服务器上开启路由转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward # 关闭icmp的重定向 echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects # 注意区分网卡名字,个人两个网卡分别为ens33和ens37 echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects # director 设置nat防火墙 iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 192.168.75.0/24 -j MASQUERADE # director设置ipvsadm IPVSADM='/usr/sbin/ipvsadm' $IPVSADM -C #这里的wlc是算法,算法还有如rr、lc $IPVSADM -A -t 192.168.95.144:80 -s wlc -p 3 $IPVSADM -a -t 192.168.95.144:80 -r 192.168.75.134:80 -m -w 1 $IPVSADM -a -t 192.168.95.144:80 -r 192.168.75.130:80 -m -w 1
咱们来执行下这个脚本,没有任何输出,说明脚本没有语法错误
[root@lijie-01 ~]# sh /usr/local/sbin/lvs_nat.sh [root@lijie-01 ~]#
扩展:
lvs 三种模式详解 http://www.it165.net/admin/html/201401/2248.html
lvs几种算法 http://www.aminglinux.com/bbs/thread-7407-1-1.html
关于arp_ignore和 arp_announce http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
lvs原理相关的 http://blog.csdn.net/pi9nc/article/details/23380589
扩展:
lvs 三种模式详解 http://www.it165.net/admin/html/201401/2248.html
lvs几种算法 http://www.aminglinux.com/bbs/thread-7407-1-1.html
关于arp_ignore和 arp_announce http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
lvs原理相关的 http://blog.csdn.net/pi9nc/article/details/23380589