在LINUX(REDHAT)下双网卡负载均衡(LACP)

在LINUX(REDHAT)下双网卡负载均衡(LACP)
在LINUX(REDHAT)下双网卡负载均衡(LACP)

(一)linux配置

#cat/boot/config-kernel-version|grep-i bonding

CONFIG_BONDING=m

返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding

也可以用:查看一下内核是否已经支持bonding:modinfo bonding

第一步:创建一个ifcfg-bondX

#touch/etc/sysconfig/network-scripts/ifcfg-bond0新建一个bond0配置文件

#cat/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=static

IPADDR=1.1.1.2

NETMASK=255.255.255.0

BROADCAST=1.1.1.255

NETWORK=1.1.1.0

GATEWAY=1.1.1.1

ONBOOT=yes

TYPE=Ethernet

编辑ifcfg-bond0如上

第二步:修改/etc/sysconfig/network-scripts/ifcfg-ethX

这个实验中把网卡1和2绑定,修改/etc/sysconfig/network-scripts/ifcfg-ethX相应网卡配置如下:

#cat/etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet

DEVICE=eth1

HWADDR=00:d0:f8:40:f1:a0网卡1mac

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

#cat/etc/sysconfig/network-scripts/ifcfg-eth2

TYPE=Ethernet

DEVICE=eth2

HWADDR=00:d0:f8:00:0c:0c网卡2mac

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

第三步:配置/etc/modprobe.conf,添加alias bond0bonding #cat/etc/modprobe.conf

alias eth0e100

alias snd-card-0snd-intel8x0

options snd-card-0index=0

options snd-intel8x0index=0

remove snd-intel8x0{/usr/sbin/alsactl store0>/dev/null2>&1||:;};/sbin/modprobe-r --ignore-remove snd-intel8x0

alias eth18139too

options3c501irq=3

alias eth2tulip

上面是三网卡本身的配置如果要绑定和做lacp只要再加上下面两条配置

alias bond0bonding绑定

options bond0miimon=100mode=4mode=4是lacp

第四步:配置/etc/rc.d/rc.local,添加需要绑定的网卡

#cat/etc/rc.d/rc.local

touch/var/lock/subsys/local配置本身就有这条命令

ifenslave bond0eth1eth2这条命令是添加需要绑定的网卡1和2

到这里就完成bonding的配置了可以查看一下

第五步:重启网络服务和重启pc

#service network restart重启网络服务

#shutdown-r now重启pc

重启后可以查看bonding情况:网卡1和2都绑定上了,模式为802.3ad

#cat/proc/net/bonding/bond0

Ethernet Channel Bonding Driver:v3.0.3(March23,2006)

Bonding Mode:IEEE802.3ad Dynamic link aggregation

Transmit Hash Policy:layer2(0)

MII Status:up

MII Polling Interval(ms):100

Up Delay(ms):0

Down Delay(ms):0

802.3ad info

LACP rate:slow

Active Aggregator Info:

Aggregator ID:1

Number of ports:2

Actor Key:9

Partner Key:1

Partner Mac Address:00:d0:f8:22:33:ba

Slave Interface:eth1

MII Status:up

Link Failure Count:0

Permanent HW addr:00:d0:f8:40:f1:a0

Aggregator ID:1

Slave Interface:eth2

MII Status:up

Link Failure Count:0

Permanent HW addr:00:d0:f8:00:0c:0c

Aggregator ID:1

接口配置信息:新增了bond0的配置信息,接口bond0和eth1,eth2,绑定后三个接口使用的mac都是同一个:00:D0:F8:40:F1:A0

#ifconfig

bond0Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0

inet addr:1.1.1.2Bcast:1.1.1.255Mask:255.255.255.0

inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:Link

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500Metric:1

RX packets:128errors:0dropped:0overruns:0frame:0

TX packets:259errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RX bytes:15466(15.1KiB)TX bytes:39679(38.7KiB)

eth0Link encap:Ethernet HWaddr00:11:11:EB:71:E2

inet addr:192.168.180.8Bcast:192.168.180.15Mask:255.255.255.240

inet6addr:fe80::211:11ff:feeb:71e2/64Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1

RX packets:311errors:0dropped:0overruns:0frame:0

TX packets:228errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RX bytes:30565(29.8KiB)TX bytes:35958(35.1KiB)

eth1Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0

inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:Link

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1

RX packets:54errors:0dropped:0overruns:0frame:0

TX packets:97errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RX bytes:6696(6.5KiB)TX bytes:13821(13.4KiB)

Interrupt:209Base address:0x2e00

eth2Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0

inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:Link

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1

RX packets:74errors:0dropped:0overruns:0frame:0

TX packets:162errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:1000

RX bytes:8770(8.5KiB)TX bytes:25858(25.2KiB)

Interrupt:201Base address:0x2f00

lo Link encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

inet6addr:::1/128Scope:Host

UP LOOPBACK RUNNING MTU:16436Metric:1

RX packets:6283errors:0dropped:0overruns:0frame:0

