1. 程式人生 > >centos 7 LVS keepalived nat 配置

centos 7 LVS keepalived nat 配置

參考連結

vmware虛擬出4臺主機,LVS伺服器兩張網絡卡,一橋接模式,一張僅主機模式,兩臺伺服器都為僅主機模式。

LVS_master的橋接網絡卡ip 為192.168.1.196,內網ip:10.0.0.49。

lvs-backup:外網192.168.1.197,內網為::10.0.0.52。

兩臺web伺服器的ip為10.0.0.51,10.0.0.52.

虛擬IP為192.168.1.198,虛擬閘道器為10.0.0.100
系統版本:CentOS Linux release 7.3.1611 (Core) 

拓撲圖:

【1】安裝ipvsadm和keepalived

在LVS_master和LVS_backup兩臺機器上安裝ipvsadm和keepalived

[[email protected] ~]# yum install -y  ipvsadm
[roo[email protected] ~]# yum install -y keepalived

【2】配置主從LVS伺服器

a,開戶路由轉發功能

[[email protected] ~]# vim /etc/sysctl.conf 
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward = 1
[[email protected] ~]# sysctl -p
net.ipv4.ip_forward = 1

注意:刪除配置檔案中的 vrrp_strict,否則會導致不能ping能虛擬出來的VIP和虛擬閘道器,導致訪問服務失敗。

b,lvs_master keepalived配置檔案

[[email protected] keepalived]# cat keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
[email protected] [email protected] } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_MASTER vrrp_skip_check_adv_addr vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.198 } } vrrp_instance LAN_GATEWAY { state MASTER interface ens37 virtual_router_id 52 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 111 } virtual_ipaddress { 10.0.0.100 } } virtual_server 192.168.1.198 80 { delay_loop 6 lb_algo rr lb_kind NAT # persistence_timeout 50 protocol TCP real_server 10.0.0.51 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 10.0.0.52 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }

c,lvs_backup keepalived配置檔案

[[email protected] keepalived]# cat keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_BACK
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.198
        }
}

vrrp_instance LAN_GATEWAY {
        state BACKUP
        interface ens37
        virtual_router_id 52
        priority 80
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 111
        }
        virtual_ipaddress {
                10.0.0.100
        }
}

