linux单 网卡添加多个网段的ip,[转载]linux 单网卡来绑定多IP实现多网段访问以及多网卡绑定单IP实现附载均...

今天有遇到实现linux下访问多网段问题,以前只是有注意资料修改linux路由的的方法,在使用2003系统时倒是有经常单网卡访问多网段。前提是先绑定每个网段的一个IP

那同理如果我们需要实现linux下单网卡访问多网段,我们就必须先在单网卡上绑定多个IP了,看以下实现:

我这里以自己使用的Redhat Enterprise Linux为例说明。

假设需要绑定多IP的网卡是eth0,我们先看看原网卡的配置信息和系统路由:

[root@test network-scripts]# more ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

BROADCAST=172.16.1.255

HWADDR=00:0C:29:A2:0C:32

IPADDR=172.16.1.55

NETMASK=255.255.255.0

NETWORK=172.16.1.0

ONBOOT=yes

TYPE=Ethernet

[root@test network-scripts]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric

Ref Use

Iface

172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0

0.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:1

[root@test network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1

并修改内容如下

[root@test network-scripts]# more ifcfg-eth0:1

DEVICE=eth0:1 BOOTPROTO=static

BROADCAST=192.168.140.255

HWADDR=00:0C:29:A2:0C:32

IPADDR=192.168.140.242

NETMASK=255.255.255.0

NETWORK=192.168.140.0

ONBOOT=yes

TYPE=Ethernet

其中的DEVICE为设备的名称,如果复制过来后设备名没有修改,该网卡上将会被绑定eth0:1这个文件中的IP。

IPADDR为此设备的IP地址,BROADCAST是广播地址,NETMASK为子网掩码,ONBOOT

表示在系统启动时自动启动,如果IP地址相同,该网卡会被自动down掉的,即ONBOOT=no

[root@test network-scripts]# service network

restart //配置完成后重新启动网络服务就可以了连接到新的网段了。

[root@test network-scripts]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric

Ref Use

Iface

172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

192.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 eth0

0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0

[root@test 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以外的网段。我们这里添加一条路由

[root@test network-scripts]# route add -net 192.168.0.0/16 gw

192.168.140.1

[root@test network-scripts]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric

Ref Use

Iface

172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

192.168.140.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0

192.168.0.0 192.168.140.1 255.255.0.0 UG 0 0 0 eth0

0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0

[root@test 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 ms

route 命令参数如果记不牢固,可以通过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

ifenslave bond0 eth0

ifenslave bond0 eth1

现在两块网卡已经象一块一样工作了,这样可以提高集群节点间的数据传输。

你最好把这几句写成一个脚本,再由/etc/rc.d/rc.local,以便一开机就生效。

bonding对于服务器来是个比较好的选择,在没有千兆网卡时,用两三块100兆网卡作

bonding,可大大提高服务器到交换机之间的带宽。但是需要在交换机上设置连接bonding

网卡的两个口子映射为同一个虚拟接口。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux系统中,可以通过以下步骤配置网卡多个IP地址: 1. 打开终端,使用root用户登录系统。 2. 编辑网络配置文件/etc/network/interfaces,添加以下内容: auto eth: iface eth: inet static address 192.168.1.100 netmask 255.255.255. auto eth:1 iface eth:1 inet static address 192.168.1.101 netmask 255.255.255. 3. 保存文件并退出编辑器。 4. 重启网络服务,使配置生效: sudo service networking restart 5. 使用ifconfig命令查看网卡IP地址是否已经生效: ifconfig 以上就是在Linux系统中配置网卡多个IP地址的方法。 ### 回答2: 在Linux操作系统中,可以使用个网络接口卡(NIC)配置多个IP地址。这通常是因为需要在同一物理接口上托管多个网络服务或应用程序而需求而来。 要在Linux上配置网卡使用多个IP地址,可以通过以下步骤: 1. 打开终端窗口并以root用户身份登录系统。 2. 使用ifconfig命令检查当前的网络接口卡情况。输入以下命令: ``` ifconfig ``` 3. 使用以下命令为指定的网卡添加IP地址: ``` ifconfig eth0:0 <ip_address> netmask <netmask> ``` 其中,“eth0”应替换为要配置的NIC名称,“ip_address”是要添加IP地址,“netmask”是IP地址的子网掩码值。 例如,如果要在名为eth0的NIC上配置两个IP地址,则可以使用以下命令: ``` ifconfig eth0:0 192.168.0.100 netmask 255.255.255.0 ifconfig eth0:1 192.168.0.101 netmask 255.255.255.0 ``` 这将为NIC eth0添加两个IP地址:192.168.0.100和192.168.0.101。 4. 配置完成后,使用以下命令测试新的IP地址是否可用: ``` ping <ip_address> ``` 如果ping命令成功,说明新的IP地址已成功配置。 5. 如果要永久保存新的IP地址配置,可以在/etc/network/interfaces文件中添加以下行: ``` iface eth0:0 inet static address 192.168.0.100 netmask 255.255.255.0 ``` 同样,如果要为同一网卡配置多个IP地址,则可以使用不同的标识符(例如“eth0:1”、“eth0:2”等)和相应的IP地址和子网掩码值。这样,就可以方便地托管多个应用程序和服务,而无需使用额外的物理网卡。 ### 回答3: 在Linux系统中,如果只有一张网卡需要配置多个IP地址,可以通过以下步骤实现: 1. 打开网络配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。 2. 复制该文件并更改文件名,以创建新的配置文件。例如,如果要添加第二个IP地址,可以将文件名更改为ifcfg-eth0:1。 3. 修改新配置文件中的IP地址、子网掩码、网关、DNS等网络配置信息,并确保这些信息与第一个配置文件相同。 4. 在新配置文件中添加一个新的IPADDR2变量,它将新的IP地址指定为其值。 5. 以root权限运行以下命令使更改生效: ifdown eth0 && ifup eth0 现在,您的系统将同时使用两个IP地址。您可以通过ping命令测试每个IP地址是否能够正常工作。 此外,您还可以使用ip命令来配置多个IP地址。例如,以下命令将在eth0接口上添加一个新的IP地址: ip addr add 192.168.1.10/24 dev eth0 但是,这种配置方式一般需要手动设置路由表等更多细节,相对而言比较复杂。因此,我们建议使用配置文件的方式来实现网卡配置多个IP地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值