TX packets:6283errors:0dropped:0overruns:0carrier:0

collisions:0txqueuelen:0

RX bytes:9783674(9.3MiB)TX bytes:9783674(9.3MiB)

(二)锐捷交换机配置:

lacp system-priority100全局配置lacp优先级

interface GigabitEthernet0/23

no switchport

lacp port-priority100接口的lacp优先级

port-group1mode active接口下开启lacp主动模式

interface GigabitEthernet0/24

no switchport

lacp port-priority100

port-group1mode active

interface AggregatePort1

no switchport

no ip proxy-arp

ip address1.1.1.1255.255.255.0

和linux成功建立lacp后状态信息如下:

Show lacp summary

System Id:100,00d0.f822.33ba

Flags:S-Device is requesting Slow LACPDUs F-Device is requesting Fast LACPDUs. A-Device is in active mode.P-Device is in passive mode.

Aggregate port1:

Local information:

LACP port Oper Port Port Port Flags State Priority Key Number State

----------------------------------------------------------------------

Gi0/23SA bndl1000x10x170x3d

Gi0/24SA bndl1000x10x180x3d Partner information:

LACP port Oper Port Port Port Flags Priority Dev ID Key Number State

---------------------------------------------------------------------

Gi0/23SA25500d0.f840.f1a00x90x20x3d

Gi0/24SA25500d0.f840.f1a00x90x10x3d State表示状态信息:bndl表示lacp建立成功,sup表示不成功。

建立成功后在交换机上去ping linux1.1.1.2

Ruijie#ping1.1.1.2

Sending5,100-byte ICMP Echoes to1.1.1.2,timeout is2seconds:

!!!!!

Success rate is100percent(5/5),round-trip min/avg/max=1/1/1ms

在linux上ping交换机

[root@localhost~]#ping1.1.1.1

PING1.1.1.1(1.1.1.1)56(84)bytes of data.

64bytes from1.1.1.1:icmp_seq=1ttl=64time=0.601ms

64bytes from1.1.1.1:icmp_seq=2ttl=64time=0.606ms

64bytes from1.1.1.1:icmp_seq=3ttl=64time=0.608ms

64bytes from1.1.1.1:icmp_seq=4ttl=64time=0.607ms

---1.1.1.1ping statistics---

4packets transmitted,4received,0%packet loss,time3002ms

rtt min/avg/max/mdev=0.601/0.605/0.608/0.024ms

[root@localhost~]#

可以ping通,lacp建立正常。

把原传输数据的那个网卡shut down异常测试时,需要等到lacp状态超时才能切换到另一条链路。

Ruijie#sh lacp summary

System Id:100,00d0.f822.33ba

Flags:S-Device is requesting Slow LACPDUs F-Device is requesting Fast LACPDUs.

A-Device is in active mode.P-Device is in passive mode.

Aggregate port1:

Local information:

LACP port Oper Port Port

Port Flags State Priority Key Number State

----------------------------------------------------------------------

Gi0/23SA sups1000x10x170x45

Gi0/24SA bndl1000x10x180x3d

Partner information:

LACP port Oper Port Port

Port Flags Priority Dev ID Key Number State

---------------------------------------------------------------------

Gi0/23SP00000.0000.00000x00x00x0

Gi0/24SA25500d0.f840.f1a00x90x10x3d

linux双网卡做成bond

l i n u x双网卡做成b o n d 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

双网卡做成b o n d0的方法说明 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡 好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。并且节约IP。 实施案例讲解 我们的测试服务器 双网卡 E 我们需要将这2个网卡做成一个bond0网卡 1.编辑eth1. vi/etc/sysconfig/network-scripts/ifcfg-eth1 修改为 我们去掉了IP,MAC,掩码网关,bootproto设置为none 2.编辑eth2 同样这样更改eth2,如下图所示 3.创建并且编辑bond0网卡 vi/etc/sysconfig/network-scripts/ifcfg-bond0 增加如下参数

