通过IP隧道实现虚拟服务器(VS/TUN)

本文详细介绍了一个基于IP隧道的负载均衡系统配置过程。实验环境中包含一个调度器(Server1)和两个服务器(Server2, Server3),通过配置IP隧道、设置ARP抑制及负载均衡规则,实现了客户端对虚拟IP的访问请求在两台服务器间均衡分配。具体步骤包括模块加载、接口设置、地址添加、负载均衡规则添加等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境:
Direcotr:
Server1(调度器):eth0:172.25.7.1/24 tunl0:172.25.7.100/24
Realserver:
Server2(服务器):eth0:172.25.7.2 tunl0:172.25.7.100/24
Server3(服务器):eth0:172.25.7.3 tunl0:172.25.7.100/24
Client:172.25.7.250


在server1中设置如下:

[root@server1 ~]# modprobe ipip
[root@server1 ~]#ip link set up tunl0
[root@server1 ~]#ip  addr add 172.25.7.100/24 dev tunl0

添加rules: -i 表示tun方式

[root@server1 ~]# ipvsadm  -A -t 172.25.7.100:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.7.100:80 -r 172.25.7.3:80 -i
[root@server1 ~]# ipvsadm -a -t 172.25.7.100:80 -r 172.25.7.2:80 -i

在server2中设置如下:

[root@server2 ~]#modprobe ipip
[root@server2 ~]#ip link set up tunl0
[root@server2 ~]#ip  addr add 172.25.7.100/24 dev tunl0
[root@server2 ~]#/etc/init.d/arptables_jf start
[root@server2 ~]#sysctl -w net.ipv4.conf.tunl0.rp_filter=0

设置arp抑制如下:

##对input进行拒绝
[root@server2 ~]# arptables -A IN -d 172.25.7.100 -j DROP
##对output进行伪装
[root@server2 ~]# arptables -A OUT -s 172.25.7.100 -j mangle --mangle-ip-s 172.25.7.2
[root@server2 ~]# /etc/init.d/arptables_jf save

这里写图片描述
在server3中设置如下:

[root@server3 ~]#modprobe ipip
[root@server3 ~]#ip link set up tunl0
[root@server3 ~]#ip  addr add 172.25.7.100/24 dev tunl0
[root@server3 ~]#/etc/init.d/arptables_jf start
[root@server3 ~]#sysctl -w net.ipv4.conf.tunl0.rp_filter=0

设置arp抑制如下:

##对input进行拒绝
[root@server3 ~]# arptables -A IN -d 172.25.7.100 -j DROP
##对output进行伪装
[root@server2 ~]# arptables -A OUT -s 172.25.7.100 -j mangle --mangle-ip-s 172.25.7.3
[root@server2 ~]# /etc/init.d/arptables_jf save

这里写图片描述
测试:在client访问vip
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值