欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下 ifconfig 命令的使用(Linux命令)

程序员文章站 2022-05-10 20:25:56
...

ifconfig 是Linux下十分常用的命令,十分有必要掌握如何使用。
由于之前接触网络这块较少十分不熟悉,现在必须熟悉一下了。


一、介绍

ifconfigLinux 中用来查询和配置网络接口卡(网卡)的命令,英文全称是network interfaces configuring。
使用 ifconfig 命令对网卡所做的配置都是临时配置,重启之后都会被还原的。如果要永久配置网卡则需要通过修改配置文件的方式。

二、命令实践

1、显示网卡信息

(1)显示**的网卡信息
ifconfig

如果网卡被关闭了则不会被显示出来。

(2)显示所有的网卡信息
ifconfig -a
(3)显示网卡的简要信息
ifconfig -s
(4)显示指定网卡的信息
ifconfig [网卡名称]
//例:ifconfig enp0s3
(5)网卡信息解释
aaa@qq.com@@:~$ ifconfig
enp0s3    Link encap:Ethernet  HWaddr 08:00:27:bd:61:3c  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::7035:2dfa:8d80:ea7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:115 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:930 (930.0 B)  TX bytes:14560 (14.5 KB)
          Interrupt:19 Base address:0xd020 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2386 (2.3 KB)  TX bytes:2386 (2.3 KB)
  • 网卡名称:enp0s3、lo
  • Link encap:网卡接口类型,Ethernet(以太网)、Local Loopback (本地环回)
  • HWaddr:网卡的硬件地址,即MAC地址
  • inet addr:IPv4地址
  • Bcast:广播地址
  • Mask:子网掩码地址
  • inet6 addr:IPv6地址
  • Scope:是用来限制 IPv6 组播的作用范围,Host(主机本地范围)、Link(链路本地范围)、Site(站点本地范围,已废弃)、Global(全局范围)
  • UP:表示网卡开启状态,如果网卡关闭时则不显示。
  • BROADCAST:表示网卡支持广播
  • RUNNING:表示网卡正在运行
  • MULTICAST :表示网卡支持组播,如果网卡不支持则不显示
  • MTU:最大传输单元,详细的参考:https://developer.aliyun.com/article/222535
  • Metric:跃点数,通常是指到达目的地址所需的跃点数量,一个跃点代表一个路由器。另外,跃点值越大表示优先级越大
  • RX一行:分别表示网卡从启动到现在所接收的 总包数、错误数、丢弃数、过载数、帧数
  • TX一行:分别表示网卡从启动到现在所发送的 总包数、错误数、丢弃数、过载数、帧数
  • collisions:数据包发生冲突、碰撞的次数,次数多了说明网络不太好。
  • txqueuelen:发送队列长度
  • RX bytes:接收到的字节数
  • TX bytes:发送出的字节数
  • Interrupt:IRQ中断地址
  • Base address:基本地址

2、指定网卡的开关

这里以 enp0s3 网卡为例。当网卡被关闭后使用 ifconfig 是不会显示出来的。

//启动enp0s3网卡
sudo ifconfig enp0s3 up
//关闭enp0s3网卡
sudo ifconfig enp0s3 down

3、指定网卡的ARP协议开关

这里以 enp0s3 网卡为例。
ARP协议是地址解析协议(Address Resolution Protocol),每台主机或路由器都维护着一份ARP缓存表(ARP table),这个表包含IP地址到MAC地址的映射关系,表中记录了<IP地址,MAC地址>对,从而实现IP地址与MAC地址的查询与转换。
详细的查看:https://blog.csdn.net/jiejiemcu/article/details/88406088

//启动enp0s3网卡的ARP协议
sudo ifconfig enp0s3 arp
//关闭enp0s3网卡的ARP协议
sudo ifconfig enp0s3 -arp

4、设置网卡的IPv4地址及子网掩码(临时)

这里以 enp0s3 网卡为例。
子网掩码换算: 24 与 255.255.255.0 是相等的,24意思是按二进制算,从左开始的24位全部取1,其余为0。
即 11111111 11111111 11111111 00000000,也就是255.255.255.0

//修改网卡 enp0s3 的 IPv4地址
sudo ifconfig enp0s3 10.0.2.16
//修改网卡 enp0s3 的 IPv4地址及子网掩码,方法一
sudo ifconfig enp0s3 10.0.2.16/24
//修改网卡 enp0s3 的 IPv4地址及子网掩码,方法二
sudo ifconfig enp0s3 10.0.2.16 netmask 255.255.255.0

5、配置网卡的虚拟接口(临时)

这里以 enp0s3 网卡为例。
相当于给网卡再配置一个IP地址。

sudo ifconfig enp0s3:0 10.0.2.16/24
sudo ifconfig enp0s3:1 10.0.2.17/24
sudo ifconfig enp0s3:2 10.0.2.18/24

Linux下 ifconfig 命令的使用(Linux命令)

6、设置网卡的MAC地址(临时)

这里以 enp0s3 网卡为例。
注意:需要将网卡down掉后才能设置,否则会提示 “SIOCSIFHWADDR: 设备或资源忙 - you may need to down the interface”

//修改网卡的MAC地址
sudo ifconfig enp0s3 hw ether 08:00:27:bd:61:3d

Linux下 ifconfig 命令的使用(Linux命令)

7、设置网卡的最大传输单元(临时)

这里以 enp0s3 网卡为例。
单位是字节。

//设置网卡的最大传输单元
sudo ifconfig enp0s3 mtu 1480

8、增加及删除网卡的IPv6地址

这里以 enp0s3 网卡为例。

//增加网卡的IPv6地址
sudo ifconfig enp0s3 add fe80::7035:2dfa:8d80:ea7d/64
//删除网卡的IPv6地址
sudo ifconfig enp0s3 del fe80::7035:2dfa:8d80:ea7d/64

参考1:https://baike.baidu.com/item/ifconfig/5073112?fr=aladdin
参考2:https://blog.csdn.net/u011857683/article/details/83758503
参考3:https://blog.csdn.net/chenlycly/article/details/52142999
参考4:https://developer.aliyun.com/article/222535
参考5:https://blog.csdn.net/jiejiemcu/article/details/88406088