可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。。。 编辑vi/etc/modprobe.conf文件 添加如下参数 编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网 至此,我们的bond0已经创建成功 接下来我们需要去编辑启动文件添加一行 vi/etc/rc.local 添加ifenslavebond0eth1eth2 重启服务器,测试是否能成功 多个bond 如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加 Eth2eth3….等修改方式同上。 如果bond的模式(请查看参数讲解)不同,那么修改为 这种情况遇到较少,我们了解就好 参数讲解 Bond有7种模式,我们常用的是 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。七种bond模式说明:

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡

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驱动程序处理。 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片1.创建虚拟网卡 编辑虚拟网络接口配置文件,指定网卡IP vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 [root@rhas5 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2.编辑虚拟网卡和物理网卡 #vi ifcfg-bond0 将第一行改成DEVICE=bond0 # cat ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=172.31.0.13 NETMASK=255.255.252.0 BROADCAST=172.31.3.254 ONBOOT=yes USERCTL=no TYPE=Ethernet 这里要注意,不要指定单个网卡的IP 地址、子网掩码或网卡ID。将上述信息指定到虚拟适配器(bonding)中即可。 编辑物理网卡eth0,删除多余的内容,只留下如下内容。包括空格和注释。[root@rhas5 network-scripts]# cat ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static SLAVE=yes MASTER=bond0

windows XP及Linux下双网卡配置方案

Windows XP下双网卡配置方案一、软硬件需求 ●硬件: 一台带有双网卡的PC,其中一个连接internet;另一个接局域网hub。 其中节局域网地址为:192.168.0.1/255.255.255.0 ●软件: 操作系统:windows XP 代理软件:CCProxy 二、设置CCProxy: 1、服务器的安装 运行下载后的Ccproxysetup.exe 安装本软件 (注:现在的最新版本为CCProxy-v6.6,推荐下载网站:霏凡) 安装完成后,桌面有一个CCProxy的绿色图标:双击即可启动CCProxy了(如附图)。绿色的网格坐标将会出现,黄色的曲线表示网络数据流量。 2、客户端设置前的准备工作 1)确认客户端与服务器是连通的,能够互相访问。

2)确定代理服务器地址。代理服务器地址就是安装代理服务器的机器的 网络地址。 这个地址,是指服务器在局域网中的本地IP地址。本地IP地址可以从CCProxy的设置对话框中得到。设置对话框中 的本地IP地址一般情况下可以用"自动检测"得到。如果服务器安装了双 网卡,则需要手工选取:取消"自动检测", 从列表中选取。如果不能确认服务器的IP地址,也可以用服务器的机器 名作为代理服务器地址。 3、局域网机器设置: ※对TCP/IP协议的属性进行设置: 方法:右击“网上邻居”,选择“属性”,双击网卡对应的“TCP/IP协议”,选择“DNS”标签。设置如下:选中“启用DNS”;“主机”中填入服务器名称;并在下面的“DNS服务器搜索顺序”中填入服务器的IP地址,本例为“192.168.0.1”,然后单击[填加];单击[确定]结束DNS设置;再次单击[确定],结束对网络属性的设置。这时需要重新启动计算机。 ※重新启动后,设置IE浏览器代理上网 1)流程: IE浏览器->菜单"工具"->"Internet选项"->"连接"->"局域网设置"->选中"使用代理服务器"->"高级"->"代理服务器设置"。取消"对所有协议均使用相同的代理服务器"。 在"HTTP"中填上代理服务器地址,端口为808; 在"Secure"中填上代理服务器地址,端口为808; 在"FTP"中填上代理服务器地址,端口为808; 在"Gopher"中填上代理服务器地址,端口为808; 在"Socks"中填上代理服务器地址,端口为1080。 2)图示: IE菜单“工具”->“Internet 选项”: “代理设置”选择

linux双网卡做成bond0

双网卡做成b o n d0的方法 说明 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡 好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。并且节约IP。 实施案例讲解 我们的测试服务器 双网卡 E 我们需要将这2个网卡做成一个bond0网卡 1.编辑eth1. vi/etc/sysconfig/network-scripts/ifcfg-eth1 修改为 我们去掉了IP,MAC,掩码网关,bootproto设置为none 2.编辑eth2 同样这样更改eth2,如下图所示 3.创建并且编辑bond0网卡 vi/etc/sysconfig/network-scripts/ifcfg-bond0 增加如下参数 可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。。。 编辑vi/etc/modprobe.conf文件 添加如下参数 编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网 至此,我们的bond0已经创建成功 接下来我们需要去编辑启动文件添加一行 vi/etc/rc.local 添加ifenslavebond0eth1eth2 重启服务器,测试是否能成功 多个bond 如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加 Eth2eth3….等修改方式同上。 如果bond的模式(请查看参数讲解)不同,那么修改为 这种情况遇到较少,我们了解就好 参数讲解 Bond有7种模式,我们常用的是 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

Linux双网卡搭建NAT服务器

