概述
ifconfig工具被用来查看和配置网络接口配置信息。用ifconfig命令配置的网卡信息,在网络设备重启后,配置就会还原。要想将修改的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
语法
ifconfig [网络设备][down up -allmulti -arp
-promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
参数说明:
- -a 显示全部接口信息。
- -s 显示摘要信息(类似于 netstat -i)。
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- down 关闭指定的网络设备。(该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除)
- <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
- io_addr<I/O地址> 设置网络设备的I/O地址。
- irq<IRQ地址> 设置网络设备的IRQ。
- media<网络媒介类型> 设置网络设备的媒介类型。
- mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
- metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
- mtu<字节> 设置网络设备的MTU。
- netmask<子网掩码> 设置网络设备的子网掩码。
- tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
- up 启动指定的网络设备。
- -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
- -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
- -promisc 关闭或启动指定网络设备的promiscuous模式(如果选择此参数,网卡将接收网络中发给它所有的数据包。-表示关闭混杂模式)
- [-]arp 设置指定网卡是否支持ARP协议。-表示不支持arp。
- [IP地址] 指定网络设备的IP地址。
- [网络设备] 指定网络设备的名称。
显示网络设备信息
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
Interrupt:185 Base address:0x2024
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:2022 errors:0 dropped:0 overruns:0 frame:0
TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)
分析说明
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
// eth0 :是网卡名称
// Link encap:Ethernet :是连接类型,这里是Ethernet(以太网)
// HWaddr 00:50:56:0A:0B:0C :是网卡物理地址(MAC地址)
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
// inet addr :网卡的IPv4地址。
// Bcast :广播地址。
// Mask :子网掩码。
inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
// 网卡的IPv6地址
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
// UP :表示“接口已启用”。
// BROADCAST :表示“主机支持广播”。
// RUNNING :表示“接口在工作中”。
// MULTICAST :表示“主机支持多播”。
// MTU:1500(最大传输单元):1500字节
RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
// RX packets 接收时,正确的数据包数。
// RX errors 接收时,产生错误的数据包数。
// RX dropped 接收时,丢弃的数据包数。
// RX overruns 接收时,由于速度过快而丢失的数据包数。
// RX frame 接收时,发生frame错误而丢失的数据包数。
TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
// TX packets 发送时,正确的数据包数。
// TX errors 发送时,产生错误的数据包数。
// TX dropped 发送时,丢弃的数据包数。
// TX overruns 发送时,由于速度过快而丢失的数据包数。
// TX carrier 发送时,发生carrier错误而丢失的数据包数。
collisions:0 txqueuelen:1000
// collisions 冲突信息包的数目。
// txqueuelen (网卡设置的传送队列长度)
RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
// RX bytes 接收的数据量。
// TX bytes 发送的数据量。
注意:lo是表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回环地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
命令实例
显示激活的网卡信息
ifconfig
显示所有的网卡信息
ifconfig -a
显示简要的网卡信息
ifconfig -s
关闭网卡
ifconfig eth0 down
或
ifdown eth0
启动网卡
ifconfig eth0 up
或
ifup eth0
为网卡配置和删除IPv6地址
// 添加
ifconfig eth0 add 3ffe:3240:800:1005::2/64
// 删除
ifconfig eth0 del 3ffe:3240:800:1005::2/64
修改MAC地址
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
配置IP地址
// 配置ip地址
ifconfig eth0 192.168.1.100
// 配置ip地址和子网掩码
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
// 配置ip地址、子网掩码和广播地址
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
单网卡添加多个IP地址
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0 up
删除IP地址
ifconfig eth0 del 192.168.1.100
启用和关闭ARP协议
// 启用arp
ifconfig eth0 arp
// 禁用arp(禁用arp的时候,会出现NOARP字段)
ifconfig eth0 -arp
设置最大传输单元
//设置能通过的最大数据包大小为 1500 bytes
ifconfig eth0 mtu 1500
设置网卡的promiscuous模式
// 启用(当启用时出现PROMISC字段)
ifconfig eth0 promisc
// 禁用
ifconfig eth0 -promisc
设置网卡的多播模式
// 启用(当启用时会出现MULTICAST字段)
ifconfig eth0 allmulti
// 禁用
ifconfig eth0 -allmulti