virtual_server 192.168.1.198 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
#    persistence_timeout 50
    protocol TCP

    real_server 10.0.0.51 80 {
        weight 1
        TCP_CHECK {

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }

    real_server 10.0.0.52 80 {
        weight 1
        TCP_CHECK {

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

d,在兩臺LVS上執行keepalived服務

[[email protected] ~]# systemctl start keepalived

e,配置兩臺WEB服務

將兩臺WEB伺服器的閘道器設定成10.0.0.100.

 配置WEB服務略。內容不一樣即可,只做簡單測試。

【3】結果

a,從區域網中的一臺機器ping VIP 192.168.1.198可以ping通。

b,在LVS_master檢視

[[email protected] ~]# 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.1.198:80 rr
  -> 10.0.0.51:80                 Masq    1      0          0         
  -> 10.0.0.52:80                 Masq    1      0          0     

 c,ens33 有VIP,ens37下有虛擬閘道器

[[email protected] ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:4b:2d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.196/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.198/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe76:4b2d/64 scope link 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:4b:37 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.49/24 brd 10.0.0.255 scope global ens37
       valid_lft forever preferred_lft forever
    inet 10.0.0.100/32 scope global ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::3dcf:cdc5:fb91:b4a4/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:73:41:3c brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:73:41:3c brd ff:ff:ff:ff:ff:ff

d,在WEB1中ping 虛擬閘道器可以ping通

[[email protected] keepalived]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.353 ms
64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.325 ms
64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=0.390 ms
64 bytes from 10.0.0.100: icmp_seq=4 ttl=64 time=0.554 ms
64 bytes from 10.0.0.100: icmp_seq=5 ttl=64 time=0.354 ms

e,在LVS_master,使用curl驗證

[[email protected] ~]# curl 192.168.1.198
rs1rs1
[[email protected] ~]# curl 192.168.1.198
rs2rs2

f,在區域網中驗證

【3】熱備驗證

1,關閉LVS_master

[[email protected] ~]# shutdown -h now

2,在LVS_backup檢視

VIP和虛擬閘道器自動繫結到LVS_backup上

[[email protected] keepalived]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:8a:7a:01 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.197/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.198/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::8209:4d1d:a7e4:8658/64 scope link 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:8a:7a:0b brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.50/24 brd 10.0.0.255 scope global ens37
       valid_lft forever preferred_lft forever
    inet 192.168.200.131/24 brd 192.168.200.255 scope global dynamic ens37
       valid_lft 1432sec preferred_lft 1432sec
    inet 10.0.0.100/32 scope global ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe8a:7a0b/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:73:41:3c brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:73:41:3c brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# 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.1.198:80 rr
  -> 10.0.0.51:80                 Masq    1      0          1         
  -> 10.0.0.52:80                 Masq    1      0          1    

區域網上機器仍能正常訪問

 關閉WEB1中的web服務


[[email protected] ~]# systemctl stop nginx

 叢集中服務只剩下WEB2了。

[[email protected] ~]# 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.1.198:80 rr
  -> 10.0.0.52:80                 Masq    1      0        

開啟WEB1中的web服務

[[email protected] ~]# systemctl start nginx

叢集中服務又恢復正常

[[email protected] ~]# 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.1.198:80 rr
  -> 10.0.0.51:80                 Masq    1      0          0         
  -> 10.0.0.52:80                 Masq    1      0          0         

相關推薦

centos 7 LVS keepalived nat 配置

參考連結 vmware虛擬出4臺主機,LVS伺服器兩張網絡卡,一橋接模式,一張僅主機模式,兩臺伺服器都為僅主機模式。 LVS_master的橋接網絡卡ip 為192.168.1.196,內網ip:10.0.0.49。 lvs-backup:外網192.168

centos 7 LVS 配置 nat配置

參考連結 Configure LVS (Linux Virtual Server) to build a load arancer. This example is based on the environment below.

如何在 CentOS 7 中安裝、配置和安全加固 FTP 服務

cte success fire lease 註意 tps tran sub linux 步驟 1:安裝 FTP 服務器 1、 安裝 vsftpd 服務器很直接,只要在終端運行下面的命令。 # yum install vsftpd 2、 安裝完成後,服務先是被禁用的,因

CentOS-7中安裝與配置Tomcat8.5

ane dsc 配置 pub add ted tar.gz 分享 cal 第一步:下載Tomcat8.5,通過地址:http://tomcat.apache.org/download-80.cgi下載 最後得到下載文件 apache-tomcat-8.5.15.tar.g

vm 安裝centos 7無網卡配置文件解決方法

解決方案 network 配置文件 操作系統 failed 問題描述:朋友新安裝了centos7,發現無網卡配置文件,另外network服務是failed狀態。找到我求助嘗試解決方案1、關閉NetworkManager,自己創建ifcfg-eth0配置文件,錯誤依舊嘗試解決方案2、配置文件

[CentOS 7系列]iptables-nat

natNAT表: NAT的方式,將私網地址轉換成公網地址,從而連接到公共網絡。NAT技術節省了公網IP地址,也隱藏了真正的IP地址,提高了內網的安全性。但也產生了些問題,比如引起數據交互的延遲、需要消耗額外的CPU和內存等。新技術的產生,會解決一定的問題,但也會帶來一些問題,有利有弊,這是必然的。如何合

基於CentOS實現LVSnat模式和DR模式

linux lvs nat dr關於LVS的錯誤總結見以下:nat模式:http://amelie.blog.51cto.com/12850951/1979172DR模式:http://amelie.blog.51cto.com/12850951/1979437來自於某國內名企架構師的說法——LVS學好了,網

Centos 7.4 服務器配置LVM(邏輯卷管理)

rec lvremove acc done linu fff sequence ado centos 本章Blog相關知識點:LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和

Centos 7 磁盤陣列配置介紹(一)

磁盤陣列 raid Centos 7 磁盤陣列配置介紹每當我們提到磁盤陣列,相信廣大管理員並不陌生,比如我們一般安裝服務器系統的時候,先前條件是配置服務器的RAID信息,配置RAID信息可以提高服務器性能及數據的安全及穩定性,當然RAID分多少等級,最為常見的是RAID0、RAID1、RAID5、RA

centos 7 編譯安裝以及配置rsync+inotify 文件實時同步操作記錄

註意 .com 操作記錄 修改 pid 指定 服務 entos 實時同步 準備工作: 服務器A 源文件服務器 服務器B 數據備份服務器 註意:服務器A修改文件 實時同步到 服務器B, 服務器A和B都需要安裝rsync,並且服務器A還需要安裝inotify 一、 安裝rs

CentOS 7.4 Tengine安裝配置詳解(一)

tengine nginx 一、安裝配置Tengine:Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易

CentOS 7.4 Tengine安裝配置詳解(二)

tengine、虛擬主機、IP、訪問控制三、配置虛擬主機:1、配置基於端口的虛擬主機:(1)在http{}配置段中新增如下server:server {listen 8000;server_name localhost;access_log /usr/local/tengine/logs/localhost8

CentOS 7.4 Tengine安裝配置詳解(三)

location、echo、fancy九、根據HTTP響應狀態碼自定義錯誤頁:1、未配置前訪問一個不存在的頁面:http://192.168.1.222/abc/def.html,按F12後刷新頁面2、在server{}配置段中新增如下location:server {listen 80;server_nam

CentOS 7安裝後的配置

net shu www -m rest 我們 重啟 name AR 一、設置IP地址、網關DNS 說明:CentOS 7.x默認安裝好之後是沒有自動開啟網絡連接的,所 以需要我們自己配置。 在命令行輸入#vi /etc/sysconfig/network-

CentOS 7.4 Tengine安裝配置詳解(五)

tengine nginx https 十四、配置Tengine支持HTTPS1、演示環境:IP操作系統角色 192.168.1.222 CentOS 7.4 Tengine服務器 192.168.1.145 CentOS 6.9 自建CA服務器備註:Teng

CentOS 7.4 Tengine安裝配置詳解(六)

tengine 反向代理 十五、反向代理:1、演示環境:IP操作系統節點角色192.168.1.222CentOS 7.4node1Tengine服務器192.168.1.144CentOS 6.9node2Apache服務器2、node2安裝Apache服務,並創建測試頁:# yum -y inst

CentOS 7.4 Tengine安裝配置詳解(七)

tengine cache purge 十六、緩存及緩存清理1、修改node1配置文件nginx.conf:(1)在http配置段中增加如下代碼:proxy_cache_path /usr/local/tengine/cache levels=1:1:2 keys_zone=mycache:200

centos 7 的網絡配置問題

重啟 環境 安裝過程 設置 配置問題 發現 route add 內外網 刪除 一直用centos 6的版本很舒服,但是現在7的使用也越來越多了,為了證明自己不是那麽無聊(無知),最近我也跟風安裝了一把CENTOS7,安裝界面很友好,我摸索著在安裝過程設置內外網雙網卡,結果把

CentOS 7.0系統安裝配置圖解教程

none proto spa 同時 -a network 配置文件 最小 自動啟用 CentOS 7.0系統安裝配置圖解教程 說明: 截止目前CentOS 7.x最新版本為CentOS 7.0,下面介紹CentOS 7.0的具體安裝配置過程 服務器相關設置