一天一个 Linux 命令(46):ifconfig 命令

一、简介

Linux下的ifconfig命令(英文全称是“network interfaces configuring”)是用于配置和显示Linux内核中网络接口的网络命令。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。有点类似windows系统下的ipconfig命令行工具

二、格式说明

ifconfig [网络设备] [参数]
Usage:
  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] ...
  
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地址]

三、选项说明

add<地址> 设置网络设备IPv6的IP地址
del<地址> 删除网络设备IPv6的IP地址
up 启动指定的网络设备
down 关闭指定的网络设备
<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址
io_addr<I/O地址> 设置网络设备的I/O地址
irq<IRQ地址> 设置网络设备的IRQ
media<网络媒介类型> 设置网络设备的媒介类型
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目
mtu<字节> 设置网络设备的MTU
netmask<子网掩码> 设置网络设备的子网掩码
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能
-promisc 关闭或启动指定网络设备的promiscuous模式
[IP地址] 指定网络设备的IP地址
[网络设备] 指定网络设备的名称

四、命令功能

用来查看和配置网络设备,当网络环境发生改变时可通过此命令对网络进行相应的配置。

五、常见用法

5.1 显示网络设备信息

//显示所有的网卡信息
# ifconfig -a
//显示简要的网卡信息
# ifconfig -s
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.21.0.15  netmask 255.255.240.0  broadcast 172.21.15.255
        inet6 fe80::5054:ff:fe3a:5f30  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:3a:5f:30  txqueuelen 1000  (Ethernet)
        RX packets 142917061  bytes 20140004625 (18.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 156766684  bytes 52480824073 (48.8 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 28095958  bytes 56967620926 (53.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28095958  bytes 56967620926 (53.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

说明:

eth0 表示第一块网卡

inet 用来表示网卡的IP地址,此网卡的 IP地址是 172.21.0.15,广播地址, broadcast:172.21.15.255,掩码地址netmask是255.255.240.0

lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

一般情况下:

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息。

5.2 启动关闭指定网卡

//启动网卡
# ifconfig eth0 up
//关闭网卡,此操作要慎重,如果ssh登录可能会导致网络连接断开
# ifconfig eth0 down

5.3 为网卡配置和删除IPv6地址

//为网卡设置IPv6地址
# ifconfig eth0 add fe80::5054:ff:fe3a:5f30::2/64
//为网卡删除IPv6地址
# ifconfig eth0 del fe80::5054:ff:fe3a:5f30::2/64

5.4 用ifconfig修改MAC地址:

//关闭网卡
# ifconfig eth0 down
//修改MAC地址
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
//启动网卡
# ifconfig eth0 up

5.5 配置IP地址:

//给eth0网卡配置IP地址
# ifconfig eth0 172.21.0.18
// 给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 172.21.0.18 netmask 255.255.255.0
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
# ifconfig eth0 172.21.0.18 netmask 255.255.255.0 broadcast 172.21.1.255

5.6 启用和关闭ARP协议

# ifconfig eth0 arp  //开启
# ifconfig eth0 -arp  //关闭

5.7 设置最大传输单元

//设置能通过的最大数据包大小为 1500 bytes
# ifconfig eth0 mtu 1500

 

posted @ 2022-01-07 13:55  joshua317  阅读(444)  评论(0编辑  收藏  举报