引:在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。 在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。 1、单网卡绑定多IP在Redhat系列中的实现方法 假设需要绑定多IP的网卡是eth0,请在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件, 内容样例为:
IPADDR为此设备的IP地址, BROADCAST是广播地址, NETMASK为子网掩码, ONBOOT 表示在系统启动时自动启动。 如果需要再绑定多一个IP地址, 只需要把文件名和文件内的DEVICE中的eth0:x加一即可。 LINUX最多可以支持255个IP别名 2、普遍适用的单网卡绑定多IP实现方法
3、多网卡共用单IP的实现方法 使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术其实在sun和cisco中已经存在,分别称为 Trunking和 etherchannel技术,在linux中,这种技术称为bonding。因为bonding在内核2.4.x中已经包含了,只需要在编译的时候把网 络设备选项中的 Bonding driver support选中就可以了。 然后,重新编译核心,重新起动计算机,执行如下命令:
你最好把这几句写成一个脚本,再由/etc/rc.d/rc.local或者/etc/conf.d/local.start调用,以便一开机就生效。 bonding对于服务器来是个比较好的选择,在没有千兆网卡时,用两三块100兆网卡作 bonding,可大大提高服务器到交换机之间的带宽。但是需要在交换机上设置连接bonding 网卡的两个口子映射为同一个虚拟接口。 ----- 设置linux的vlan脚本 2007-11-19 10:30
透過 VLan 的功能能將一個實體的 switch 將他切割成多個 logical broadcast domain (所有的廣播封包 broadcast package 只會在此 doamin 中傳送).他的做法也很簡單就是在原先的訊框 (Frame) 指定 tag 而這 tag 的數字即是 VLAN ID. VLAN 已經被 IEEE 列為標准協定的一員 802.1q一開始沒設定任何 VLAN 的 switch 其所有的網路埠的 VLAN ID 皆為 1. 步驟一 目前 RedHat 是將 VLAN 編譯成模組的方式來支援,所以先看看你的 Linux 是否已經掛載了 802.1q(VALN) 的模組.
開始設定 VLAN ID .我們透過指令 #vconfig add [interface-name] [vlan_id] 這邊要注意的一點是要設定網路裝置 [interface-name] 必須是 active 的,可以透過 #ifconfig 查詢到的.[vlan_id] 可以為 0-4095.
不過這並不符合我當初的構想是將 Linux 下多個網路埠把他當成可以使用 VLAN 的 switch. 參考文件 http://linux.vbird.org/somepaper/20060622-linux_vlan.pdf 不過這樣的應用我不是很懂為什麼要將一個網路埠切割成多個並將子埠指派不同的 VLAN ID.上網查了一下似乎有一種應用叫做單臂路由器 one-armed-router,是用來在多個虛擬網路中傳送封包.而一個單臂路由器上所連接網路埠都是再同一個實體網路埠上.看起來不是很懂還是有其 他的應用方式. 然后添加虚拟设备 vconfig add eth0 192 cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ifcfg-eth0.192 编辑ifcfg-eth0.192 将eth0改成eth0.192 编辑ETH0将关于ip的删除 开机启动802.1q 在/etc/sysconfig/network键入VLAN=yes 开机保留vlan配置:编辑/etc/rc.local 添加如下内容: modprobe 8021q vconfig add eth0 192 ifup eth0.192 (责任编辑:IT) |