一 ifconfig概述:
(1)ifconfig命令能够启用或者禁止一个网络接口,设置它的ip地址和子网掩码,设置虚拟接口以及设置其他各种选项和参数。ifconfig常常在系统引导时运行,从配置文件获得命令行参数,也可以通过手工执行来修改网络配置。
(2)格式:(需要root权限)
ifconfig[-v] [-a] [-s] [interface]
ifconfig [-v] interface [fimary] options | address ...
(3)ifup和ifdown:
ifup:用来打开指定的网络接口。
ifdown:用来关闭指定的网络接口。
例如:
sudo ifup eth0
sudo ifdown eth0
二 使用细则:
(1)网络接口配置和运行信息的显示:
*ifconfig:显示当前活动(active)网络接口的配置和运行信息。
*ifconfig interface:显示interface接口的配置和运行信息。(interface表示这一命令用于哪个网络接口上,通常表示是2或3个字符的设备名后跟一个数字,比如:eth0、eth1等,lo为linux上的环回接口)。
*ifconfig -a:显示所有网络接口的配置和运行信息,包括活动的和不活动的。
*ifconfig -s:和netstat -i,显示网络接口的简短信息。
如下图:
RX packets和TX packets报告各个接口从机器启动以来接受和发送的包的个数。
error:存放各种不同类型的错误,显示有个别错误是正常的。
collisions:给出包在发送期间遇到的冲突次数。
(2)参数family:
参数family告诉ifconfig命令要配置哪一种网络协议("地址簇")。在一个网络接口上可以配置多种网络协议,并同时使用它们,但是每种协议必须单独配置。这里的协议主要有两种选项:IPv4的inet和IPv6的inet6。
(3)参数address:
参数address:指定了接口的IP地址。这里也接受一个主机名作为地主参数,在系统引导时必须把这个主机名解析为一个IP地址。对于一个机器的主网络接口来说,这意味着这个主机名必须出现在本地的/etc/hosts文件中,因为其他解析主机名的方法都要依靠网络配通之后才可以用。
用法:ifconfig eth0 10.3.8.251
关键字up:启动网络接口。用法:ifconfig eth0 up
关键字down:停止网络接口。用法:ifconfig eth0 down
(4)虚拟接口:
一台机器可以在网络上对比它的物理网络接口更多的IP地址做出响应。
好处:可以把多个站点放在一台服务器机器上,节约成本等。
linux上虚拟接口按照interface:instance的方式命名。例如:以太网为eth0,那么与之相关联的虚拟接口就应该是eth0:0,eth0:1等。
命令如下:
$sudo ifconfig eth0:0 10.3.8.252 netmask 255.0.0.0 up #这个是临时有效,重新启动后就无效了。
如果需要永久有效,则需要把虚拟接口的定义放入文件中。例如:ubuntu下,虚拟接口必须定义在/etc/network/interfaces文件中:
iface eth0:0 inet static
address:10.3.8.252
netmask 255.0.0.0
broadcast 10.3.8.255
(5)选项:
*netmask选项:可设置网络接口的子网掩码。
用法:ifconfig eth0 netmask 255.255.255.0
*broadcast选项:指定接口的IP广播地址。
用法:ifconfig eth0 netmask 10.3.8.255
其它更多选项,请见命令手册ifconfig(8)。