linux 双网卡浮动ip,Linux 双网卡绑定一个IP原理及实现
我們在這介紹的Linux雙網卡綁定實現就是使用兩塊網卡虛擬成為一塊網卡,這個聚合起來的設備看起來是一個單獨的以太網接口設備,通俗點講就是兩塊網卡具有相同的IP地址而并行鏈接聚合成一個邏輯鏈路工作。其實這項技術在Sun和Cisco中早已存在,被稱為Trunking和Etherchannel技術,在Linux的2.4.x的內核中也采用這這種技術,被稱為bonding。
bonding技術的最早應用是在集群--beowulf上,為了提高集群節點間的數據傳輸而設計的。下面我們討論一下bonding 的原理,什么是bonding需要從網卡的混雜(promisc)模式說起。我們知道,在正常情況下,網卡只接收目的硬件地址(MAC Address)是自身Mac的以太網幀,對于別的數據幀都濾掉,以減輕驅動程序的負擔。但是網卡也支持另外一種被稱為混雜promisc的模式,可以接收網絡上所有的幀,比如說tcpdump,就是運行在這個模式下。bonding也運行在這個模式下,而且修改了驅動程序中的mac地址,將兩塊網卡的Mac地址改成相同,可以接收特定mac的數據幀。然后把相應的數據幀傳送給bond驅動程序處理。
接下來是創建步驟:
1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.23
NETMASK=255.255.255.224
GATEWAY=192.168.128.233
USERCTL=no
2.更改/etc/sysconfig/network-scripts/ifcfg-eth0網卡屬性
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no
3.更改/etc/sysconfig/network-scripts/ifcfg-eth1網卡的屬性
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no
4.編輯/etc/modprobe.conf文件,加入以下內容
alias bond0 bonding
options bond0 miimon=100 mode=0
5.加入/etc/rc.d/rc.local啟動項
ifenslave bond0 eth0 eth1
6.啟動網卡
ifconfig bond0 192.168.0.23 up
ifenslave bond0 eth0 eth1
7.最好重啟下機器
可以用測試時可以通過 nload 或者 iftop 工具進行觀察效果;很清晰!!!
說明:miimon是用來進行鏈路監測的。 比如:miimon=100,那么系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路;mode的值表示工作模式,他共有0,1,2,3四種模式,常用的為0,1兩種。
mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主備的工作方式,也就是說默認情況下只有一塊網卡工作,另一塊做備份.
總結
以上是生活随笔為你收集整理的linux 双网卡浮动ip,Linux 双网卡绑定一个IP原理及实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux管理员工作目录,密码管理员 -
- 下一篇: linux空洞目录,学习笔记:linux