Linux下单网卡绑定多IP与多网卡共用单IP.doc_第1页
Linux下单网卡绑定多IP与多网卡共用单IP.doc_第2页
Linux下单网卡绑定多IP与多网卡共用单IP.doc_第3页
Linux下单网卡绑定多IP与多网卡共用单IP.doc_第4页
Linux下单网卡绑定多IP与多网卡共用单IP.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。 1、单网卡绑定多IP在Redhat系列中的实现方法假设需要绑定多IP的网卡是eth0,ls请在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,内容样例为:DEVICE=”eth0:0 IPADDR=”192.168.0.2 BROADCAST=”172.168.0.255 NETMASK=”255.255.255.0 ONBOOT=”yes”其中的DEVICE为设备的名称,IPADDR为此设备的IP地址,BROADCAST是广播地址,NETMASK为子网掩码,ONBOOT 表示在系统启动时自动启动。如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:x加一即可。LINUX最多可以支持255个IP别名2、普遍适用的单网卡绑定多IP实现方法 #ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0 可以把上述命令加在启动自运行文件里面,在Gentoo下是#vi /etc/conf.d/local.start,而某些版本的Linux是#vi /etc/rc.d/rc.local。3、多网卡共用单IP的实现方法使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术其实在sun和cisco中已经存在,分别称为Trunking和 etherchannel技术,在linux中,这种技术称为bonding。因为bonding在内核2.4.x中已经包含了,只需要在编译的时候把网络设备选项中的 Bonding driver support选中就可以了。然后,重新编译核心,重新起动计算机,执行如下命令:ismod bonding ifconfig eth0 down ifconfig eth1 down ifconfig bond0 ipaddress ifenslave bond0 eth0 ifenslave bond0 eth1现在两块网卡已经象一块一样工作了,这样可以提高集群节点间的数据传输。你最好把这几句写成一个脚本,再由/etc/rc.d/rc.local或者/etc/conf.d/local.start调用,以便一开机就生效。bonding对于服务器来是个比较好的选择,在没有千兆网卡时,用两三块100兆网卡作 bonding,可大大提高服务器到交换机之间的带宽。但是需要在交换机上设置连接bonding 网卡的两个口子映射为同一个虚拟接口。今天有遇到实现linux下访问多网段问题,以前只是有注意资料修改linux路由的的方法,在使用2003系统时倒是有经常单网卡访问多网段。前提是先绑定每个网段的一个IP那同理如果我们需要实现linux下单网卡访问多网段,我们就必须先在单网卡上绑定多个IP了,看以下实现:我这里以自己使用的Redhat Enterprise Linux为例说明。假设需要绑定多IP的网卡是eth0,我们先看看原网卡的配置信息和系统路由:roottest network-scripts# more ifcfg-eth0 DEVICE=eth0BOOTPROTO=staticBROADCAST=172.16.1.255HWADDR=00:0C:29:A2:0C:32IPADDR=172.16.1.55NETMASK=255.255.255.0NETWORK=172.16.1.0ONBOOT=yesTYPE=Ethernetroottest network-scripts# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth00.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0请在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,内容和原来ifcfg-eth0内容类似,但是需要注意按照自己的目的修改,如下这是原网卡的配置信息:我们也可以简单地将原ifcfg-eth0复制一份并更名为ifcfg-eth0:1roottest network-scripts# cp ifcfg-eth0 ifcfg-eth0:1并修改内容如下roottest network-scripts# more ifcfg-eth0:1DEVICE=eth0:1 BOOTPROTO=staticBROADCAST=192.168.140.255HWADDR=00:0C:29:A2:0C:32IPADDR=192.168.140.242NETMASK=255.255.255.0NETWORK=192.168.140.0ONBOOT=yesTYPE=Ethernet其中的DEVICE为设备的名称,如果复制过来后设备名没有修改,该网卡上将会被绑定eth0:1这个文件中的IP。IPADDR为此设备的IP地址,BROADCAST是广播地址,NETMASK为子网掩码,ONBOOT 表示在系统启动时自动启动,如果IP地址相同,该网卡会被自动down掉的,即ONBOOT=noroottest network-scripts# service network restart/配置完成后重新启动网络服务就可以了连接到新的网段了。roottest network-scripts# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0192.168.140.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0/增加绑定IP后自动添加的路由169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth00.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0roottest network-scripts# ping 192.168.140.1 /并且可以对应网段正常通信了。PING 192.168.140.1 (192.168.140.1) 56(84) bytes of data.64 bytes from 192.168.140.1: icmp_seq=0 ttl=255 time=3.75 ms如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:x加一即可,LINUX最多可以支持255个IP别名.对以上内容的一点扩充:在这里我在用route命令添加静态路由,使该机器可以访问到其他网段:注意:我这里的环境是192.168.140.1为三层交换机上一个VLAN的IP,并且三层交换上启用了路由在手动增加静态路由之前,我们并没有办法访问到192.168.140.1以外的网段。我们这里添加一条路由roottest network-scripts# route add -net 192.168.0.0/16 gw 192.168.140.1roottest network-scripts# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0192.168.140.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0192.168.0.0 192.168.140.1 255.255.0.0 UG 0 0 0 eth00.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0roottest network-scripts# ping 192.168.200.1 /这里我们可以看到增加静态路由后立即就可以通过三层交换访问到其他网段了PING 192.168.200.1 (192.168.200.1) 56(84) bytes of data.64 bytes from 192.168.200.1: icmp_seq=0 ttl=63 time=3.77 msroute 命令参数如果记不牢固,可以通过route -help查看即可。对于linuix使用者来说,任何情况这是最直接也是最好的帮助了。当然我们希望不要每次重新启动计算机之后去手动添加路由,那我们可以把该命令写入到系统启动脚本/etc/rc.d/rc.local中普遍适用的单网卡绑定多IP实现方法ifconfig eth0:1 192.168.140.242 broadcast 192.168.140.255 netmask 255.255.255.0同样可以把上述命令加在启动脚本/etc/rc.d/rc.local中.多网卡共用单IP的实现方法使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术其实在cisco和sun中已经存在,分别称为Trunking和 etherchannel技术,在linux中,这种技术称为bonding.因为bonding在内核2.4.x中已经包含了,只需要在编译的时候把网络设备选项中的 Bonding driver support选中就可以了。然后,重新编译核心,重新起动计算机,执行如下命令: ismod bonding ifconfig eth0 down ifconfig eth1 down ifconfig bond0 ipaddress if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论