ifconfig 命令使用详解

概述

ifconfig工具被用来查看和配置网络接口配置信息。用ifconfig命令配置的网卡信息,在网络设备重启后,配置就会还原。要想将修改的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

语法

ifconfig [网络设备][down up -allmulti -arp
-promisc][add<地址>][del<地址>][<硬件地址>][io_addr][irq][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明:

  • -a 显示全部接口信息。
  • -s 显示摘要信息(类似于 netstat -i)。
  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。(该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除)
  • <硬件地址> 设置网络设备的类型与硬件地址。
  • io_addr 设置网络设备的I/O地址。
  • irq 设置网络设备的IRQ。
  • media<网络媒介类型> 设置网络设备的媒介类型。
  • mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
  • metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
  • mtu<字节> 设置网络设备的MTU。
  • netmask<子网掩码> 设置网络设备的子网掩码。
  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
  • up 启动指定的网络设备。
  • -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
  • -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
  • -promisc 关闭或启动指定网络设备的promiscuous模式(如果选择此参数,网卡将接收网络中发给它所有的数据包。-表示关闭混杂模式)
  • [-]arp 设置指定网卡是否支持ARP协议。-表示不支持arp。
  • [IP地址] 指定网络设备的IP地址。
  • [网络设备] 指定网络设备的名称。

显示网络设备信息

# ifconfig        
eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C 
     inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
     inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
     TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
     Interrupt:185 Base address:0x2024 

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:16436 Metric:1
     RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
     TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)

分析说明

eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C 
// eth0 :是网卡名称
// Link encap:Ethernet :是连接类型,这里是Ethernet(以太网)
// HWaddr 00:50:56:0A:0B:0C :是网卡物理地址(MAC地址)

inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
// inet addr :网卡的IPv4地址。
// Bcast :广播地址。
// Mask :子网掩码。

inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
// 网卡的IPv6地址

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
// UP :表示“接口已启用”。
// BROADCAST :表示“主机支持广播”。
// RUNNING :表示“接口在工作中”。
// MULTICAST :表示“主机支持多播”。
// MTU:1500(最大传输单元):1500字节

RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
// RX packets 接收时,正确的数据包数。
// RX errors 接收时,产生错误的数据包数。
// RX dropped 接收时,丢弃的数据包数。
// RX overruns 接收时,由于速度过快而丢失的数据包数。
// RX frame 接收时,发生frame错误而丢失的数据包数。

TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
// TX packets 发送时,正确的数据包数。
// TX errors 发送时,产生错误的数据包数。
// TX dropped 发送时,丢弃的数据包数。
// TX overruns 发送时,由于速度过快而丢失的数据包数。
// TX carrier 发送时,发生carrier错误而丢失的数据包数。

collisions:0 txqueuelen:1000 
// collisions 冲突信息包的数目。
// txqueuelen (网卡设置的传送队列长度)

RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
// RX bytes 接收的数据量。
// TX bytes 发送的数据量。

注意:lo是表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回环地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

命令实例

显示激活的网卡信息

ifconfig

显示所有的网卡信息

ifconfig -a

显示简要的网卡信息

ifconfig -s

关闭网卡

ifconfig eth0 down
或
ifdown eth0

启动网卡

ifconfig eth0 up
或
ifup eth0

为网卡配置和删除IPv6地址

// 添加
ifconfig eth0 add 3ffe:3240:800:1005::2/64
// 删除
ifconfig eth0 del 3ffe:3240:800:1005::2/64

修改MAC地址

ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

配置IP地址

// 配置ip地址
ifconfig eth0 192.168.1.100
 
// 配置ip地址和子网掩码
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
 
// 配置ip地址、子网掩码和广播地址
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

单网卡添加多个IP地址

ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
 
ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0 up

删除IP地址

ifconfig eth0 del 192.168.1.100

启用和关闭ARP协议

// 启用arp
ifconfig eth0 arp

// 禁用arp(禁用arp的时候,会出现NOARP字段)
ifconfig eth0 -arp

设置最大传输单元

//设置能通过的最大数据包大小为 1500 bytes
ifconfig eth0 mtu 1500

设置网卡的promiscuous模式

// 启用(当启用时出现PROMISC字段)
ifconfig eth0 promisc

// 禁用
ifconfig eth0 -promisc

设置网卡的多播模式

// 启用(当启用时会出现MULTICAST字段)
ifconfig eth0 allmulti

// 禁用
ifconfig eth0 -allmulti

你可能感兴趣的:(Linux)