综合百科

linux命令ifconfig的详细解释

许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfacesconfig)。通常需以root身份登录或使用sudo以便Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。

1.命令格式:

ifconfig[网络设备][参数]

2.命令功能:

ifconfig命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置

3.命令参数:


4.使用实例:

实例1:显示网络设备信息激活状态的

命令:

ifconfig

输出:

[root@localhost~]#ifconfig
eth0Linkencap:EthernetHWaddr00:50:56:BF:26:20
inetaddr:192.168.120.204Bcast:192.168.120.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:8700857errors:0dropped:0overruns:0frame:0
TXpackets:31533errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:596390239(568.7MiB)TXbytes:2886956(2.7MiB)

loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:68errors:0dropped:0overruns:0frame:0
TXpackets:68errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:2856(2.7KiB)TXbytes:2856(2.7KiB)


eth0:网卡的代号。

Link encap(encapsulation [inkpsju'lein;inkps'lein] n. 封装,包装,密封):Ethernet 以太网。
HWaddr:网卡的硬件地址,习惯称为MAC。
inet addr:IPv4的IP地址,后续的Bcast、Mask分别代表的是Broadcast和Netmask。
inet6 addr:是IPv6的版本的IP,我们没有使用,所以略过 scope:域
RX:那一行代表的是网络由启动到目前为止的数据包接收情况,packets代表数据包数、errors代表数据包发生错误的数量、dropped代表数据包由于有问题而遭丢弃的数量等。
TX:和RX相反,为网络由启动到目前为止的传送情况。
collisions:代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。
txqueuelen:代表用来传输数据的缓冲区的储存长度。
RX Bytes、TX Bytes:总传送、接收的字节总量。
Interrupt、Memory:网卡硬件的数据,IRQ岔断和内存地址。
通过观察上述的资料,大致上能了解到你的网络情况,尤其是RX、TX内的error数量,及是否发生严重的collision情况,都是需要注意的。

说明:

eth0表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:50:56:BF:26:20

inetaddr用来表示网卡的IP地址,此网卡的IP地址是192.168.120.204,广播地址,Bcast:192.168.120.255,掩码地址Mask:255.255.255.0

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

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息。


实例2:启动关闭指定网卡

命令:

ifconfigeth0up

ifconfigeth0down

输出:

说明:

ifconfigeth0up为启动网卡eth0ifconfigeth0down为关闭网卡eth0ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

实例3:为网卡配置和删除IPv6地址

命令:

ifconfigeth0add33ffe:3240:800:1005::2/64

ifconfigeth0del33ffe:3240:800:1005::2/64

输出:

说明:

ifconfigeth0add33ffe:3240:800:1005::2/64为网卡eth0配置IPv6地址

ifconfigeth0add33ffe:3240:800:1005::2/64为网卡eth0删除IPv6地址

练习的时候,ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。


实例4:用ifconfig修改MAC地址

命令:

ifconfigeth0hwether00:AA:BB:CC:DD:EE

输出:

[root@localhost~]#ifconfigeth0down//关闭网卡
[root@localhost~]#ifconfigeth0hwether00:AA:BB:CC:DD:EE//修改MAC地址
[root@localhost~]#ifconfigeth0up//启动网卡
[root@localhost~]#ifconfig
eth0Linkencap:EthernetHWaddr00:AA:BB:CC:DD:EE
inetaddr:192.168.120.204Bcast:192.168.120.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:8700857errors:0dropped:0overruns:0frame:0
TXpackets:31533errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:596390239(568.7MiB)TXbytes:2886956(2.7MiB)

loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:68errors:0dropped:0overruns:0frame:0
TXpackets:68errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:2856(2.7KiB)TXbytes:2856(2.7KiB)
[root@localhost~]#ifconfigeth0hwether00:50:56:BF:26:20//关闭网卡并修改MAC地址
[root@localhost~]#ifconfigeth0up//启动网卡
[root@localhost~]#ifconfig
eth0Linkencap:EthernetHWaddr00:50:56:BF:26:20
inetaddr:192.168.120.204Bcast:192.168.120.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:8700857errors:0dropped:0overruns:0frame:0
TXpackets:31533errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:596390239(568.7MiB)TXbytes:2886956(2.7MiB)

loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:68errors:0dropped:0overruns:0frame:0
TXpackets:68errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:2856(2.7KiB)TXbytes:2856(2.7KiB)

说明:

实例5:配置IP地址

命令:

输出:

[root@localhost~]#ifconfigeth0192.168.120.56
[root@localhost~]#ifconfigeth0192.168.120.56netmask255.255.255.0
[root@localhost~]#ifconfigeth0192.168.120.56netmask255.255.255.0broadcast192.168.120.255

说明:

ifconfigeth0192.168.120.56

给eth0网卡配置IP地192.168.120.56

ifconfigeth0192.168.120.56netmask255.255.255.0

给eth0网卡配置IP地址192.168.120.56并加上子掩码255.255.255.0

ifconfigeth0192.168.120.56netmask255.255.255.0broadcast192.168.120.255

/给eth0网卡配置IP地址192.168.120.56加上子掩码255.255.255.0加上个广播地址192.168.120.255

实例6:启用和关闭ARP协议

命令:

ifconfigeth0arp

ifconfigeth0-arp

输出:

[root@localhost~]#ifconfigeth0arp
[root@localhost~]#ifconfigeth0-arp

说明:

ifconfigeth0arp开启网卡eth0arp协议;

ifconfigeth0-arp关闭网卡eth0arp协议;

实例7:设置最大传输单元

命令:

ifconfigeth0mtu1500

输出:

[root@localhost~]#ifconfigeth0mtu1480
[root@localhost~]#ifconfig
eth0Linkencap:EthernetHWaddr00:50:56:BF:26:1F
inetaddr:192.168.120.203Bcast:192.168.120.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1480Metric:1
RXpackets:8712395errors:0dropped:0overruns:0frame:0
TXpackets:36631errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:597062089(569.4MiB)TXbytes:2643973(2.5MiB)

loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:9973errors:0dropped:0overruns:0frame:0
TXpackets:9973errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:518096(505.9KiB)TXbytes:518096(505.9KiB)

[root@localhost~]#ifconfigeth0mtu1500
[root@localhost~]#ifconfig
eth0Linkencap:EthernetHWaddr00:50:56:BF:26:1F
inetaddr:192.168.120.203Bcast:192.168.120.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:8712548errors:0dropped:0overruns:0frame:0
TXpackets:36685errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:597072333(569.4MiB)TXbytes:2650581(2.5MiB)

loLinkencap:LocalLoopback
inetaddr:127.0.0.1Mask:255.0.0.0
UPLOOPBACKRUNNINGMTU:16436Metric:1
RXpackets:9973errors:0dropped:0overruns:0frame:0
TXpackets:9973errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:0
RXbytes:518096(505.9KiB)TXbytes:518096(505.9KiB)

[root@localhost~]#

说明:

设置能通过的最大数据包大小为1500bytes

备注:用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。