linux多网卡添加arp

linux多网卡添加arp,第1张

.首先给虚拟机设置2块网卡:

2、关闭系统中的NetworkManager:

3、编辑文件/etc/modprobe.d/dist.conf添加alias bond0 bonding:

4、修改/etc/sysconfig/network-scripts中的ifcfg-eth0 ifcfg-eth1并创建bond0:

miimon是指多久时间要检查网路一次,单位是ms(毫秒)

mode=0:平衡负载模式,两块网卡都在工作,负载均衡。

mode=1:自动主备模式,其中一块网卡在工作(若eth0断掉)

则自动切换到另一个块网卡(eth1做备份)实验结果:

1、重启网络.service network restart,或者计算机。

2、用另外一台虚拟机ping网卡绑定后的主机。

3、任意ipdown任意网卡,网络通讯均不受影响。

对于网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。 对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。

如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡. 网卡

*** 作步骤: 1.首先给虚拟机设置2块网卡:

添加网卡

2、关闭系统中的NetworkManager:

关闭NetWorkManager服务

3、编辑文件/etc/modprobe.d/dist.conf添加alias bond0 bonding: 编辑网卡绑定配置文件

4、修改/etc/sysconfig/network-scripts中的ifcfg-eth0 ifcfg-eth1并创建bond0: 创建bond0

miimon是指多久时间要检查网路一次,单位是ms(毫秒) mode=0:平衡负载模式,两块网卡都在工作,负载均衡。 mode=1:自动主备模式,其中一块网卡在工作(若eth0断掉)

则自动切换到另一个块网卡(eth1做备份)实验结果:

1、重启网络.service network restart,或者计算机。

2、用另外一台虚拟机ping网卡绑定后的主机。

3、任意ipdown任意网卡,网络通讯均不受影响。使用bind绑定多个网卡

由于服务器上对于可用性的要求都比较高,对于各项功能都会有有冗余设计,比如,磁盘、电源、网卡、甚至服务器本身等等,今天尝试做一下网卡绑定实现网卡的冗余。

网卡绑定的实现表面上看起来有些像是硬盘实现逻辑卷,都是通过创建一个逻辑设备来实现的。实现网卡的绑定其实还挺简单的,相比逻辑卷更容易理解。

首先,我们在/etc/sysconfig/network-scripts/目录下创建一个文件,文件名通常会叫ifcfg-bondxx,除了ifcfg-后面的内容其实都是可以自己定义的,但通常都会写成bind之类的,文件的内容其实和普通网卡配置文件的内容是一样的,就像这样第一行的DEVICE是你给这个逻辑设备指定的名字,这个名字得和文件名的后半部分一样。

第二行是指定IP的获取方式,你也可以写dhcp让他自动获取,如果是自动获取,那么IPADDR、GATEWAY和PREFIX都不需要再填

最后一行是比较重要的,必须得填,这个是绑定网卡的选项,mode代表绑定网卡的工作模式,miimon是一个时间间隔,代表备份网卡每隔多久查询一次工作网卡的工作情况。单位是ms

以上只是第一步,逻辑网卡已经创建好了,下面就要指定那些网卡属于这个逻辑网卡了。也很简单,只要把你想加入这个逻辑网卡的物理网卡的配置文件稍微修改一下就可以了。就像这样

如果一个linux服务器有三个口接三个不同的网络,对应的网络信息是如下

传统情况下,如果是为了从内向外访问获得更好的速度,让访问电信走电信,访问网通走网通,那么配置是网关只能够配置一个。

比如以电信为主的,那么网关就只设置电信的1.1.1.254,而针对网通和教育网设置不同的路由,路由下一跳指向网通和教育网对应的 网关。

如果这样做的目的只是实现内部访问外面,那么是没问题了,但是如果是为了让外面的用户能够正常访问到服务器上的服务就会出问题。比如电信用户会无法访问网通和教育网的ip,网通用户会无法访问电信和教育网的ip。而且只有设置了默认路由的那个网络能被跨网络访问,其它两个网络只能被本子网的设备访问。

要解决这个问题,思路就是由哪个网口进来的流量希望全部就由哪个回去。用lartc里面提到的方法就是来源的口不同,走不同的路由表。在默认的路由表基础上再建立三个路由表。

