我见过最好的Linux教程——关于网络命令ifconfig详解

红豆生南国,春来发几枝。

一、网络接口配置命令——ifconfig

ifconfig具有两种功能,一种是显示网络接口的信息,还有一种就是设置网络接口的参数。

有关显示网络接口信息的命令格式如下:

ifconfig [-a] [-s] [interface]

interface表示接口的名称,
比如eth0、lo等,如果指定了接口的信息,则只会给出指定的接口信息,否则是列出所有活动的信息。

[root@Demo ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:06:EA:C5  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe06:eac5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:492 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:45271 (44.2 KiB)  TX bytes:17801 (17.3 KiB)

[root@Demo ~]# 

-a表示列出所有接口,

[root@Demo ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:06:EA:C5  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe06:eac5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:563 errors:0 dropped:0 overruns:0 frame:0
          TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:51018 (49.8 KiB)  TX bytes:22517 (21.9 KiB)

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:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:344 (344.0 b)  TX bytes:344 (344.0 b)

[root@Demo ~]# 

-s 列出的是接口的简要信息,

[root@Demo ~]# ifconfig -s
Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0      465      0      0      0      112      0      0      0 BMRU
lo        16436   0        4      0      0      0        4      0      0      0 LRU
[root@Demo ~]# 

例如下列命令列出所有活动接口的信息:

[root@Demo ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:06:EA:C5  		##表示接口的类型是以太接口,以及mac地址。
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0	##ip地址以及子网掩码。
          inet6 addr: fe80::20c:29ff:fe06:eac5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1				## MUT表示最大以太数据帧是1500字节。
          RX packets:392 errors:0 dropped:0 overruns:0 frame:0				##表示当前收到了392字节数据。
          TX packets:91 errors:0 dropped:0 overruns:0 carrier:0				##表示当前发送了91字节数据。
          collisions:0 txqueuelen:1000 
          RX bytes:36821 (35.9 KiB)  TX bytes:12499 (12.2 KiB)

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:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:344 (344.0 b)  TX bytes:344 (344.0 b)

[root@Demo ~]# 

ifconfig命令设置网络接口参数命令格式如下:

ifconfig [interface] [ < option > [ addr ] ]

此时,必须要指定接口的名称 option表示设置选项,有些设置选项后面必须要有某种地址
以addr为例,下面是一些常用的设置。

  • addr 设置接口的IP地址为addr
  • up 激活接口
  • down 是接口处于非激活状态
  • arp 是接口能够使用arp协议
  • promisc 是接口处于混杂模式
  • netmask< addr > 设置接口的子网掩码为addr

下面为大家举例示范:
示例一:

[root@Demo ~]# ifconfig eth0 192.168.0.102	
##把eth0接口的ip地址设置为192.168.0.102

示例二:

[root@Demo ~]# ifconfig eth0 192.168.0.102 netmask 255.255.255.0	
##把eth0接口的ip地址设置为192.168.0.102,并且把子网掩码设置为255.255.255.0

示例三:

[root@Demo ~]# ifconfig eth0 promisc
##是eth0处于混杂模式。

示例四:

[root@Demo ~]# ifconfig eth0 -arp
##使eth0接口不使用arp协议

示例五:

[root@Demo ~]# ifconfig eth0 down
##使eth0接口处于非激活状态。

注意以上命令执行后都可以通过ifconfig -a eth0 命令来对设备进行检验,ifconfig命令的设置参数还有很多,大家可以通过man ifconfig 命令查看它的使用手册来获取更多的设置参数。

ps:ifconfig命令修改网络接口参数后,能够马上生效,但却不存储,当linux进行重启后,参数将回到原来的状态。

你可能感兴趣的:(Linux基础篇)