LVS IP隧道模式(IP Tunneling)

一、 IP隧道模式

ip隧道是一个将ip报文封装到另一个ip报文的技术,这可以使得目标为一个ip地址的数据报文被封装和转发到另一个ip地址。ip隧道技术也成为ip封装技术。

它和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址(添加新的IP头)。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。IP隧道技术主要用于移动主机和虚拟私有网络(Virtual Private Network),在其中隧道都是静态建立的,隧道一端有一IP地址,令一端也有唯一的ip地址。

二、LVS Tunnel原理解析

    

三、TUN模式LVS的配置

keepalived 配置

! Configuration File for keepalived

global_defs {
   notification_email {
     zhaiyujia@163.comm

   }
   notification_email_from zabbix_alert@yujia.com
   smtp_server smtp.exmail.qq.com
   smtp_connect_timeout 30
   router_id master01
}

vrrp_instance VI_1 {
    state MASTER
    interface enp103s0f0
    virtual_router_id 89
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass it.163.com
    }
    virtual_ipaddress {
    9.9.9.9
    }
}
virtual_server 9.9.9.9 205 {
    delay_loop 6
    lb_algo wrr
    lb_kind TUN
    nat_mask 255.255.255.0
    protocol TCP

    real_server 1.1.1.1 205 {
        weight 10
        TCP_CHECK {
          connect_timeout 5
          nb_get_retry 3
          delay_before_retry 3
          connect_port 25
       }
    }
    real_server 2.2.2.2 205 {
        weight 10
        TCP_CHECK {
          connect_timeout 5
          nb_get_retry 3
          delay_before_retry 3
          connect_port 25
       }
    }

 realserver配置

#!/bin/bash  
#description : start realserver
VIP=9.9.9.9
case "$1" in
start)
echo " start LVS of REALServer"
modprobe ipip         ##开启ip隧道模块
/sbin/ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP   ##添加tunl0网卡,并绑定VIP
echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore    ##只响应目的IP地址为接受网卡上的本地地址的arp响应
echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce    ##选择合适的本地地址作为arp请求的源IP地址
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/tunl0/rp_filter    ##关闭方向过滤功能(uRPF)
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
;;
stop)
/sbin/ifconfig tunl0 down
echo "close LVS Directorserver"
echo "0" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

简书原理参考

https://www.jianshu.com/p/11ee89c54449

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值