Ifconfig使用
Ifconfig
Ifconfig的Man中对其描述为“Ifconfig is used to configurethe kernel-resident network interfaces”,顾名思义就是用来配置网络接口的, 但是我们用该命令最常见的不是配置网络接口,而是查看网络接口的状态。比如运行不带参数的ifconfig可以得到如下的输出(这里只截取了eth1接口的输出)
eth1 Link encap:Ethernet HWaddr 00:16:3E:F0:21:14
inet addr:10.6.221.149 Bcast:10.6.221.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:113830782 errors:0 dropped:0 overruns:0 frame:0 TX packets:51684388 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1667582663 (1590.3 Mb) TX bytes:1682071042 (1604.1 Mb)
上述结果中 Link encap 字段表示网络类型如Ethernet以太网。后面的HWaddr为网卡的物理地址(什么事物理地址不解释,系统起来后可以自行配置也不解释)。 inet字段相信写过socket的人都知道:IPv4地址,如果是inet6的话则为IPv6地址。其后的Bcast是BroadCast即广播地址,再后面的Mask是子网掩码地址。 下面的UP表示网络接口的状态,UP表示Active可用状态,对应的down为关闭状态,即不可以连接。MTU为最大传输单元大小。 RX和TX分别表示接受和发出数据的信息,前两行单位为数据包,最后一行的单位是字节。errors 、dropped、overruns,分别表示错误,丢弃和超时的包。collisions表示 冲突的包。通过观察这几个字段的值可以简单判断网络的健康状况。
命令详解
1)查看当前机器网络接口信息
ifconfig
如上面看到的一样,不加任何参数的ifconfig命令,会按上面的格式列出本机所有的激活的网络接口。
ifconfig -a
-a 参数会使ifconfig列出本机所有的网络接口信息,包括状态为down的接口
ifconfig eth1
在ifconfig后面接上网络接口的名称,可以只显示该接口的信息
2)配置网络接口
ifconfig eth0 192.168.0.5 hw ether 00:16:3E:F0:21:14 netmask 255.255.255.0 broadcast 192.168.0.0 up
上面的命令将接口eth0的ip设置成192.168.0.5,这里省略了关键字address,address用来指明ip地址。同时设置eth0的网络类型为以太网,物理地址(hw)00:16:3E:F0:21:14,子网掩码(netmask ) 广播地址为(broadcast) 192.168.0.0,并激活(up)接口eth0
可以将上面的命令分开来用,比如像关闭或激活接口eth1,可以单独使用 "ifcofnig eth1 up/down " ifconfig比较常用有address 指定ip地址,netmask指定子网掩码,broadcast指定广播地址. 其他可能用到的参数有
- mtu bytes_number: 指定该接口的MTU大小为bytes_number
- hw class addr : 指定接口网络类型为class(如ether以太网)同时指定物理地址为addr
其他的参数表示的意思我不是很熟悉,有意者可以参考Man。
参考:Ifconfig Man Page