Debian 下通過Bonding 實現雙網卡單IP

      Debian 下通過Bonding 實現雙網卡單IP冗餘

Linux 雙網卡綁定一個IP地址,實現網卡冗餘,將兩個網卡虛擬爲一塊。使用同一個IP地址。本文介紹了 bonding 的原理,及如何在 Debian 下通過bonding 實現雙網卡單IP的操作。


Linux 雙卡綁定一個IP地址,實質工作是使用兩塊網卡虛擬爲一塊,使用同一個IP地址,是我們能夠得到更穩定的連接。在Linux2.4.x 中內核也採用這種技術,被稱爲 bonding.

bonding 的原理:

     在正常情況下,網卡只接受目的硬件地址是自身Mac的以太網幀,對於別的數據幀都過濾掉,以減輕驅動程序的負擔。但是網卡也支持混雜模式,可以接受網絡上所有的幀(如抓包工具sniffer)。bonding也運行在這個模式下,並且修改了MAC地址,將兩塊網卡的MAC地址改爲相同,可以接受特定MAC的數據幀。然後把響應的數據幀傳送給bond驅動程序處理。

    bonding mode 工作方式:

bonding 有0~6 共七種工作方式,常用的工作方式是0,1,6 三種:

mode = 0 :表示負載均衡模式(兩個網卡都工作),但需要交換機支持,並且交換機進行相應配置。

mode = 1 :表示提供冗餘功能,默認情況下只有一塊網卡工作,另一塊做備份

mode = 6 :表示負載均衡模式(兩個網卡都工作),不需要交換機支持。

    bonding 配置

apt-get install ifenslave

讓系統開機自動加載模塊 bonding , 其中miimon 用於鏈路監測,miimon=100 表示每100ms 監測一次鏈路狀態,如果有一條不通,則自動轉入另一條線路。

sh -c "echo bonding mode=6 miimon=100 >> /etc/modules"

修改 /etc/network/interfaces 文件爲如下內容:

auto lo

iface lo inet loopback

auto bond0

iface bond0 inet static #虛擬網卡的TCP/IP配置

address 192.168.58.100

netmask 255.255.255.0

gateway 192.168.58.1

dns-nameservers 192.168.58.1

post-up ifenslave bond0 eth0 eth1

pre-down ifenslave -d bond0 eth0 eth1


重啓計算機 或者手動加載bonding 模塊

modprobe bonding mode=6 miimon=100

/etc/init.d/networking restart




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