Gre 隧道与 Keepalived
這一篇文章是做了不少功課的。
什么是 Gre 隧道
什么是 Vrrp
KeepAlived 是什么
用Keepalived 怎么玩
附錄
什么是 Gre 隧道
GRE 隧道是一種 IP-2-IP 的隧道,是通用路由封裝協議,可以對某些網路層協議的數據報進行封裝,使這些被封裝的數據報能夠在 IPv4/IPv6 網絡中傳輸。Tunnel 是一個虛擬的點對點的連接,提供了一條通路使封裝的數據報文能夠在這個通路上傳輸,并且在一個Tunnel 的兩端分別對數據報進行封裝及解封裝。Linux 上創建 GRE 隧道,需要 ip_gre 內核模塊,它是Pv4 隧道的驅動程序。
假設我有2臺服務器,想做這兩臺之間創建 GRE 隧道
$server_A_ip 表示服務器A的IP
$server_B_ip 服務器B 的內網IP
1 |
# 在 A 機器上執行 |
如果想停止或者刪除上述網卡
1 |
ip link set gretap1 down |
至此點到點得隧道建立。
什么是 vrrp 協議
VRRP(Virtual Router Redundancy Protocol), 即虛擬路由冗余協議。是實現路由器高可用的容錯協議。
即將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個 master 和多個 backup, 但在外界看來就像一臺一樣,構成虛擬路由器,擁有一個虛擬IP(vip),占有這個IP 的 master 實際負責 ARP 相應和轉發 IP 數據包, 組中的其它路由器作為備份的角色處于待命狀態。 master 會發組播消息,當 backup 在超時時間內收不到 vrrp 包時就認為 master 宕掉了,這時就需要根據VRRP的優先級來選舉一個backup當master,保證路由器的高可用。
Keepalived 是什么
Keepalived 是一個基于 VRRP 協議來實現的服務高可用方案,可以利用其來避 大專欄 Gre 隧道與 Keepalived免IP單點故障。
一個經典的案例
一個WEB服務至少會有2臺服務器運行 Keepalived,一臺為主服務器,一臺為備份服務器, 但是對外表現為一個虛擬IP,主服務器會發送特定的消息給備份服務器,當備份服務器收不到這個消息的時候,即主服務器宕機的時候,備份服務器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。
怎么玩 Keepalived
安裝
1 |
sudo apt-get install keepalived |
之前提到的,我們在 A, B 兩臺服務器建立起了 GRE 隧道了。 現在我們有一個虛擬的內網IP, 姑且叫做 $virtual_third_ip
接著在 A 服務器上
配置
編輯服務器 A, B 的 /etc/keepalived/keepalived.conf
1 |
|
我們將服務器 A 作為 Master, 服務器 B 當做 Backup, 當服務器 A 需要停機的時候,$virtual_third_ip 就會漂移到服務器 B 上面。 我們兩臺機器都有相同配置的 Nginx 服務,就可以保障機器出現故障的時候,Nginx 服務絲毫不受影響。
附錄
鳥哥的網絡知識
GRE tuneling
VRRP
總結
以上是生活随笔為你收集整理的Gre 隧道与 Keepalived的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用puttygen工具把私钥id_rsa
- 下一篇: 学习C# - Hello,World!