Linux学习之CentOS(二十九)--Linux网卡高级命令、IP别名及多网卡绑定
本篇随笔将详细讲解Linux系统的网卡高级命令、IP别名以及Linux下多网卡绑定的知识
一、网卡高级命令
在之前的一篇随笔里Linux学习之CentOS(九)--Linux系统的网络环境配置,详细讲解了Linux系统下的网络环境配置等知识,我们了解了一些关于网络配置的一些基本命令。在这里将补充一些Linux系统下有关网卡的一些高级命令。
①mii-tool 命令
mii-tool命令我们可以用来查看网卡状态信息,包括了以太网连接是否正常,使用的是哪种型号的网卡等等
[root@xiaoluo ~]# mii-tool eth0eth0: no autonegotiation, 100baseTx-FD, link ok
我们从输出的信息可以看到,当前以太网连接正常,以太网的速率是100M每秒,通过这个命令我们可以看到网卡底层的一些信息,当有时我们在上层通过ping、traceroute等命令进行网络排错时,如果发现网络还是不能连接畅通,这时就可以使用这个命令来查看是否是以太网连接出问题了
②ethtool 命令
通过mii-tool命令可以查看网卡的一些底层信息,但是如果我们想要查看网卡的更详细信息,就可以使用ethtool 这个命令,它可以将网卡的所有信息都详细列出来
[root@xiaoluo ~]# ethtool eth0Settings for eth0:Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: NoSupports auto-negotiation: YesAdvertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: NoAdvertised auto-negotiation: YesSpeed: 1000Mb/sDuplex: FullPort: Twisted PairPHYAD: 0Transceiver: internalAuto-negotiation: onMDI-X: UnknownSupports Wake-on: umbgWake-on: dCurrent message level: 0x00000007 (7)drv probe linkLink detected: yes
包括网卡支持的链接速率、双工模式等等信息都能查看到
如果说我们想要查看网卡的驱动信息,可以在 ethtool 命令后加上 -i 参数,就能显示网卡的驱动信息了
[root@xiaoluo ~]# ethtool -i eth0driver: e1000 version: 7.3.21-k8-NAPI firmware-version: bus-info: 0000:00:03.0supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no
如果说我们还需要查看网卡当前底层工作状态信息,可以在命令后加上 -S 参数
[root@xiaoluo ~]# ethtool -S eth0NIC statistics:rx_packets: 3255tx_packets: 898rx_bytes: 477575tx_bytes: 2228309rx_broadcast: 2190tx_broadcast: 198rx_multicast: 0tx_multicast: 6rx_errors: 0tx_errors: 0tx_dropped: 0multicast: 0collisions: 0rx_length_errors: 0rx_over_errors: 0rx_crc_errors: 0rx_frame_errors: 0rx_no_buffer_count: 0rx_missed_errors: 0tx_aborted_errors: 0tx_carrier_errors: 0tx_fifo_errors: 0tx_heartbeat_errors: 0tx_window_errors: 0tx_abort_late_coll: 0tx_deferred_ok: 0tx_single_coll_ok: 0tx_multi_coll_ok: 0tx_timeout_count: 0tx_restart_queue: 0rx_long_length_errors: 0rx_short_length_errors: 0rx_align_errors: 0tx_tcp_seg_good: 263tx_tcp_seg_failed: 0rx_flow_control_xon: 0rx_flow_control_xoff: 0tx_flow_control_xon: 0tx_flow_control_xoff: 0rx_long_byte_count: 477575rx_csum_offload_good: 0rx_csum_offload_errors: 0alloc_rx_buff_failed: 0tx_smbus: 0rx_smbus: 0dropped_smbus: 0
包括网卡发送了多少数据包、接受了多少数据包等信息都能看到。
所以通过 mii-tool 和 ethtool 这两个命令,我们可以看到网卡更多的底层信息以及网卡的物理信息等等,这可能会为我们在进行网络排错时提供便利
二、IP别名
在Linux系统中,我们可以在一块物理网卡上配置多个IP地址,以此来实现类似子接口的功能,我们称之为IP别名。当然在其他操作系统上,比如windowns、mac os上也支持在一块物理网卡配置多个IP地址。比如说我们的Linux主机作为一个DHCP服务器,它可能要为不同的网段分配多个IP地址,在Linux系统中,我们通过IP别名来实现在一块物理网卡上配置多个IP地址。
【注意:】要使用IP别名来配置多个IP地址,我们首先需要关闭NetworkManager服务
在CentOS或者RHEL上,都默认会启用NerworkManager这个服务来对网卡进行管理,NetworkManager服务其实就是我们操作系统右上方那两个小电脑图标,我们在图形化界面可以点击那个来指定使用哪块网卡,但是我们如果需要使用IP别名,就必须要禁用掉这个服务
[root@xiaoluo ~]# service NetworkManager stopStopping NetworkManager daemon: [ OK ] // 停掉我们的NetworkManager服务,此时我们可以发现右上角那个图标就不见了[root@xiaoluo ~]# chkconfig NetworkManager off // NetworkManager这个服务默认会开机启动,所以我们将其设置成开机不启动[root@xiaoluo ~]# chkconfig --list | grep NetworkManager NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
在停掉NetworkManager服务以后我们就可以使用IP别名技术来配置多个IP地址了,这里我们使用 ip 这个命令,命令语法格式如下:
ip addr add ./ dev etho label eth0:
我们首先通过 ifconfig 命令来查看我们当前网卡的信息
[root@xiaoluo ~]# ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:D7:F8:84 inet addr:172.25.215.40 Bcast:172.25.215.255 Mask:255.255.255.0inet6 addr: fe80::a00:27ff:fed7:f884/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:5801 errors:0 dropped:0 overruns:0 frame:0TX packets:2011 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:819876 (800.6 KiB) TX bytes:2288399 (2.1 MiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:167 errors:0 dropped:0 overruns:0 frame:0TX packets:167 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:14861 (14.5 KiB) TX bytes:14861 (14.5 KiB)
此时我们的eth0网卡信息就会显示出来,我们此时通过ip命令来给eth0添加一个IP别名
[root@xiaoluo ~]# ip addr add 172.25.215.31/24 dev eth0 label eth0:0[root@xiaoluo ~]# ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:D7:F8:84 inet addr:172.25.215.40 Bcast:172.25.215.255 Mask:255.255.255.0inet6 addr: fe80::a00:27ff:fed7:f884/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:6323 errors:0 dropped:0 overruns:0 frame:0TX packets:2011 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:914440 (893.0 KiB) TX bytes:2288399 (2.1 MiB)eth0:0 Link encap:Ethernet HWaddr 08:00:27:D7:F8:84 inet addr:172.25.215.31 Bcast:0.0.0.0 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:167 errors:0 dropped:0 overruns:0 frame:0TX packets:167 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:14861 (14.5 KiB) TX bytes:14861 (14.5 KiB)
我们看到,此时我们对出来了一块 eth0:0 网卡,其实这个就是eth0网卡的一个IP别名,eth0上就有两个IP地址了,此时我们通过外面的主机ping这两个IP地址都是可以ping通的,如果说我们需要永久保存这个信息,我们就需要在 /etc/sysconfig/network-scripts 这个文件下建立一个名字为 ifcfg.eth0:0 这样的配置文件,新建的IP别名是什么,那么就在这个目录下建立一个与该名字对应的文件即可
[root@xiaoluo ~]# cd /etc/sysconfig/network-scripts/-scripts]# -eth0 ifdown-isdn ifup-aliases ifup-plusb init.ipv6--lo ifdown-post ifup-bnep ifup--ppp ifup-eth ifup-ppp network--bnep ifdown-routes ifup-ippp ifup-routes network-functions--eth ifdown-sit ifup-ipv6 ifup--ippp ifdown-tunnel ifup-isdn ifup--ipv6 ifup ifup-plip ifup--scripts]# ifcfg-eth0:=eth0:=.==yes // eth0:0是eth0的IP别名,yes表示附属于eth0
通过添加上述的配置文件,我们的IP别名信息就能永久保存了。
三、多网卡绑定
为什么要使用多网卡绑定技术呢?我们知道如果使用一块网卡进行网络数据传输时其速度是有限的,即使是千兆网卡,其速度也是有限制的,我们为了提高带宽,我们可以将多块物理网卡绑定成一块逻辑网卡,这样网卡的速率就是多块网卡的速率了。
Linux支持将多块物理网卡绑定成一块逻辑网卡,绑定后的逻辑网卡可以并行使用组成其的所有物理网卡,通过这样的方式可以提高带宽以及网路的稳定性
我们在将多块物理网卡绑定成一块逻辑网卡以后,我们的IP地址就要求配置在这块逻辑网卡上了,而非多块物理网卡
Linux下支持三种模式的网卡绑定:
①模式0:平衡轮训 使用这种模式来进行多网卡绑定时我们可以提高网络的带宽,其流量是从绑定的多块网卡上平均分配的
②模式1:主动备份 使用这种模式来进行多网卡绑定时我们可以提高网络的稳定性,这种模式不会提高网络的带宽,每次只有一块网卡在走流量,只有当这块网卡发生故障时,绑定在一起的其它物理网卡才会工作
③模式3:广播模式 这种模式一般都不用
我们如果想通过多网卡绑定来提升网络的带宽,就选择模式0,如果想提高网络的稳定性,则选择模式1
下面我们来看看如何进行网卡绑定的配置
①网卡绑定以后我们需要给我们的逻辑网卡取一个名字,通常格式为 bondn,n代表的是编号,如 /dev/bond0, /dev/bond1
②然后我们需要在 /etc/sysconfig/network-scripts 这个目录下创建该逻辑网卡的配置文件,如:
/etc/sysconfig/network-scripts/ifc-bond0
[root@xiaoluo network-scripts]# vi ifcfg-bond0DEVICE=bond0 // 设备名字 IPADDR=172.25.215.200 // 网卡ip地址PREFIX=24 // 子网掩码24位ONBOOT=yes // 开机启动yes BOOTPROTO=none // 启动协议,因为我们是手动配置IP,所以设置成none,如果是通过DHCP动态分配,则设置成dhcp USERCTL=no // 关闭掉用户控制 BONDING_OPTS="mode=1 miimon=5" // 这个是bond网卡最主要的配置,我们的bond网卡其实是根据一个叫做bonding的驱动来配置的,后面跟配置参数,这里我们使用的是模式1(主动备份)
因为我们要使用多网卡绑定,所以我们这里再添加一块网卡,然后根据提示就可以添加一块新网卡了,我们这里添加一块网卡eth1,使用ifconfig查看一下:
[root@xiaoluo network-scripts]# ifconfigbond0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:172.25.215.200 Bcast:172.25.215.255 Mask:255.255.255.0UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)eth0 Link encap:Ethernet HWaddr 08:00:27:D7:F8:84 inet6 addr: fe80::a00:27ff:fed7:f884/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:1285 errors:0 dropped:0 overruns:0 frame:0TX packets:6 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:221706 (216.5 KiB) TX bytes:468 (468.0 b)eth1 Link encap:Ethernet HWaddr 08:00:27:F4:7D:CC inet6 addr: fe80::a00:27ff:fef4:7dcc/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:1196 errors:0 dropped:0 overruns:0 frame:0TX packets:95 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:216126 (211.0 KiB) TX bytes:4806 (4.6 KiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:73 errors:0 dropped:0 overruns:0 frame:0TX packets:73 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:6330 (6.1 KiB) TX bytes:6330 (6.1 KiB)
此时我们计算机里面就有两块网卡了,因为我们需要将这两块网卡绑定到bond0这个逻辑网卡中,所以我们要在两块网卡的配置文件里面添加两条语句:
MASTER=bond0 // 将这两块网卡绑定到bond0这块逻辑网卡上 SLAVE=yes // SLAVE=yes表示这两块网卡附属于bond0这块网卡
[root@xiaoluo network-scripts]# vi ifcfg-eth0DEVICE=eth0 HWADDR=08:00:27:D7:F8:84TYPE=Ethernet UUID=2877e96e-6ddd-443b-a337-bafa7c77c6e5 ONBOOT=no NM_CONTROLLED=yes BOOTPROTO=none IPV6INIT=no USERCTL=no MASTER=bond0 SLAVE=yes[root@xiaoluo network-scripts]# vi ifcfg-eth1DEVICE=eth1 BOOTPROTO=none TYPE=Ethernet PEERDNS=yes IPV6INIT=no ONBOOT=no USERCTL=no HWADDR=08:00:27:f4:7d:ccMASTER=bond0 SLAVE=yes
之前说过bond0这块网卡其实是通过一个叫做 bonding 的驱动来配置的,所以我们还需要为bond0这块网卡添加驱动支持,将这个驱动添加到 /etc/modprobe.d/ 这个目录下
[root@xiaoluo network-scripts]# cd /etc/modprobe.d/[root@xiaoluo modprobe.d]# lsanaconda.conf blacklist-visor.conf dist.conf openfwwf.conf blacklist.conf dist-alsa.conf dist-oss.conf
这个文件夹下放的都是我们系统所需驱动的配置文件,我们这时需要给我们的bonding添加一个名字为 bonding.conf 的配置文件
[root@xiaoluo modprobe.d]# vi bonding.confalias bond0 bonding
此时配置好以后,我们就可以通过 ifup bond0 来启动我们的bond0网卡
[root@xiaoluo network-scripts]# ifup bond0Active connection state: activated Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/2
此时我们可以通过ifconfig命令来查看一下当前网卡信息:
[root@xiaoluo network-scripts]# :::D7:F8:. Bcast:. Mask:./ Metric: errors: dropped: overruns: frame: errors: dropped: overruns: carrier: txqueuelen: ( MiB) TX bytes: (:::D7:F8: Metric: errors: dropped: overruns: frame: errors: dropped: overruns: carrier: txqueuelen: ( KiB) TX bytes: (:::D7:F8: Metric: errors: dropped: overruns: frame: errors: dropped: overruns: carrier: txqueuelen: ( KiB) TX bytes: (. Mask:./ Metric: errors: dropped: overruns: frame: errors: dropped: overruns: carrier: txqueuelen: ( KiB) TX bytes: ( KiB)
此时我们通过 ping 命令来ping我们外面的主机,发现已经可以正常ping通的
[root@xiaoluo network-scripts]# .. (.) ( bytes from .: icmp_seq= ttl= = bytes from .: icmp_seq= ttl= = bytes from .: icmp_seq= ttl= = bytes from .: icmp_seq= ttl= = bytes from .: icmp_seq= ttl= = ms ***********************************************************************************
这个时候我们的bond0网卡就已经配置成功了,它是由两块物理网卡组成的,我们可以根据需要,比如说要提高网络带宽或者提高网络稳定性来设置bond0的网卡绑定模式即可
本篇随笔详细讲解了Linux网卡的一些高级命令以及如何在给一块物理网卡配置多个IP地址,我们称之为IP别名,当然还有我们的多网卡绑定配置!!!
转载于:https://blog.51cto.com/sandshell/1947772
Linux学习之CentOS(二十九)--Linux网卡高级命令、IP别名及多网卡绑定相关推荐
- Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码
在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...
- Linux学习总结(二十九)系统日志
系统日志记录了系统每天发生的各种各样的事情,比如检测系统状况,检测服务的启动状况,用户的登陆情况等.我们可以通过日志找出某个错误发生的原因,或者追踪到***者留下的蛛丝马迹. 1 /var/log/m ...
- 【C语言进阶深度学习记录】二十九 main函数与命令行参数
文章目录 1 main函数的返回值 2 main函数的参数 2.1 main函数的参数的代码案例分析 3 main函数不一定是程序中第一个执行的函数 4 总结 1 main函数的返回值 main函数是 ...
- Linux学习之CentOS(二)--初识linux的一些常用命令
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...
- Linux学习之CentOS(三十四)--配置域主DNS服务器
在上一篇随笔里 Linux学习之CentOS(三十三)--DNS基础及域名系统架构,讲解了DNS的一些基础知识以及域名系统架构,在本篇随笔里将详细地讲解主DNS服务器的配置... 一.DNS服务器的类 ...
- 【OS学习笔记】二十九 保护模式八:任务切换对应的汇编代码之用户程序代码
本汇编代码对应以下两篇文章对应的用户程序汇编代码: [OS学习笔记]二十六 保护模式八:任务门-任务切换 [OS学习笔记]二十七 保护模式八:任务切换的方法之----jmp与call的区别以及任务的中 ...
- 线性代数学习笔记(二十九)——方程组解的结构(一)
停更2年多了,做事得有始有终,继续更新... 本篇笔记回顾了线性方程组解的三种情况,并讨论了齐次线性方程组解的结构,并介绍了齐次线性方程组解的相关性质.其中重点讨论了基础解系定义,以及基础解系的求法和 ...
- linux把文件复制到压缩包里,Linux学习笔记(二十)文件压缩 zip压缩、tar打包、打包、解包...
一.zip压缩 首先安装zip与unzip yum install -y zip/unzip zip 1.txt.zip 1.txt 压缩文件1.txt,压缩文件名称为1.txt.zip zip -r ...
- Linux学习之CentOS(三十二)--Linux系统服务基础
您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...
最新文章
- 2022-2028年中国改性尼龙行业市场全景评估及产业前景规划报告
- 第十六届全国大学智能车竞赛创意组比赛国赛获奖名单
- qt: 获取sql数据表的所有的字段;
- api restful_HATEOAS的RESTful服务。 记录超媒体API
- node输出mysql的数据_node.js+async+mysql 查询数据输出问题,如何分别统计、提取每个sql语句的结果!!...
- 3.15	送货通知单
- STM32CubeMX使用(一)之实现点灯点灯
- Java 文本内容差异对比实现介绍
- 数据结构实验之二叉树二:遍历二叉树(中序后序遍历)
- 开源的api管理平台推介
- rundll32.exe命令使用大全
- 激活pytorch环境
- LibreCAD使用记录
- 空间统计--空间关系建模工具集,Modeling Spatial Relationships
- windows7下休眠不断网
- Linux工具的基本使用
- TFLearn初探之optimizers、losses和learning_rate
- “技术总监面试,凭啥不问你技术细节?”
- 政法大学研究员:珊瑚版QQ作者不值得同情
- 8hutool实战:ChineseDate(农历日期工具类)
热门文章
- java list 转 scala_Java与Scala集合互转
- ei会议论文录用但不参加会议_会议论文投稿可以不参会吗
- dns轮训python
- 数据库事务处理差异:可提交读和重复读区别
- MySQL中间件之ProxySQL(14):ProxySQL+PXC
- 报错apachectl -t
- 文档生成器 Xcode与Appledoc
- /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc(转载)
- Sql添加Oracle数据库的表空间和用户
- jQuery实现布局高宽自适应