天天看點

LVS NAT模式搭建director 伺服器上開啟路由轉發功能關閉icmp的重定向注意區分網卡名字,adai的兩個網卡分别為ens33和ens37director 設定nat防火牆director設定ipvsadm規則

準備工作

網絡準備

三台機器。

分發器(排程器director)

内網:192.168.8.133 外網:192.168.75.128

real server1(real1)

内網:192.168.8.134 設定網關為: 192.168.8.133

real server2(real2)

内網:192.168.8.135 設定網關為: 192.168.8.133

防火牆

關閉系統防火牆:

[root@real1 ~]# systemctl stop firewalld

[root@real1 ~]# systemctl disable firewalld

關閉SELinux:

[root@director ~]# setenforce 0

[root@director ~]# vim /etc/selinux/config

SELINUX=disabled

注: 分别在三台機器進行上述操作。

以下操作在real1和real2中進行:

安裝iptables服務:

[root@real1 ~]#yum install -y iptables-services

設定iptables服務:

[root@real1 ~]# iptables -F

[root@real1 ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 确定 ]

說明: 進行該設定的原因是NAT模式是基于防火牆nat表的一種模式,是以會使用iptables規則。

開始搭建

配置director:

安裝ipvsadm工具:

[root@director ~]# yum install -y ipvsadm

配置ipvsadm腳本:

[root@director ~]# vim /usr/local/sbin/lvs_nat.sh

#! /bin/bash

director 伺服器上開啟路由轉發功能

echo 1 > /proc/sys/net/ipv4/ip_forward

關閉icmp的重定向

echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects

echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects

注意區分網卡名字,adai的兩個網卡分别為ens33和ens37

echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects

echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects

director 設定nat防火牆

iptables -t nat -F

iptables -t nat -X

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j MASQUERADE

director設定ipvsadm規則

IPVSADM='/usr/sbin/ipvsadm'

$IPVSADM -C

#-C=clear,清除規則

$IPVSADM -A -t 192.168.75.128:80 -s rr

#-A:=add,添加規則;-t:=tcp;-s 指定算法;

#在此可以添加-p:指定逾時時間(解決session問題:保證同一請求被分發到同一rs上)

#因為添加-p選項後會影響測試效果,是以在此不加該參數(注:時間不能設定為0)

$IPVSADM -a -t 192.168.75.128:80 -r 192.168.8.134:80 -m -w 1

$IPVSADM -a -t 192.168.75.128:80 -r 192.168.8.135:80 -m -w 1

#-a:=add,增加nat架構中的rs;-r:指定rs的IP;-m:指定LVS模式為NAT(masquerade)

#-w:=weight,指定權重

執行該腳本:

[root@director ~]# sh /usr/local/sbin/lvs_nat.sh

#注:執行該腳本時無錯誤輸出說明沒問題。

檢視ipvsadm規則:

[root@director ~]# 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.75.128:80 rr

-> 192.168.8.134:80 Masq 1 1 3

-> 192.168.8.135:80 Masq 1 0 4

配置rs:

在兩台rs上安裝Nginx,并分别設定其首頁用來區分兩台機器。

[root@real1 ~]# yum install -y nginx

[root@real1 ~]# systemctl start nginx

編輯rs1首頁:

[root@real1 ~]# vim /usr/share/nginx/html/index.html

This is real server 1.