实验前提
server1:172.25.55.1(搭建yum源头,下载好ipvsadm)
server2:172.25.55.2(下载httpd,编辑网页)
server3:172.25.55.3(下载httpd,编辑网页)
打开内核路由功能
[root@server1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@server1 ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
添加一块网卡,为网卡配置ip
[root@server1 ~]# ip addr add 172.25.254.100/24 dev eth1
[root@server1 ~]# ip link set up eth1(激活网卡)
[root@server1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:d1:f9:32 brd ff:ff:ff:ff:ff:ff
inet 172.25.55.1/24 brd 172.25.55.255 scope global eth0
inet6 fe80::5054:ff:fed1:f932/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 52:54:00:da:7a:e0 brd ff:ff:ff:ff:ff:ff
inet 172.25.254.100/24 scope global eth1
添加策略
下载ipvsadm
[root@server1 ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.55.2:80 -m
[root@server1 ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.55.3:80 -m
[root@server1 ~]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.100:http rr
-> server2:http Masq 1 0 0
-> server3:http Masq 1 0 0
[root@server1 ~]# modprobe iptable_nat
server2和server3的配置:
添加网关
[root@server2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="172.25.55.255"
IPADDR="172.25.55.2"
NETMASK="255.255.255.0"
GATEWAY=172.25.55.1
DNS1=114.114.114
NM_CONTROLLED="yes"
ONBOOT="yes"
[root@server2 ~]# route add default gw 172.25.55.1
[root@server3 ~]# /etc/init.d/httpd start
测试
[kiosk@foundation55 ~]$ curl 172.25.254.100
HELLO server2
[kiosk@foundation55 ~]$ curl 172.25.254.100
www.westos.com server3