keepalived配置學習,解決vip無法ping通,虛擬服務器端口無法訪問的問題

keepalived配置,解決vip無法ping通,虛擬服務器端口無法訪問的問題

keepalived網上教程很多,通過yum install keepalived下載安裝後,在/etc/keepalived/keepalived.conf默認配置很詳細,很方便新手基於該配置修改成自己所想要的配置文件,相應keepalived配置教程很多,按照配置教程基於keepalived.conf修改很容易出現配置好的vip無法ping通,或者vip可ping通,但映射的端口無法訪問。

  • vip無法ping通
    keepalived.conf中vip配置好後,通過ip addr可以看到vip已經順利掛載,但是無法ping通,並且防火牆都已關閉,原因是keepalived.conf配置中默認vrrp_strict打開了,需要把它註釋掉。重啓keepalived即可ping通。
  • 映射端口無法訪問
    vip可ping通後,訪問vip映射端口無法訪問,直接訪問real_server的ip和端口可訪問。
    解決這個問題需要對lvs相關知識進行初步瞭解,詳見《LVS手冊》http://www.linuxidc.com/Linux/2016-03/129233.htm
    在keepalived.conf中對virtual_server配置有
    lb_kind可以設置爲NAT、DR、TUN。這個選項直接關係到你做的 virtual_server和real_server能否進行正確映射。

NAT模式和路由器NAT模式類似,用於訪問client和real_server在不同網段實現通信。如果你在一個局域網內做負載均衡選用NAT,那恭喜你,你肯定是無法訪問。可以做個NAT模式的測試,需要在keepalived主機上配置雙網卡,分別在兩個不同網段中,如keepalived主機網卡對client地址爲10.0.0.0/24,對real_server的地址爲192.168.2.0/24。vip設置爲10.0.0.164,real_server爲192.168.2.67,可採用下面的keepalived.conf配置

vrrp_instance VI_1 {
    state MASTER
    interface ens37
    virtual_router_id 66
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.164/24
    }
}

virtual_server 10.0.0.164 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    protocol TCP
    real_server 192.168.2.67 80
   {
         weight 1
    }
}

配置正確後在keepalived主機上執行systemctl restart keepalived.service。從client上執行curl 10.0.0.164發現還是無法訪問。這是由於real_server在接收到請求包後找不到路由進行數據返回,此時需要將keepalived主機作爲網關,在real_server上添加回程路由route add default gw 192.168.2.65。192.168.2.65即爲keepalived主機。考慮keepalived主機一般雙機,因此此處可以用keepalived主機的虛擬IP。 現在再執行curl 10.0.0.164就可以正常返回。

DR模式是在局域網內最簡單的映射模式,原理可參見《LVS手冊》。但只在keepalived主機上配置lb_kind DR是無法訪問到real_server的,DR模式會將目標地址爲虛擬IP地址原封不動的傳給real_server。real_server發現這不是我的IP,因此會丟棄掉該包,所以這邊得欺騙一下real_server,讓他認爲這是他的地址。做法很簡單,在real_server的lo迴環口上添加那個虛擬IP,這樣real_server就會認爲自己就是VIP這臺服務器。切記在lo上設置,不要在真實網卡上設置,道理留給大家思考。

ifconfig lo:0 192.168.2.100 netmask 255.255.255.0 up

參考
LVS+Keepalived使用總結
https://www.linuxidc.com/Linux/2016-03/129232.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章