1、客戶端添加VM1網卡,配置和服務器同網段IP地址

2、訪問第一臺nginx服務器

3、客戶端更換IP地址訪問第二臺nginx服務器

四、部署Haproxy服務器

Haproxy概述及工作原理詳細配置參考博文:Haproxy搭建Web群集概述
Centos 7基于Haproxy搭建高可用Web群集

1、安裝haproxy

[root@centos03 ~]# yum -y install pcre-devel bzip2-devel  <!--安裝依賴程序-->
[root@centos03 ~]# ls
anaconda-ks.cfg  haproxy-1.4.24.tar.gz  initial-setup-ks.cfg
[root@centos03 ~]# tar zxvf haproxy-1.4.24.tar.gz -C /usr/src/  <!--解壓縮haproxy壓縮包-->
[root@centos03 ~]# cd /usr/src/haproxy-1.4.24/  
[root@centos03 haproxy-1.4.24]# make TARGET=linux26 <!--編譯haproxy支持64位系統-->
[root@centos03 haproxy-1.4.24]# make install  <!--安裝haproxy-->

2、生成haproxy配置文件

[root@centos03 ~]# mkdir /etc/haproxy  <!--創建保存haproxy配置文件目錄-->
[root@centos03 ~]# cp /usr/src/haproxy-1.4.24/examples/haproxy.cfg /etc/haproxy/ 
                <!--生成配置文件-->
[root@centos03 ~]# cp /usr/src/haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy 
         <!--創建haproxy服務控制腳本-->
[root@centos03 ~]# chmod  x /etc/init.d/haproxy <!--添加執行權限-->
[root@centos03 ~]# chkconfig --add haproxy <!--添加為系統服務-->
 [root@centos03 ~]# chkconfig --level 35 haproxy on <!--設置開機自動啟動-->
[root@centos03 ~]# cp /usr/src/haproxy-1.4.24/haproxy /usr/sbin/ <!--優化程序執行命令-->
[root@centos03 ~]# mkdir -p /usr/share/haproxy <!--創建服務運行的臨時目錄-->

3、配置haproxy群集

[root@centos03 ~]# vim /etc/haproxy/haproxy.cfg   <!--修改haproxy主配置文件-->
listen  nginx 192.168.100.30:80   <!--Haproxy服務器IP地址-->
        balance roundrobin
        server  web01 192.168.100.10:80 check inter 2000 fall 3   <!--第一臺Nginx的IP-->
        server  web02 192.168.100.20:80 check inter 2000 fall 3  <!--第二臺Nginx的IP-->
[root@centos03 ~]# /etc/init.d/haproxy start  <!--啟動haproxy服務-->
Starting haproxy (via systemctl):                          [  確定  ]

1)客戶端訪問192.168.100.30

2)客戶端更換IP地址重新訪問

五、配置Firewalld防火墻(雙網卡)

關于Firewalld防火墻的概述及詳細配置請參考博文:Centos 7的Firewalld防火墻基礎
Centos 7的firewalld防火墻地址偽裝和端口轉發原理
centos 7之firewalld防火墻配置IP偽裝和端口轉發案例詳解

