一天一个 Linux 命令(46):ifconfig 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/226
一、简介
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
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/226
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步