LVS TUN模式

LVS TUN 模式

1.TUN 网络规划

角色 主机名 虚拟网卡网络模式 VIP 内网 IP 地址(eth0) 网关
director lb lvs nat 模式 192.168.73.100 (ens33:0) 192.168.73.128 192.168.73.2
real server1 web01 nat 模式 192.168.73.100 (tunl0) 192.168.73.129 192.168.73.2
real server2 web02 nat 模式 192.168.73.100 (tunl0) 192.168.73.130 192.168.73.2

2.web配置

#web配置server 
[root@web01 ~]# yum install -y httpd
[root@web01 ~]# systemctl start httpd.service
[root@web01 ~]# systemctl enable httpd.service
[root@web01 ~]# echo 'web01'> /usr/share/nginx/html/index.html
[root@web01 ~]# curl 127.0.0.1
web01

[root@web02 ~]# yum install -y httpd
[root@web02 ~]# systemctl start httpd.service
[root@web02 ~]# systemctl enable httpd.service
[root@web02 ~]# echo 'web02'> /usr/share/nginx/html/index.html
[root@web02 ~]# curl 127.0.0.1
web02

#安装隧道模块 web01,02 都需要执行
[root@web01 ~]# modprobe ipip
[root@web01 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:01:7e:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.73.129/24 brd 192.168.73.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::13f:acd5:a8f8:225e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
   
#配置/etc/sysctl.conf
[root@web01 ~]# tail -8 /etc/sysctl.conf 
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.ens33.rp_filter = 0
net.ipv4.conf.tunl0.rp_filter = 0
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

- 有三个值,0、1、2,具体含义:
- 0:不开启源地址校验。
- 1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。
- 2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不同,则直接丢弃该数据包。

#配置vip
[root@web01 ~]# ip addr add 192.168.73.100/32 dev tunl0
# 激活网络接口
[root@web01 ~]# ip link set tunl0 up
[root@web01 ~]# ip route add 192.168.73.100 dev tunl0

3.lvs配置

#安装ipvsadm
[root@lvs ~]# yum install -y ipvsadm
#加载激活隧道模块
[root@lvs ~]# modprobe ipip
#添加vip到调度器并启动
[root@lvs ~]# ip addr add 192.168.1.200/24 dev tunl0
[root@lvs ~]# ip link set tunl0  up 
#添加策略
[root@lvs ~]# ipvsadm -C
[root@lvs ~]# ipvsadm -A -t 192.168.73.100:80 -s rr
[root@lvs ~]# ipvsadm -a -t 192.168.73.100:80 -r 192.168.73.129:80 -i
[root@lvs ~]# ipvsadm -a -t 192.168.73.100:80 -r 192.168.73.130:80 -i
#查看策略
[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  192.168.73.100:80 rr
  -> 192.168.73.129:80            Tunnel  1      0          0         
  -> 192.168.73.130:80            Tunnel  1      0          0   

3.测试检验

#这里访问需要一台新的虚拟机,且在同一网段内才可访问,或者上浏览器访问
[root@web1 ~]# curl 192.168.73.100
web01
[root@web1 ~]# curl 192.168.73.100
web02
[root@web1 ~]# curl 192.168.73.100
web01
[root@web1 ~]# curl 192.168.73.100
web02

猜你喜欢

转载自blog.csdn.net/qq1271566323/article/details/142565486