[root@centos04 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34   <!--復制ens34網卡配置文件-->
[root@centos04 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34  
                 <!--編輯ens34網卡配置文件-->
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.200.254  <!--外網的IP地址-->
NATEMASK=255.255.255.0
dns1=192.168.200.254   <!--添加DNS-->
[root@centos04 ~]# systemctl restart network   <!--重新啟動網卡服務-->
[root@centos04 ~]# vim /etc/sysctl.conf   <!--開啟路由功能-->
net.ipv4.ip_forward = 1
[root@centos04 ~]# sysctl -p  <!--刷新配置-->
[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32  
                 <!--編輯ens32網卡配置文件-->
GATEWAY=192.168.100.40  
     <!--網站服務器和Haproxy服務器添加網關(內網所有服務器都要添加網關)-->
[root@centos01 ~]# systemctl restart network  <!--重新啟動網卡服務-->
[root@centos04 ~]# systemctl start firewalld.service   <!--啟動防火墻-->
[root@centos04 ~]# systemctl enable firewalld.service  <!--設置開機自動啟動-->
[root@centos04 ~]# firewall-cmd --add-interface=ens34 --zone=external   
        <!--將ens34接口加入到external區域-->
The interface is under control of NetworkManager, setting zone to \\\'external\\\'.
success
[root@centos04 ~]# firewall-cmd --add-interface=ens32 --zone=trusted  
            <!--將ens32接口加入到trusted區域-->
The interface is under control of NetworkManager, setting zone to \\\'trusted\\\'.
success
[root@centos04 ~]# firewall-cmd --get-active-zones   <!--查看所有激活的區域-->
external
  interfaces: ens34
trusted
  interfaces: ens32
[root@centos04 ~]# firewall-cmd --remove-masquerade --zone=external   
           <!--關閉默認的IP地址偽裝-->
success
[root@centos04 ~]# firewall-cmd --add-rich-rule=\\\'rule family=ipv4 source address=192.168.100.0/24 masquerade\\\' <!--external區域配置IP地址偽裝-->
success
[root@centos04 ~]# firewall-cmd --add-rich-rule=\\\'rule family=ipv4 destination address=192.168.200.254/32 forward-port port=80 protocol=tcp to-addr=192.168.100.30\\\'
<!--配置端口映射;將trusted區域的192.168.100.30的80端口映射到external區域的
 192.168.200.254的80端口-->
success
[root@centos04 ~]# firewall-cmd --zone=external --add-service=http
            <!--external區域允許http協議-->
success
[root@centos04 ~]# firewall-cmd --zone=external --add-service=dns   
        <!--external區域允許 dns協議-->
success
[root@centos04 ~]# firewall-cmd --zone=external --list-all<!--查看external區域的詳細信息-->
external (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens34
  sources: 
  services: ssh http dns
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
    rule family=ipv4 source address=192.168.100.0/24 masquerade
    rule family=ipv4 destination address=192.168.200.254/32 forward-port port=80 protocol=tcp to-addr=192.168.100.30

六、部署DNS

關于DNS詳細配置及概述請參考博文:CentOS7簡單搭建DNS服務

[root@centos04 ~]# yum -y install bind bind-chroot bind-utils <!--安裝依賴軟件-->
[root@centos04 ~]# echo  > /etc/named.conf   
[root@centos04 ~]# vim /etc/named.conf   <!--編輯DNS主配置文件-->
options {
        listen-on       port    53      { any; };
        directory       /var/named;
};
zone    benet.com        IN      {
        type    master;
        file    benet.com.zone;
};

[root@centos04 ~]# named-checkconf -z /etc/named.conf
          <!--檢查DNS主配置文件是否錯誤-->
[root@centos04 ~]# vim /var/named/benet.com.zone
           <!--編輯benet.com正向解析區域配置文件-->
$TTL    86400
@       SOA     benet.com.       root.benet.com.(
        2020021801
        1H
        15M
        1W
        1D
)
@       NS      centos04.benet.com.
centos04 A      192.168.200.254
www      A      192.168.200.254
[root@centos04 ~]# named-checkzone benet.com /var/named/benet.com.zone  
         <!--檢查正向解析區域配置文件是否錯誤--> 
zone benet.com/IN: loaded serial 2020021801
OK
[root@centos04 ~]# chmod  x /var/named/benet.com.zone   
        <!--正向解析區域配置文件添加執行權限-->
[root@centos04 ~]# chown named:named /var/named/benet.com.zone<!--修改屬組屬組-->
[root@centos04 ~]# systemctl start named  <!--啟動服務-->
[root@centos04 ~]# systemctl enable named  <!--設置服務開機自動啟動-->

七、部署外網客戶端

1、客戶端配置IP地址、添加DNS地址

2、客戶端使用域名訪問

3、客戶端更換IP地址重新訪問

———————— 本文至此結束,感謝閱讀 ————————

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » CentOS 7搭建Haproxy Nginx Firewalld DNS負載均衡

登錄

找回密碼

注冊