Linux 网络命令之 `ifconfig`

1 简介

ifconfig 是 linux 中用于显示或配置网络设备(网络接口卡)的命令,英文全称是 network interfaces configuring.

使用 ifconfig 命令配置的网卡信息,在设备重启后,配置就不存在了,需要重新配置。如果想永久修改网卡配置信息,需要修改对应的配置文件。

2 用法

通过 ifconfig --help 获取该命令的用法如下:

Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  [hw <HW> <address>]  [mtu <NN>]
  [[-]trailers]  [[-]arp]  [[-]allmulti]
  [multicast]  [[-]promisc]
  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]
  [txqueuelen <NN>]
  [[-]dynamic]
  [up|down] ...

说明如下:

 -a 										显示全部网络接口信息
 -s 										显示摘要信息
 <interface> address						为指定网卡配置IPv4地址
 <interface> add <address>					为指定网卡配置IPv6地址
 <interface> del <address>					删除指定网卡的IPv6地址
 <interface> [-]broadcast [<address>]		为指定网卡设置是否支持广播及配置广播地址
 <interface> [-]pointopoint [<address>] 	为网卡设置点对点通讯协议
 <interface> netmask <address>				为指定网卡配置子网掩码
 <interface> dstaddr <address>				设定一个远端地址,建立点对点通信
 <interface> tunnel <address> 				建立隧道
 <interface> outfill <NN>
 <interface> keepalive <NN>
 <interface> hw <address>					为指定网卡配置硬件(MAC)地址
 <interface> mtu <NN>						为指定网卡配置最大传输单元
 <interface> [[-]trailers]
 <interface> [-]arp							设置网卡是否支持ARP协议。 - arp 表示不支持
 <interface> [[-]allmulti]					设置网卡是否支持多播模式。- allmulti 表示不支持
 <interface> multicast						为网卡设置组播标志
 <interface> [-]promisc						设置是否支持网卡的混杂模式,如果选择此参数,网卡将接收网络中发给它所有的数据包。- promisc 表示关闭混杂模式
 <interface> mem_start <NN>
 <interface> io_addr <NN>
 <interface> irq <NN>						设置网络设备的IRQ
 <interface> media <type>
 <interface> txqueuelen <NN>				为网卡设置传输列队的长度
 <interface> [-]dynamic						动态获取IPv4地址
 <interface> up								启动指定网卡
 <interface> down							关闭指定网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除

3 常用

  1. 显示当前开启的网络接口信息

    $ ifconfig
    
    enp0s3    Link encap:Ethernet  HWaddr 00:01:02:03:04:05
              inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fd00:ce:aef6::1/60 Scope:Global
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    

    名词介绍:

     - enp0s3		网卡名称
     - Link encap	网卡的接口类型,Ethernet是以太网
     - HWaddr		网卡的硬件地址,即MAC地址
     - inet	addr	IPv4地址
     - Bcast		广播地址
     - Mask			子网掩码
     - inet6 addr	IPv6地址
     - UP			表示网卡为开启状态
     - BROADCAST	表示网卡支持广播
     - RUNNING		表示网卡的网线已接上
     - MULTICAST	表示网卡支持组播
     - MTU			网络最大传输单元
     - Metric		到达网关的度量值
     - RX packets	网络从启动到目前为止接收的数据包大小,单位是字节
     - RX errors 	接收时,发生错误的数据包大小
     - RX dropped 	接收时,被丢弃的数据包大小
     - RX overruns	接收时,由于速度过快而丢失的数据包大小
     - RX frame		接收时,发生frame错误而丢失的数据包大小
     - TX packets	网络从启动到目前为止发送的数据包大小,单位是字节
     - TX errors 	发送时,发生错误的数据包大小
     - TX dropped 	发送时,被丢弃的数据包大小
     - TX overruns	发送时,由于速度过快而丢失的数据包大小
     - TX carrier	发送时,发生carrier错误而丢失的数据包大小
     - collisions	发生碰撞的数据包,如果发生太多次,表明网络状况不太好
     - txqueuelen	传输数据的缓冲区的储存长度
     - RX bytes		总接收字节量
     - TX bytes		总发送字节量
    
  2. 显示所有可用的网络接口信息

    $ ifconfig -a
    
  3. 显示简要的网络接口信息

    $ ifconfig -s
    
  4. 开启/关闭网络接口

    $ ifconfig eth0 up		#开启
    $ ifconfig eth0 down	#关闭
    
  5. 配置/删除 IPv6 地址

    $ ifconfig eth0 add 33ffe:3240:800:1005::2/64		#配置IPv6地址
    $ ifconfig eth0 del 33ffe:3240:800:1005::2/64		#删除IPv6地址
    
  6. 配置网络接口的 IPv4 地址/子网掩码/广播地址

    $ ifconfig eth0 192.168.1.1													#配置IPv4地址
    $ ifconfig eth0 netmask 255.255.255.0										#配置子网掩码
    $ ifconfig eth0 broadcast 192.168.1.255										#配置广播地址
    $ ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255	#可以将上述操作组成一个命令
    
  7. 单网卡添加多个 IPv4 地址

    $ ifconfig eth0:0 192.168.1.1
    $ ifconfig eth0:1 192.168.2.1
    
  8. 删除 IPv4 地址

    $ ifconfig eth0 del 192.168.1.1
    

    在单网卡拥有多个 IPv4 地址时,可以删除指定 IP,若网卡只有一个 IPv4 地址则无法删除。

  9. 配置 MAC 地址

    $ ifconfig eth0 hw ether aa:bb:cc:dd:ee:ff
    
  10. 配置网络接口为混杂模式

    $ ifconfig eth0 promisc			#开启混杂模式
    $ ifconfig eth0 -promisc		#取消混杂模式
    

    当启用时,会出现 PROMISC 字段,如:

    enp0s3    Link encap:Ethernet  HWaddr 00:01:02:03:04:05
    		  ...
              UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
              ...
    
  11. 启用/关闭 ARP 协议

    $ ifconfig eth0 arp			#开启arp协议
    $ ifconfig eth0 -arp		#关闭arp协议
    

    禁用 arp 时,会出现 NOARP 字段,如:

    enp0s3    Link encap:Ethernet  HWaddr 00:01:02:03:04:05
    		  ...
              UP BROADCAST RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              ...
    
  12. 设置最大传输单元

    $ ifconfig eth0 mtu 1500		#设置能通过的最大数据包大小为 1500 bytes
    
  13. 设置网卡的多播模式

    $ ifconfig eth0 allmulti		#启用
    $ ifconfig eth0 -allmulti		#禁用
    

    如果选择此参数,网卡将接收网络中所有的多播数据包。当启用时会出现 ALLMULTI 字段,如:

    enp0s3    Link encap:Ethernet  HWaddr 00:01:02:03:04:05
    		  ...
              UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
              ...
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值