当前位置:文档之家› Ifconfig

Ifconfig

Ifconfig
⑴基础知识
ifconfig 命令被用来:
①为一个网卡分配一个IP地址
②设置本地环路界面
③分配一个子网掩码(可选)
这个命令在系统启动的时候通过/sbin/init.d/net脚本自动执行的。

也可以在任何时候以命令行的方式执行。

Usage: ifconfig interface addr_family [address] [ parameters]
Options:
interface 一个最大四位的字符串,最后一个字符是数字,例如lan0。

这个字符串代表网卡。

数字表示网卡的instance。

对有的系统来说,网卡的instance是自动分配的。

首先配置的网卡是lan0。

而lo0指明这是本地回路。

add_family 对DARPA Internet协议来说,唯一支持的是inet(默认的)。

address 数字形式的IP地址
parameters 最重要的参数是up,down,arp,-arp,和netmask。

up 激活这个网卡
down 关闭这个网卡
[-] arp 在OSI模型的第二层和第三层(链路层和网络层)之间禁用/使用地址解析协议netmask subnet 子网位掩盖网络部分。

并指明了在将网络分割为子网的时候所保留地址的数量,一般也用数字形式。

-a 详细显示所有接口
-u 显示目前使用中的装置
⑵实例
①检查网络接口
例如:
*检查所有网络接口的状态:
# ifconfig –a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST>; mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*检查一个接口的状态:
# ifconfig le0
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
各字段含义:
lo0,le0——网络接口的设备名
Flags——网络接口状态的数字表示方式,状态变量已经在包中定义,将在后来讨论。

MTU——MTU用来定义包的存储片
Inet——接口的Internet 地址
netmask——掩码应用于网络层包的输入和输出。

掩码被用来定义哪些值是用来表示网络地址的位。

Broadcast——广播地址,用来发送信息到所有主机。

Ether——由ARP使用的以太网地址(MAC)
—状态段
UP——这个标志指出这个接口是开放的,可以发送和接收数据。

DOWN——相反的,这个标志指出这个接口是关闭的,也就是说,此时不能为主机发送和转发包。

NOTRAILERS——这个标志指出了一个报文尾不包括以太帧的尾部。

报文尾是在Berkerley Unix系统中使用的把信息头加到包尾的一种方式。

在Solaris2.x系统中已经不支持。

RUNNING——这个标志指出,该接口已经被系统识别。

MULTICAST——这表示接口支持多路传送地址。

BROADCAST——这表示接口支持广播地址。

②网络地址配置
——解决网络接口故障
为了确保主机接口配置的正确,要检查如下几项:
所有的接口状态是否为UP
IP地址是否正确
子网掩码是否正确
广播地址是否正确
——重新配置网络接口参数
* 允许一个网络接口(Enable):
# ifconfig le0 up
# ifconfig le0
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;
mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*禁用一个网络接口(Disable):
# ifconfig le0 down
# ifconfig le0
le0: flags=863<BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500
inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*关闭一个网络接口(Close):
# ifconfig le0 unplumb
# ifconfig le0
ifconfig : SIOCGIFFLAGS:le0:no such interface
*打开一个网络接口(Open):
# ifconfig le0 plumb
# ifconfig le0
le0:flags=842<BROADCAST,RUNNING,MULTICAST>; mtu 1500
inet 0.0.0.0 netmask 0
ether 8:0:20:75:6e:6f
*设置一个IP地址,允许接口但不允许trailers:
# ifconfig le0 inet 128.50.1.2 –trailers up
# ifconfig le0
le0: flags=842<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;
mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*改变掩码值和广播值来正确的反映新的掩码:
# ifconfig le0 netmask 255.255.255.0 broadcast +
# ifconfig le0
le0: flags=843<UP,BROADCAST,RUNNING,MULTICAST>; mtu 1500
inet 128.50.1.2 netmask ffffff00 broadcast 128.50.1.255
ether 8:0:20:75:6e:6f
*在正确的设置子网掩码后改变所有的广播地址:
# ifconfig –a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST>; mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500 inet 128.50.1.5 netmask ffffff00 broadcast 128.50.255.255
ether 8:0:20:75:8b:59
le1: flags=842<BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500 inet 128.50.3.6 netmask ffffff00 broadcast 128.50.255.255
ether 8:0:20:75:8b:59
# ifconfig –a broadcast +
# ifconfig –a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST>; mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500 inet 128.50.1.5 netmask ffffff00 broadcast 128.50.1.255
ether 8:0:20:75:8b:59
le1: flags=842<BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500 inet 128.50.3.6 netmask ffffff00 broadcast 128.50.3.255
ether 8:0:20:75:8b:59。

相关主题