Eth0的IP 地址,GW和DNS 都是自动获取的。当然,如果是手动分配IP 、GW 和DNS 也是没问题的。我的eth0 配置如下: IP: 192.168.79.129/24 GW: 192.168.79.1 DNS:192.168.79.2 Linux 主机的eth1 指向内网,IP 地址为:10.50.10 .1/24 。内网主机的内网主机的IP 地址就是10.50.10.0/24 段的IP ,eth1 的IP 是所有内网主机的网关。这里,我的内网主机设置如下: IP: 10.50.10.46/24 GW: 10.50.10.1 DNS:192.168.79.2 这里,所有内网主机的网关都设置为eth1 的IP 地址,而DNS 设置为eth1 所在的Linux 系统主机的DNS ,即192.168.79.2 。 (二)启用转发功能 以上配置完成后,Host A应该可以ping通Linux系统主机的eth1的IP,因为他们是通过交换机链接的。但是,Host A应该可以ping不通Linux系统主机的eth0的IP,应为并未开启Linux系统主机的转发功能。 开启Linux的转发功能,执行如下命令: # echo 1 > /proc/sys/net/ipv4/ip_forward 查看系统是否启用了转发功能,可以执行如下命令: # cat /proc/sys/net/ipv4/ip_forward 如果结果为1,代表已启用,0代表未启用。 此时,执行ping 192.168.72.129 以及其网关和DNS都可ping通了。 (三)配置NAT规则 经过第二部分配置后,虽然可以ping相关的IP地址,但是内网主机还是无法上网。问题在于内网主机的IP地址是无法在公网上路由的。因此,需要转换成Linux系统主机可以上网的IP(注:这里我们只说不说是公网IP,是因为Linux系统可以直接上外网的IP同样是内网IP。但是该内网IP(192.168.79.129)已经通过一些机制,实际上同样是NAT的方式,可以访问外网了,因此我们只需将Host A的IP转换成Linux系统eth0接口的IP即可)。 我们配置的NAT NAT 转换: #iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j MASQUERADE 也可以通过使用 SNAT target 实现: #iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j SNAT --to-source 192.168.79.129 至于 MASQUERADE 和 SNAT 的区别,可以网上搜索,有相关的解释。 同时,还要在 FORWARD 点出配置规则如下: #iptables -A FORWARD -i eth1 -j ACCEPT 保证所有进入 eth1 的包都被 FORWARD 点 ACCEPT 。 经过以上的配置之后, Host A 就可以正常的访问外网了。

服务器双网卡的冗余备份

1. 软件使用原则 服务器接入可以通过使用网卡捆绑软件实现热备冗余,对于服务器双网卡捆绑软件的选择可遵循以下几点原则: 兼容性好,能在不同品牌网卡上使用; 中断恢复快; 能检测深层中断,即能检测到非直连设备的中断。 2. 推荐软件 NIC Express 4.0是一款兼容性较好的捆绑软件,它能兼容Broadcom、D-Link等常见网卡,但在Intel网卡上安装会造成大量丢包。 Inter Proset是针对Intel网卡的专用网卡捆绑软件,但Inter Proset只能在Intel网卡上使用,且不支持深层中断的检测。 3. 软件设置 NIC Express 4.0 使用NIC Express的ELB模式,将网络检测这一关键参数设置为Status Packet,而不能使用Auto,因为设置为Auto 只能检测到直连部分的中断情况,而设置为Status Packet可以通过发状态包,检测到网络中的非直连部分的中断,响应时间更快。其余可使用默认设置。 Inter Proset 使用默认设置即可,另外需要注意: 使用Inter Proset的网卡有隐含的主备关系,即只有主用工作,主用网卡中断后隐含的主备关系交换,再接回后主备关系不变化。本文所有测试时,都使用2号网卡为主用的情况。 4. 三种测试方式 中断服务器网线测试 测试方式: 中断服务器所连网线,再接回,看有无中断。 测试结论: 使用网卡捆绑软件后,中断任意一条网线或接回均不会造成数据传输中断。 中断交换机间网线测试 测试方式: 采用单一中断和组合中断方式测试。 测试结论: 单一或组合中断②号网线,由于交换机重新协商STP,会中断50秒左右。 单一或组合中断⑦号网线,NIC Express 4.0由于可检测深层中断,所以不会造成中断; 而Inter Proset无法检测到下一级网络中断,中断或接回⑦号网线,都会中断45秒左右。 交换机断电测试 测试方式:分别关闭两台核心Cisco3550、两台服务器接入Cisco2950,再开机,测试中断情况。 测试结论: 关闭或打开根交换机(核心主用Cisco3550)电源,由于根漂移,STP重新协商,需中断45秒左右。另外3台交换机关开机均不会造成数据传输中断。

Linux双网卡路由设置

