Linux系统双网卡绑定配置教程

Linux系统双网卡绑定配置教程,第1张

系统版本

[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)

1.首先咱们查看一下,当前系统的网卡参数。可以看到除了一个回环网卡“lo”和虚拟网卡“virbr0”之外,就只有一块网卡“ens33”。 2.现在咱们给它添加一块网卡,然后查看一下网卡的参数,可以看到已经多了一块网卡“ens36” 3.但我们去配置文件目录“/etc/sysconfig...”

之前在调试Linux多网卡驱动时,想在应用层实现默认网关的自动切换,需要了解路由的知识,特此总结。

路由是指数据包从源节点到目的节点过程中,决定端到端路径的行为。说白了,就是数据在网络中从一个主机到另一个主机的传递路径。举个例子,我上班需要从家(A)走到公交站(B)坐130路车到大公司(C),那么我上班的路由就是A ->B ->C。

可以理解成是保存某个主机的所有路由信息的集合。还是说上班那个例子,我也可以从家里(A)走到公家站(B)先坐220路车到达山东路公交站(B1),再转106路车到达公司(C),所以A ->B ->B1 ->C也是一条路由信息,那么这两条路由信息都属于我的路由表。

路由器主要负责查询数据在网络中的传递路由信息,并完成数据包的投递。再举个公交车的例子,假如有一天我想去五四广场(D)玩,但不知道坐哪路车,所以我先从家里(A)走到公交站(B),查了一下站牌信息,需要做128路车到达,接着我就等车来然后坐车抵达目的地。在这个情景中,公交站就相当于路由器,帮我查到坐车信息并经此抵达,相应的A ->B ->D就是对应的路由。

以上只是对这几个重要概念的简单理解,真实网络环境中肯定要复杂许多。

正常情况下,嵌入式板子有一个网卡就够用了,要么WiFi,要么以太网。但有时候需要多个网卡的情况,以连接不同的子网。运行ifconfig命令可以查看系统网卡信息:

上面信息表明我的系统中有两个以太网卡,一个网络接口连到 192.168.10.* 段网络,另一个网络接口连到 192.168.56.* 段网络。再来看一下路由表信息,运行route命令可以查看:

上述 route 命令输出信息中各项的含义请看下表:

可以看到路由表里有4条路由信息。如果要发送的数据包的目的地址是192.168.56.8,跟第一条路由信息的子网掩码做与运算得到192.168.56.0,可判断与路由信息中目的网络地址不符;再跟第二条路由信息的子网掩码做与运算得到192.168.56.0,正是第二行的目的网络地址,因此数据从eth1网卡发送出去,由于192.168.56.0正是与eth1接口直接相连的网络,因此可以直接发到目的主机,不需要经路由器转发。如果要发送的数据包的目的地址是114.114.114.114,跟前三条路由表条目都不匹配,那么就要按缺省路由信息,从eth0网卡发出去,首先发往地址为192.168.10.1的路由器,再让路由器根据它的路由表决定下一跳地址。

通过上面的分析可以发现,若使网络中任意两个节点能够通信,要么在路由表有对应的路由信息,要么通过默认网关进行转发。

纯个人理解,如有问题,欢迎指正~~~


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

原文地址: http://outofmemory.cn/yw/7633243.html

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

发表评论

登录后才能评论

评论列表(0条)

保存