Linux系统下ifconfig和route配置网络详解

    ifconfig和route合用于配置网络(ip命令综合二者功能,此处不讲),通常在前者设置好ip地址等信息后,采用route命令配置路由。(对DHCP动态分配ip的网络,而需激活此ip)。本文不讲route命令。

一、ifconfig命令

    ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们。除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数。下面是一个ifconfig的通用调用语法:

  #ifconfig [-v] [-a] [-s] interface

  #ifconfig [-v] interface [[-net -host] [address | parameters]+]

  其中interface是网络接口名:address是分配给指定接口的主机名或IP地址。这里使用的主机名被解析成它们的对等IP地址,这个参数是必须的。-net和-host参数分别告诉ifconfig将这个地址作为网络号或者是主机地址。

  后面的address和parameters参数位置可成组调换。+表示可有一个或多个该类参数

  如果调用ifconfig命令时后面只跟上端口设备名,那么它将显示这个端口的配置情况;如果不带任何参数,ifconfig命令将显示至今为止所配置的接口的所有信息;如果带上-a选项,那么还可以显示当前不活跃的接口。

  一个检查以太网接口eth0的ifconfig调用可以得到如下的输出:

  #ifconfig eth0

  eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:44

  inet addr xxx.xxx.xxx.xxx Bcast xxx.xxx.xxx.255 Mask 255.255.255.0

  UP BROADCAST RUNNING MTU 1500 Metric 0

  RX packets 3136 errors 217 dropped 7 overrun 26

  TX packets 1752 errors 25 dropped 0 overrun 0

  (注意:其中XXX.XXX.XXX.XXX是IP地址)

  MTU和Metric这两列显示了当前eth0接口的最大数据传送值和接口度量值。接口度量值表示在这个路径上发送一个分组的成本。目前内核中还没有使用路由,但可能以后会用。RX(接收分组数)和TX(传送分组数)这两行显示出了接收、传送分组的数目,以及分组出错数、丢失分组数(一个可能原因是内存较少)和超限数(通常在接收器接收数据的速度快于核心的处理速度的时候发生)。

  Parameters 表示ifconfig所支持的各种参数,使用这些参数就可以便方便地监控和改变网络接口的状态。

  ifconfig的命令行参数:

  up 激活指定的接口

  down 关闭指定接口。该参数可以有效地阻止通过指定接口的IP信息 流,如果想永久地关闭一个接口,我们还需要从核心路由表中 将该接口的路由信息全部删除

  netmask mask 为接口设置