用 ip route show 可以看到默认有local,main,default三个路由表,这三个路由表的名称命名来自 /etc/iproute2/rt_tables ,这里先在这个配置文件里面添加三个不同的路由表表名,

之后建立这三个路由表的内容,因为这三个路由表的只是用来响应来自不同接口的,而不是用来相应从哪个接口出去的,所以只需要每个路由表里面建立默认网关即可。

之后再加上三条规则,使来自不同的口的走不同的路由表

至此无论是电信还是网通还是教育网用户,访问三个ip的任意一个地址都能够连通了。即便是服务器上本身的默认路由都没有设置,也能够让外面的用户正常访问。三个网络的IP都能被跨网络访问了。

命令汇总:

系统版本

[root@ ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

[root@ ~]# uname -r

2.6.32-642.6.1.el6.x86_64

网卡说明

eth0   192.168.1.8(服务器外网卡)

eth1   服务器网卡(内网)

eth2   服务器网卡(内网)

[root@ ~]# /etc/init.d/iptables stop

[root@ ~]#  chkconfig iptables off

关闭selinux

[root@ ~]#setenforce 0

[root@ ~]#sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

禁用NetworkManager

[root@ ~]# /etc/init.d/NetworkManager stop

Stopping NetworkManager daemon:           [  OK  ]

[root@ ~]# chkconfig NetworkManager off

[root@ ~]# /etc/init.d/network restart

双网卡绑定配置过程

[root@ ~]# cd /etc/sysconfig/network-scripts/

编辑eth1网卡

[root@ network-scripts]# cat >ifcfg-eth1 <>DEVICE=eth1

>ONBOOT=yes

>BOOTPROTO=none

>USERCTL=no

>MASTER=bind0

>EOF

编辑eth2网卡

[root@ network-scripts]# cat >ifcfg-eth2

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bind0

EOF

编辑bind0网卡

[root@ network-scripts]# cat >ifcfg-bind0 <>DEVICE=bind0

>TYPE=Ethernet

>ONBOOT=yes

>BOOTPROTO=none

>IPADDR=10.0.0.8

>NETMASK=255.255.255.0

>GATEWAY=10.0.0.254

>IPV6INIT=no

>USERCTL=no

>EOF

配置bond参数

[root@ network-scripts]# cat >/etc/modprobe.conf <>alias bind0 bonding

>options bind0 miimon=100 mode=6

>EOF

加入开机自启动(/etc/rc.local)

[root@ network-scripts]# cat >>/etc/rc.local <>ifenslave bind0 eth1 eth2

>EOF

重启网络服务

[root@LVS-2 network-scripts]# service network restart

Shutting down interface eth0:                              [  OK  ]

Shutting down interface eth1:                              [  OK  ]

Shutting down interface eth2:                              [  OK  ]

Shutting down loopback interface:                       [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface bind0:  WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.

WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.

Determining if ip address 10.0.0.8 is already in use for device bind0..[  OK  ]

Bringing up interface eth0:  Determining if ip address 192.168.1.8 is already in use for device eth0...                                                     [  OK  ]

Bringing up interface eth1:  RTNETLINK answers: File exists         [  OK  ]

Bringing up interface eth2:  RTNETLINK answers: File exists          [  OK  ]

配置使绑定立即生效

[root@LVS-2 network-scripts]# ifenslave bind0 eth1 eth2

测试联通

[root@LVS-2 network-scripts]# ping 10.0.0.8

PING 10.0.0.8 (10.0.0.8) 56(84) bytes of data.

64 bytes from 10.0.0.8: icmp_seq=1 ttl=64 time=0.089 ms

64 bytes from 10.0.0.8: icmp_seq=2 ttl=64 time=0.046 ms

^C

--- 10.0.0.8 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1921ms

rtt min/avg/max/mdev = 0.046/0.067/0.089/0.023 ms

此时会发现系统多一个网卡

[root@LVS-2 network-scripts]# ifconfig bind0

bind0

Link encap:Ethernet  HWaddr 00:0C:29:CC:9B:5

inet addr:10.0.0.8  Bcast:10.0.0.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fecc:9b55/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST  MTU:1500 Metric:1

RX packets:151 errors:0 dropped:0 overruns:0 frame:0

TX packets:3 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:11826 (11.5 KiB)  TX bytes:258 (258.0 b)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11997767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存