LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 962|回复: 0

安装完LFS6.1,如何将两网卡绑定到一个IP?(已解决)

[复制链接]
发表于 2006-1-8 15:49:24 | 显示全部楼层 |阅读模式
在网上搜索的资料都是在RadHat下的方法,不太一样,如在etc/sysconfig/下没有 network-scripts,ifenslave 和route 在哪个安装包中?
急!谢谢了
_____________________________________________________
已经解决,方法如下"

  
  BACKGROUND:
  
  Ethernet bonding allows you combine ethernet interfaces. You can have
  then setup in a few different modes.
  
          Round Robin - This mode provides load balancing and fault tolerance.
  
          Active Backup - This mode provides fault tolerance.
  
  I have tried to make this hint as easy as possible, but if you have any
  suggestions or comment, please email me        at the email address above.
  
  SOURCE:
  
  Everything you need is included in the linux source code.
  
  INSTALLATION:
  
  Kernel Settings
  
          In the 2.4 and 2.6 Kernel, you will need to add the following option
          to build your kernel.
  
          2.4
                  Network device support  --->
                          <M> Bonding driver support
                                      or
                          <*> Bonding driver support
  
          2.6
  
                  Device Drivers  --->
                          Networking support  --->
                                  <M>     Bonding driver support
                                                  or
                                  <*>     Bonding driver support
  
          At this point you can recompile your kernel.
  
  -----
  Bootscript Changes               
  
          After you are finished recompiling your kernel you will need to go to
          the Documentation/networking directory in your linux kernel source files.
  
          You will find a program called ifenslave.c. You will need to compile the
          program in the following manner.
  
          gcc -O -I/usr/src/linux/include ifenslave.c -o ifenslave
          cp ifenslave /sbin
          chmod 755 /sbin/ifenslave
  
  
          Now we will need to create a new ifup and ifdown that is compatible with
          bonding.
  
          cat > /etc/sysconfig/network-devices/ifup << "EOF"
          #!/bin/sh
  
          source /etc/sysconfig/rc
          source $rc_functions
          source $network_devices/ifconfig.$1
  
          if [ -f $network_devices/ifup-$1 ]
                  then
                          $network_devices/ifup-$1
                  else
                          if [ -z $IP ] && [ -z $SLAVE ]
                                  then
                                          echo "IP variable missing for ifconfig.$1, cannot continue"
                                          exit 1
                          fi
         
                          if [ -z $NETMASK ] && [ -z $SLAVE ]
                                  then
                                          echo -n "NETMASK variable missing for ifconfig.$1, "
                                          echo "using 255.255.255.0"
                                          NETMASK=255.255.255.0
                          fi
  
                          if [ -z $BROADCAST ] && [ -z $SLAVE ]
                                  then
                                          echo -n "BROADCAST variable missing for ifconfig.$1, "
                                          echo "using default address"
                          fi
  
                          if [ -z $SLAVE ]
                                  then
                                          echo "Bringing up the $1 interface..."
                                          ifconfig $1 $IP netmask $NETMASK broadcast $BROADCAST
                                          evaluate_retval
                                  else
                                          echo "Bringing up the $1 interface..."
                                          ifenslave $MASTER $1
                                          evaluate_retval
                          fi
          fi
          EOF
  
          cat > /etc/sysconfig/network-devices/ifdown << "EOF"
          #!/bin/sh
  
          source /etc/sysconfig/rc
          source $rc_functions
          source $network_devices/ifconfig.$1
  
          if [ -f $network_devices/ifdown-$1 ]
                  then
                          $network_devices/ifdown-$1
                  else
                          if [ -z $SLAVE ]
                                  then
                                          echo "Bringing down the $1 interface..."
                                          ifconfig $1 down
                                          evaluate_retval
                          fi
          fi
          EOF
  
          Now we need to recreate our ifconfig.(interface files). You do not need to
          change your existing ones if the adapter is not going to be bonding partner.
  
          For interfaces that are not bonding members
  
          cat > /etc/sysconfig/network-devices/ifconfig.{interface_that_is_not_bonded} << "EOF"
          ONBOOT=yes
          IP={ip_address}
          NETMASK={subnet_mask}
          BROADCAST={broadcast_address}
          EOF
  
          The bonding interface is the interface name of now teamed ethernet interfaces.
          For the bonding interface. This will either be bond0
          cat > /etc/sysconfig/network-devices/ifconfig.bond0 << "EOF"
          ONBOOT=yes
          IP={ip_address}
          NETMASK={subnet_mask}
          BROADCAST={broadcast_address}
          EOF
         
          For interfaces that are bonding members
  
          cat > /etc/sysconfig/network-devices/ifconfig.{interface_that_is_bonded} << "EOF"
          ONBOOT=yes
          MASTER=bond0
          SLAVE=yes
          EOF
         
          ******Explanation what we actually need to do.*******
  
          Ok this is the mosting confusing part. So I am going to give examples of the above
          files.
  
          eth0 is the wan interface.
          eth1 and eth2 are the lan interfaces for network 192.168.0.0
  
          ifconfig.eth0 would look like this
         
          ONBOOT=yes
          IP=64.30.195.78
          NETMASK=255.255.255.0
          BROADCAST=64.30.195.255
         
          ifconfig.bond0 would look like this
  
          ONBOOT=yes
          IP=192.168.0.1
          NETMASK=255.255.255.0
          BROADCAST=192.168.0.255
  
          ifconfig.eth1 and ifconfig.eth2 would look like this
  
          ONBOOT=yes
          MASTER=bond0
          SLAVE=yes
         
          Now when we boot, bond0 will be the team of eth1 and eth2.
  
  -----       
  Bootup Options
  
          You will need to add the following to your modprobe.conf for 2.6 or your
          modules.conf for 2.4
  
          alias bond0 bonding
          options bond0 miimon=100
  
  -----
  Did it work
  
          Now after you have rebooted, you can check to see if your bonding is working ok.
  
          You can run "ifconfig bond0", if you see data your probably fine. Make sure
          the IP addresses information is correct.
  
          Here is my output as a reference
  
          bond0     Link encap:Ethernet  HWaddr 00:001:1F:20:49
                    inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
                    UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
                    RX packets:36491 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:37519 errors:57 dropped:0 overruns:5 carrier:52
                    collisions:1 txqueuelen:0
                    RX bytes:3295515 (3.1 Mb)  TX bytes:13366345 (12.7 Mb)
  
          You can also use cat /proc/net/bonding/bond0.
  
          Here is my output as a reference
  
          Ethernet Channel Bonding Driver: v2.6.0 (January 14, 2004)
  
          Bonding Mode: load balancing (round-robin)
          MII Status: up
          MII Polling Interval (ms): 100
          Up Delay (ms): 0
          Down Delay (ms): 0
  
          Slave Interface: eth1
          MII Status: up
          Link Failure Count: 0
          Permanent HW addr: 00:00:d1:1f:20:49
  
          Slave Interface: eth2
          MII Status: up
          Link Failure Count: 0
          Permanent HW addr: 00:00:d1:1f:20:4a
  
          Slave Interface: eth3
          MII Status: up
          Link Failure Count: 0
          Permanent HW addr: 00:00:d1:1f:20:4b
  
  -----
  Want more the one ethernet Team
  
          By default the bonding driver only allows one bonded group. If you want more teamed
          interfaces you can use the following commands.
  
          Change modprobe.conf or modules.conf
         
          change        
                  options bond0 miimon=100
          to
                  options bond0 miimon=100 max_bonds={#_of_teams}
  
          example
                  options bond0 miimon=100 max_bonds=3
  
                  would create bond0 bond1 bond2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表