linux绑定多个ip(转载)

本文详细介绍如何在Redhat系列(Linux发行版)和其他Linux系统中配置单个网卡绑定多个IP地址的方法,并介绍了实现多网卡共用单IP的技术(bonding)。
在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。

1、单网卡绑定多IP在Redhat系列中的实现方法

假设需要绑定多IP的网卡是eth0,请在/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下是/etc/conf.d/local.start,而某些版本的Linux是/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 网卡的两个口子映射为同一个虚拟接口。


近日在进行Aapche的虚拟站点设置时,因为想使用单网卡上绑定多个IP,通过研究发现,SUSUE 10与RED HAT有所不同,在SUSE10中并没有/etc/sysconfig/network-scripts目录,所以只能另辟方法.

SUSE 10中设定单网卡绑定多个IP需要在配置文件/etc/sysconfig/network/ifcfg-eth-id-xx.xx.xx.xx.xx的配置文件中添加如下几行:

IPADDR_1='192.168.2.151'
NETMASK_1='255.255.255.0'
LABEL_1='1'
IPADDR_2='192.168.2.152'
NETMASK_2='255.255.255.0'
LABEL_2='2'
IPADDR_3='192.168.2.153'
NETMASK_3='255.255.255.0'
LABEL_3='3'
注意:

IPADDR_X 指定所需要的IP地址

NETMASK_X 指定对应IP地址的子网掩码

LABEL_X 指定该网卡的别名,如此处的数字1、2、3,对应通过ifconfig命令查看到的名称为:eth0:1、eth0:2、eth0:3

通过以上的设置,我们就在单网卡上绑定了四个IP地址
### 配置和绑定多个IP地址 在Linux系统中,可以通过多种方法为单个网络接口配置多个IP地址。一种常见的方式是在命令行下使用`ip`命令或者传统的`ifconfig`命令来临时添加额外的IP地址[^1]。 对于持久性的设置,则通常通过编辑网卡对应的网络配置文件实现。针对Red Hat系发行版(如CentOS, RHEL),这些配置文件一般位于`/etc/sysconfig/network-scripts/`目录下;而对于Debian及其衍生版本(如Ubuntu),则可以在`/etc/network/interfaces`找到相应的配置项[^2]。 #### 使用命令行工具临时添加多播地址 为了立即生效而不重启服务或机器,可以采用如下方式: ```bash sudo ip addr add 192.168.1.100/24 dev eth0 ``` 这条指令会在名为`eth0`的设备上附加一个新的IPv4地址`192.168.1.100`,子网掩码长度为24位。同样地,也可以利用`ifconfig`达到相同效果: ```bash sudo ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up ``` 这里需要注意的是,在某些较新的Linux发行版中,`ifconfig`已经被弃用并推荐使用`ip`命令替代。 #### 修改网络配置文件以永久保存更改 为了让上述改动能够持续存在而不需要每次启动都手动执行命令,应当更新系统的网络配置文件。具体操作取决于所使用的Linux发行版家族。 ##### 对于基于Red Hat的系统 创建或编辑类似于下面这样的文件路径下的文件:`/etc/sysconfig/network-scripts/ifcfg-eth0:X` (X代表任何介于0到254之间的整数)[^2] ```plaintext DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes TYPE=Ethernet USERCTL=no IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ``` 请注意,除了指定新分配给虚拟接口(`eth0:0`)的具体参数外,还需要确保该文件内的其他选项与主物理接口保持一致,比如相同的网关等重要信息。 ##### 对于基于Debian的系统 编辑`/etc/network/interfaces`文件并向其追加类似以下的内容: ```plaintext auto eth0:0 iface eth0:0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 ``` 完成以上任一过程之后,记得应用变更使它们即时生效——这可能涉及到重新加载网络管理器或是简单地重启计算机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值