ifconfig 命令
在 Linux 中 ifconfig
命令用于显示或设置网络设备。 ifconfig
可设置网络设备的状态,或是显示目前的设置。
命令用法
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
[add <address>[/<prefixlen>]]
[del <address>[/<prefixlen>]]
[[-]broadcast [<address>]] [[-]pointopoint [<address>]]
[netmask <address>] [dstaddr <address>] [tunnel <address>]
[outfill <NN>] [keepalive <NN>]
[hw <HW> <address>] [mtu <NN>]
[[-]trailers] [[-]arp] [[-]allmulti]
[multicast] [[-]promisc]
[mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
[txqueuelen <NN>]
[[-]dynamic]
[up|down] ...
其中:
interface
指定的网络设备名称add <address>
设置网络设备的 IPv6 地址del <address>
删除网络设备的 IPv6 地址up
启动指定的网络设备down
关闭指定的网络设备netmask <address>
指定网络设备的子网掩码地址[<AF>] <address>
指定网络设备的 IP 地址,可配合地址簇使用<AF>
指定的地址簇,默认是 inet,常用的可选地址簇如下:unix Unix 域
inet DARPA 网络
inet6 IPv6 地址
ipx Novell IPX
ddp Appletalk DDP
<hw <HW> <address>
指定网络设备的类型 HW 与硬件地址 address。<HW>
指定的设备硬件类型,常用的可选类型如下:loop 本地回环 loopback 端口
ether 以太网
ppp 点对点协议
参数解析
gackle@machine:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.134.81 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::985a:92ed:f689:8651 prefixlen 64 scopeid 0x0<global>
ether 02:00:4c:4f:4f:50 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.1 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::1028:113f:f3b7:ffed prefixlen 64 scopeid 0x0<global>
ether 0a:00:27:00:00:10 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
...
其中:
eth0
: 网络设备名,其中常见的还有lo
回环地址flags
:UP
(代表网卡开启状态)RUNNING
(代表网卡的网线被接上)MULTICAST
(支持组播)MTU:1500
(最大传输单元:1500字节)inet
:IPv4 地址netmask
:IPv4 的子网掩码broadcast
:IPv4 的广播地址ether
:网络设备的 MAC 地址inet6
:IPv6 的地址RX packets 0 bytes 0 (0.0 B)
:接收数据包以及字节数TX packets 0 bytes 0 (0.0 B)
:发送数据包以及字节数
使用实例
设置 IP 地址和掩码
$ ifconfig eth0 192.168.5.40 netmask 255.255.255.0
修改 MAC 地址
$ ifconfig eth0 down $ ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE $ ifconfig eth0 up $ ifconfig eth1 hw ether 00:1D:1C:1D:1E $ ifconfig eth1 up
设置最大传输单元
$ ifconfig eth0 mtu 1500
Last updated