为了Linux双网卡路由设置 如题。为了Linux可以上网,加了网关。如下: 1。所修改得关键文件: /etc/sysconfig/hwconf 检查网卡是否被检测到。 /etc/modules.conf 检查每个网卡分配得别名。 /etc/sysconfig/network-stripts/ifcfg-eth0 配置网卡一 /etc/sysconfig/network-stripts/ifcfg-eth1 配置网卡二 /etc/sysconfig/networking/* 有部分关于主机名称等得配置文件。 2。使用如下命令可以让配置生效: /etc/init.d/network restart 3。静态路由添加方法: (1)将添加静态路由的命令加入到rc.local中 /etc/rc.d/rc.local 格式如下(与route命令格式一致): route add -net 219.223.216.0 netmask 255.255.255.0 gw 219.223.215.129 dev eth1 加后,需重启系统后生效。 注:另有说法可将静态路由加入/etc/sysconfig/static-routes文件中(此文件中加入试用无效) (2)将添加静态路由的命令加入到/etc/sysconfig/network-scripts/route-eth1文件中 格式如下: 219.223.214.0/24 via 219.223.215.129 dev eth1 219.223.215.0/24 via 219.223.215.129 加后,需service network restart后生效

linux系统主机双网卡环回测试要点

Linux下双网卡主机的回环测试 一、设计任务及要求 路由器测试早期采用“回绕测试法”(Loop-back Test Method,LTM),即测试器将测试数据的目的IP地址指定为测试系统(SUT)自身的IP地址,测试器发出的测试数据将被路由器的输入单元直接返回测试系统。单台主机多网卡的测试系统也可以进行回绕测试,在RFC2544文档中有相关描述,本实验的任务就是在linux下的双网卡主机进行回绕测试,也可叫做环回测试,待测设备可以是路由器或者交换机,主机的双网卡分别和交换机或路由器的两个接口相连,数据由一个网卡出来经过待测设备之后再从另外一个网卡回来,这就是整个实验测试的任务。 实验要求:网卡之间能够进行ICMP报文和TCP或UDP报文的传输。 二、实验的解决思路 Linux的内核对从一个网络地址发往另一个网络地址的数据包,如果这两个网络地址同属一个host,则这个数据包会直接在内部转发,根本不会放到网络设备上,本实验的解决思路是在主机上制定两个不属于任何主机的ip,再将网卡的IP地址进行绑定,增加两条相关的路由,用防火墙进行ip 地址转换。 三、实验操作 实验场景如图所示: 图1:双网卡主机测试环境如图所示 其ip地址分别为192.168.1.108(有线网卡),另一个的IP地址为192.168.1.101(无线网卡),有线网卡通过一台路由器进行连接,路由器的网关是192.168.1.1,有线网卡和无线网卡通过路由器的Dhcp自动获得分配的IP,可以连接外网。其配置如下图所示: 图2:linux下主机的网络配置图

在主机上增加两条路由,route add 192.168.1.11 dev eth0; route add 192.168.1.22 dev wlan0; 上面的两个ip地址是不属于任何主机,目的地址为192.168.1.11的数据包由eth0转发,目的地址为192.168.1.22的数据包由wlan0转发。网关都是0.0.0.0,其配置如下所示: 图3:主机路由表 给这两个不属于任何主机的ip地址绑上主机网卡的MAC地址,即设置两条静态arp项。 arp -i eth0 –s 192.168.1.11 00:1B:77:07:78:F6 arp –i wlan0 –s 192.168.1.22 00:1B:24:1C:0B:B4 添加mac地址如下图所示: 图4:主机mac地址表 下面是iptables的地址转换配置: iptables –t nat -F iptables -t nat -A POSTROUTING -s 192.168.1.108 -d 192.168.1.11 -j SNA T --to-source 192.168.1.22 iptables -t nat -A PREROUTING -s 192.168.1.22 -d 192.168.1.11 -j DNAT --to-destination 192.168.1.101 iptables -t nat -A POSTROUTING -s 192.168.1.101 -d 192.168.1.22 -j SNAT --to-source 192.168.1.11 iptables -t nat -A PREROUTING -s 192.168.1.11 -d 192.168.1.22 -j DNA T --to-destination 192.168.1.108 这是iptables的SNAT和DNA T转换,也是本实验的关键所在。 第一行是将从192.168.1.108出去的包的源地址改为192.168.1.22; 第二行是将目的地址为192.1686.1.11的包改为192.168.1.101; 第三行是将从192.168.1.101出去的包的源地址改为192.168.1.11; 第四行是将到192.168.1.11的目的地址的包改为192.168.1.108; Ping –I 192.168.1.108 192.168.1.11 即源地址为192.168.1.108,目的地址为192.168.1.11,发ICMP报文,下面是抓到的图

用双网卡,提高网速

用双网卡,提高网速! 大家好,我前几天在去联想玩的时候,看到他们工程师一台机装好几个网卡,速度还不错,我看一下,回到公司也到网上找了一些资料,双(多)网卡用一个IP的技术,对于各种内网服务器,和电脑、、、、很有用处,我把我在网上找到的资料整理了一下,大家看一看,也许对大家有好处! 所谓双网卡,就是通过软件将双网卡绑定为一个IP地址,这个技术对于许多朋友来说并不陌生,许多高档服务器网卡(例如intel8255x系列、3COM服务器网卡等)都具有多网卡绑定功能,可以通过软硬件设置将两块或者多块网卡绑定在同一个IP地址上,使用起来就好象在使用一块网卡,多网卡绑定的优点不少,首先,可以增大带宽,假如一个网卡的带宽是100M,理论上两块网卡就是200M,三块就是300M,当然实际上的效果是不会是这样简单的增加的,不过经实际测试使用多个网卡对于增加带宽,保持带宽的稳定性肯定是有裨益的,如果交换机等相关条件不错的话,这个效果还是很能令人满意;其次,可以形成网卡冗余阵列、分担负载,双网卡被绑定成“一块网卡”之后,同步一起工作,对服务器的访问流量被均衡分担到两块网卡上,这样每块网卡的负载压力就小多了,抗并发访问的能力提高,保证了服务器访问的稳定和畅快,当其中一块发生故障的时候,另一块立刻接管全部负载,过程是无缝的,服务不会中断,直到维修人员到来。先下载一个软件NIC Express 下载完软件,先不忙安装,咱们还是先准备好硬件。 第一部分:硬件安装 虽然,理论上讲绑定越多网卡在一起,最终效果提升就越明显,但是考虑到复杂程度,这里就以绑定双网卡为例进行说明,如果读者觉得好玩,兴致很高的话,按照下面方法愿意绑定多少就绑定多少个网卡,其实一般同一台服务器,绑定2-3块网卡也就够了,太多了,据说因为链路聚合的先天缺点,会过多占用服务器资源,反过来会影响服务器速度(关于这个我没实验,不过我觉得凡事都离不开物极必反的道理,适度最好)。 打开服务器机箱,把两块网卡拧在主板PCI插槽上!:》 硬件的安装很简单,我也不在这里说了。省的大家骂我:》 第二部分:设置调试 下面要进行设置及调试了,也就是要将这两块8139D廉价网卡,如同高档服务器网卡那样绑

LINUX下双网卡绑定技术实现负载均衡和失效保护

保持服务器的高可用性是企业级 IT 环境的重要因素。其中最重要的一点是服务器网络连接的高可用性。网卡(NIC)绑定技术有助于保证高可用性特性并提供其它优势以提高网络性能。 我们在这介绍的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驱动程序处理。 说了半天理论,其实配置很简单,一共四个步骤: 实验的操作系统是Redhat Linux Enterprise 3.0 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片 双网卡邦定的拓朴图(见下图) 1. 1.编辑虚拟网络接口配置文件,指定网卡IP 2.vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 3.[root@rhas-13 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 4. 2 #vi ifcfg-bond0 5.将第一行改成 DEVICE=bond0 6.# cat ifcfg-bond0 7.DEVICE=bond0 8.BOOTPROTO=static 9.IPADDR=172.31.0.13 https://www.360docs.net/doc/759661534.html,MASK=255.255.252.0 11.BROADCAST=172.31.3.254 12.ONBOOT=yes 13.TYPE=Ethernet 14.这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。 15.[root@rhas-13 network-scripts]# cat ifcfg-eth0 16.DEVICE=eth0 17.ONBOOT=yes 18.BOOTPROTO=dhcp 19.[root@rhas-13 network-scripts]# cat ifcfg-eth1 20.DEVICE=eth0 21.ONBOOT=yes 22.BOOTPROTO=dhcp 复制代码 3 # vi /etc/modules.conf “自己实验结果:centos文件为:/etc/modprobe.conf“ 1.编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0 2.

详解双网卡绑定

Linux下的双网卡绑定bond0 em1 em2 一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向 1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译 modprobe -l bond* 或者modinfo bonding modprobe bonding lsmod | grep 'bonding' echo 'modprobe bonding &> /dev/null' >> /etc/rc.local(开机自动加载bonding模块到内核) which ifenslave 注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核 (1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX

linux网卡绑定(多组)和解绑实现步骤

linux网卡绑定(多组)和解绑实现步骤 2013年5月20日 15:14 绑定 1.修改配置文件: a.在/etc/modprobe.conf中加入一行:alias bondN bonding,其中bondN 是绑定后公用网口的名称,依实际情况而定,一般第一个绑定用bond0,第二 个用bond1… ,如果已经有,不用添加,使用后也不用删除该行 b.在所有待绑定网口的配置文件(/etc/sysconfig/network-scripts/)中加入 以下两行: 其中: ifcfg-ehtN中的N是待绑定的网口号,如eth0,eth1… bondN是绑 定后的共用网口名称,可以是bond1,bond2…但是要与ifcfg-ethN和 /etc/modprobe.conf这两个配置文件中的配置项对应起来。 c.添加绑定网口bondN的配置文件,在与ifcfg-ehtN平级的目录下添加 ifcfg-bondN文件,键入以下内容: 2.安装bonding内核模块:modprobe bondN 3.重启网卡service network restart 解绑 1.卸载bonding内核模块:modprobe -r bondN 2.删除ifcfg-bondN配置文件,删除ifcfg-ehtN配置文件中绑定时添加的两行。 3.重启网卡service network restart 注意 1.多组绑定需要将ifcfg-ethN文件中指定不同代理绑定网口,即bond0,1, 2..。 2.ifcfg-bondN中将设备名、IP做响应修改。 3./etc/modprobe.conf文件中添加alias bondN bonding。每隔bond端口用一行。 4.以上均为centos 5.5中的配置,如果在 6.0中,没有/etc/modprobe.conf,需要在 /etc/modprobe.d目录中添加文件bonding.conf,将alias bondN bonding写入该 文件中。 5.如果需要负载均衡,在alias bondN bonding行下写options bondN miimon=100 mode=0 问题 1.bond0在解绑之后虽然用ifconfig看不到了,使用ifconfig bond0 up也不能启用, 但是在X中network配置窗口中任然有bond0这一项。不过这个不影响使用,再下 次绑定时仍按照以上步骤操作即可。

Linux下配置双网卡聚合

一、背景 CentOS6.6 Ethernet: em1 em2 em3 em4 bond0 192.168.51.134/24 bond1 192.168.52.135、24 GW 192.168.51.1 GW 192.168.52.1 VLAN 51 52 前提:查看8021q模块有没有挂载,如果没有的话就进行手动挂载 # lsmsg |grep 8021q # modprobe 8021q 二、配置: 1.配置em1、em2配置文件并将这两块网卡绑定为bond0 # cd /etc/sysconfig/network-scripts/ # vim ifcfg-em1 DEVICE=em1 TYPE=Ethernet UUID=bcf7fa28-5807-4126-a7e6-d16bb5ddd32b ONBOOT=yes BOOTPROTO=none #HWADDR=18:66:DA:4C:FC:E6 DEFROUTE=yes #IPV4_FAILURE_FATAL=yes #IPV6INIT=no MASTER=bond0 SLAVE=yes USERCTL=yes PS:这里HWA DDR、UUID一行可以注释掉,因为后面重启network服务的时候可能会提示MA C地址重复,当然如果不提示最好 2.配置em2、em3、em4如上配置参数,其中em3、em4的MASTER=bond1 3.复制或创建ifcfg-bond0、ifcfg-bond1,并修改文件内容如下 # cp ifcfg-em1 ifcfg-bond0 # vim ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes TYPE=Ethernet BONDING_OPTS="mode=2 miimon=100" VLAN=yes

网络双冗余快速切换的方法与制作流程

本技术涉及一种网络双冗余快速切换的方法,涉及网络通信技术领域。该方法只在驱动层就可实现网卡切换的动作,不需要更高层的模块协助处理,因此该方法只需要更改网卡的驱动

即可实现,而对TCP/IP层的网络协议不做任何的变动,从而可以大大提高网络切换的速度,减少网路切换的时间开销,具体地,切换速度最大可达2倍的任务周期时间,切换时间稳定可调。该方法在Windows、VxWorks、Linux操作系统中均已实现,满足性能要求。 权利要求书 1.一种网络双冗余快速切换的方法,其特征在于,包括以下步骤: 步骤S1,系统进行初始化阶段,获取各网卡的硬件资源,并对各网卡做硬件初始化; 步骤S2,将第一块网卡注册至系统中; 步骤S3,将第一块网卡的注册数据记录到冗余组中的第一个位置; 步骤S4,将工作网卡设定为第一块网卡; 步骤S5,将第二块网卡注册到系统中; 步骤S6,将第二块网卡的IP地址、MAC地址设置为与第一块网卡一致; 步骤S7,将第二块网卡加到冗余组中; 步骤S8,启动网络监视任务,在此任务中实现网卡连接状态的监视和网卡的切换。 2.如权利要求1所述的方法,其特征在于,步骤S8中在驱动层实现网卡的切换。 3.如权利要求2所述的方法,其特征在于,步骤S8中实现网卡的切换时,在发送时,网络层向驱动层通知从哪个设备指针发送数据,驱动层接到发送命令时,抛弃网络层传递的设备指

针,而使用当前工作网卡的设备指针作为物理设备完成数据发送,并返回发送状态;在接收时,网络层向驱动层通知从哪个设备指针接收数据,驱动层接到接收命令时,抛弃网络层传递的设备指针,而使用当前工作网卡的设备指针作为物理设备完成数据接收,并返回发送状态。 4.如权利要求3所述的方法,其特征在于,步骤S8中实现网卡的切换时,在层间的通讯通过返回状态来确认,只要实现网络层接口调用返回值的正确即可实现伪装欺骗。 5.如权利要求4所述的方法,其特征在于,步骤S8中采用定期判断物理状态变化寄存器中 网卡的连接状态,实现网卡的切换。 6.如权利要求5所述的方法,其特征在于,步骤S8具体包括以下步骤: 步骤S801,从当前冗余组中各个网卡的物理状态寄存器中读取各个网卡的连接状态,判断当前网卡状态是从断开Down到连接Up,还是从连接Up到断开Down,若是前者,则执行步骤S802,否则执行步骤S806; 步骤S802,当前网卡状态是从断开Down到连接Up,此时检查当前网卡是否为工作网卡,若是,则工作网卡转到步骤S805;否则执行步骤S803; 步骤S803,当前网卡不是工作网卡,此时检查工作网卡是否断线,若工作网卡连线,则不需要进行切换,转到步骤S810,否则执行步骤S804; 步骤S804,工作网卡断线,则将工作网卡切换到当前网卡,通知交换机连接状态发生变化,转到步骤S810; 步骤S805,此时网卡状态从Down到Up,且当前网卡是工作网卡,即前次网络断开两个 网卡都是断线,通知网络层网卡连线,转到步骤S810; 步骤S806,当前网卡连接状态从连接Up到断开Down,判断当前网卡是否为工作网卡;若不是则检查下一个网卡的工作状态,否则执行步骤S807;

常用操作系统双网卡绑定方法

常用操作系统双网卡绑定方法 目录 一、RHEL 5.7 LINUX 下网卡绑定设置 (1) 二、RHEL6 LINUX 下网卡绑定设置 (3) 三、SUSE 10 下网卡绑定设置 (11) 四、SUSE 11 下网卡绑定设置 (16) 五、Windows 下网卡绑定设置 (22) 一、RHEL 5.7 LINUX 下网卡绑定设置 [root@Linux5 ~]# more /etc/sysconfig/network-scripts/ifcfg-bond0 # Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=10.96.19.207 NETMASK=255.255.255.0 GATEWAY=10.96.19.1 TYPE=Ethernet [root@Linux5 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet DEVICE=eth0 BOOTPROTO=none HWADDR=34:40:B5:BD:24:18 ONBOOT=yes MASTER=bond0 SLAVE=yes TYPE=Ethernet [root@Linux5 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth1 # Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet DEVICE=eth1 BOOTPROTO=none HWADDR=34:40:B5:BD:24:1A ONBOOT=yes MASTER=bond0

SUSE Linux双网卡绑定设置详解

suse linux双网卡绑定设置详解 双网卡的绑定可以实现冗余和高可用性,在suse linux 10中和redhat linux 5中设置双网卡绑定是不太一样的,下面详解一下suse linux 下的双网卡绑定: 步骤1:进入到网络配置目录 # cd /etc/sysconfig/network 步骤2:创建ifcfg-bond0配置文件 Vi ifcfg-bond0 输入如下内容保存 BOOTPROTO='static' BROADCAST='' IPADDR='172.27.120.21 #要绑定的ip地址 NETMASK='255.255.255.0 '#网段的掩码 NETWORK='' STARTMODE='onboot' BONDING_MASTER='yes' BONDING_MODULE_OPTS='mode=1 miimon=100 ' # mode=1是主备模式(active-backup) mode=0是平衡模式(balance_rr) BONDING_SLAVE0='eth0' #第一块网卡的mac地址 BONDING_SLAVE1='eth1' #第二块网卡的mac地址 ETHTOOL_OPTIONS='' MTU='' NAME='' REMOTE_IPADDR='' USERCONTROL='no' 步骤3:使用yast进入网卡的配置界面,把原有的两块网卡设置为没有ip,网卡模式改为自动获取地址模式,删除/etc/sysconfig/network下的已经绑定的网卡的配置文件 步骤4:注意默认网关的配置,使用yast管理工具进入路由设置界面,或者通过修改配置文件的方式并运行命令进行配置 配置默认网关。 # vi routes 插入如下内容 default 172.27.120.254 - - # route add default gw 172.27.120.254 步骤5:重启网络服务,使配置生效 # rcnetwork restart 步骤6:验证 (1) 输入ifconfig可以看到bond0已经运行了,bond0、eth1、eth0的MAC地址都是一样 JSBC-SIHUA-DB02:/etc/sysconfig/network # ifconfig bond0 Link encap:Ethernet HWaddr 78:2B:CB:4B:54:D5

linux双网卡NAT共享上网

linux双网卡NAT共享上网 作者:佚名来源:转载发布时间:2013-4-22 20:30:00 linux双网卡NAT共享上网 一、网络拓补结构: 服务器:两网卡的设置: eth0:202.96.168.100 掩码:255.255.255.0 网关:202.96.168.68 #与 https://www.360docs.net/doc/759661534.html, 相联 eth1:192.168.1.1 掩码:255.255.255.0 #与局域网相联 客户机子网段:192.168.1.0/255 二、服务器设置:(这两种方法任选其一即可) 1用NAT方法 在服务器上执行下面几条命令: echo "1" > /proc/https://www.360docs.net/doc/759661534.html,/ipv4/ip_forward #打开IP转发,1表示转发;0表示不转发 上面这个命令也可以通过修改/etc/sysctl.conf实现,在文件中加上下面一行: net.ipv4.ip_forward = 1 其余命令是: iptables -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #打开NAT 2.2、用网桥方法: echo "1" > /proc/https://www.360docs.net/doc/759661534.html,/ipv4/ip_forward ifconfig eth0 0.0.0.0 up ifconfig eth1 0.0.0.0 up brctl addbr br0 #添加一个网桥 brctl addif br0 eth0 brctl addif br0 eth1 #将eth0 eth1加到网桥中去 ifconfig br0 https://www.360docs.net/doc/759661534.html,mask 255.255.255.0 broadcast 192.168.1.255 up #给网桥分配IP地址,如果不做NAT,也不需要远程访问网桥的话,可以不设IP地址,但必须启用网桥(ifconfig br0 up) route add default gw 202.96.168.68 #如果网桥不需要访问其他机器的话,可以不添加网关。 三、客户机设置: eth0:192.168.1.10 掩码:255.255.255.0 网关:192.168.1.1

相关文档
最新文档