企業實戰 LVS實現(LVS Tun模式實現)

2021-10-05 17:26:27 字數 4551 閱讀 6274

本次實驗需要三個虛擬機器以及物理機:

虛擬機器名稱 作用 ip

server1 ds 172.25.63.1

server2 rs1 172.25.63.2

server3 rs2 172.25.63.3

vip為:172.25.63.100

測試服務:http 埠:80

物理機為客戶端

實驗前使用清空server1 之前的規則:

[root@server1 ~]

# ipvsadm -c

[root@server1 ~]

# ipvsadm -l

ip virtual server version 1.2.1 (size=4096)

prot localaddress:port scheduler flags

-> remoteaddress:port forward weight activeconn inactconn

在server1:

[root@server1 ~]

# modprobe ipip

[root@server1 ~]

# ip addr show

1: lo: mtu 65536 qdisc noqueue state unknown qlen 1

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: eth0:

mtu 1500 qdisc pfifo_fast state up qlen 1000

link/ether 52:54:00:1b:f6:56 brd ff:ff:ff:ff:ff:ff

inet 172.25.63.1/24 brd 172.25.63.255 scope global eth0

valid_lft forever preferred_lft forever

inet 172.25.63.100/32 scope global eth0

valid_lft forever preferred_lft forever

inet6 fe80::5054:ff:fe1b:f656/64 scope link

valid_lft forever preferred_lft forever

3: tunl0@none: mtu 1480 qdisc noop state down qlen 1 #多了隧道的模型

link/ipip 0.0.0.0 brd 0.0.0.0

在server1:

[root@server1 ~]

# ip addr del 172.25.63.100/32 dev eth0 #先將vip從eth0上刪除

[root@server1 ~]

# ip addr add 172.25.63.100/32 dev tunl0

在server1:

[root@server1 ~]

# ipvsadm -a -t 172.25.63.100:80 -s rr

[root@server1 ~]

# ipvsadm -a -t 172.25.63.100:80 -r 172.25.63.2:80 -i # -i表示隧道模式

# ip link set up tunl0 #啟用隧道模式

在server2 和server3 上進行相同的操作:

modprobe ipip

ip addr del 172.25.63.100/32 dev eth0

ip addr add 172.25.63.100/32 dev tunl0

ip link

set up tunl0

在server2 和server3 核心上關閉反向過濾規則(以server2為例):

[root@server2 html]

# sysctl -a | grep rp_filter #,檢視反向過濾規則,將選項為 1 的全部改為 0

net.ipv4.conf.all.arp_filter = 0

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.arp_filter = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.eth0.arp_filter = 0

net.ipv4.conf.eth0.rp_filter = 1

net.ipv4.conf.lo.arp_filter = 0

net.ipv4.conf.lo.rp_filter = 0

net.ipv4.conf.tunl0.arp_filter = 0

net.ipv4.conf.tunl0.rp_filter = 1

[root@server2 html]

# sysctl -w net.ipv4.conf.all.rp_filter=0

net.ipv4.conf.all.rp_filter = 0

[root@server2 html]

# sysctl -w net.ipv4.conf.default.rp_filter=0

net.ipv4.conf.default.rp_filter = 0

[root@server2 html]

# sysctl -w net.ipv4.conf.eth0.rp_filter=0

net.ipv4.conf.eth0.rp_filter = 0

[root@server2 html]

# sysctl -w net.ipv4.conf.tunl0.rp_filter=0

net.ipv4.conf.tunl0.rp_filter = 0

[root@server2 html]

# sysctl -a | grep rp_filter #選項全部為0,設定成功

net.ipv4.conf.all.arp_filter = 0

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.default.arp_filter = 0

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.eth0.arp_filter = 0

net.ipv4.conf.eth0.rp_filter = 0

net.ipv4.conf.lo.arp_filter = 0

net.ipv4.conf.lo.rp_filter = 0

net.ipv4.conf.tunl0.arp_filter = 0

net.ipv4.conf.tunl0.rp_filter = 0

[root@server2 html]

# sysctl -p #使所有選項生效

注意在server3 上也要進行以上的相同操作

在客戶端:

[kiosk@foundation63 ~]$ curl 172.25.63.100

server3

[kiosk@foundation63 ~]$ curl 172.25.63.100

server2

[kiosk@foundation63 ~]$ curl 172.25.63.100

server3

[kiosk@foundation63 ~]$ curl 172.25.63.100

server2

表示tun模式成功實現

Liunx企業實戰(十) LVS(1)

lvs是linux virtual server的簡稱,也就是linux虛擬伺服器。lvs現在是已經是linux核心標準的一部分。使用lvs可以達到的技術目標是 通過lvs達到的負載均衡和linux作業系統實現乙個高效能高可用的linux伺服器集群,它具有良好的可靠性 可擴充套件性和可操作性。從而以...

Linux企業實戰(十六) LVS(6)

lvs nat模式特點 優缺點 缺點 它的伸縮能力有限,當伺服器結點數目公升到 20 時,排程器本身有可能成為系統的新瓶頸,因為在 vs nat 中請求和響應報文都需要通過負載排程器。因為是nat模式,故需要給新新增的網絡卡配置乙個不同網段的ip 注意 這個 不同網段的的ip 是和server1 2...

linux集群之LVS入門和企業級實戰

第一章 集群理論基礎 cdn和智慧型dns伺服器 共享儲存 資料 實現高可用的方法 集群的型別 監控工具 系統部署工具 自動化運維工具 推送配置 批量執行命令 常見硬體型別的包括bigip f5公司 netscaler citrix a10。ha 高可用集群 常見軟體 基本原則 共享儲存通常應用在m...