【Linux基础编程】ifconfig命令

    技术2022-07-10  199

    01.目录

    目录

    01.目录02.命令概述03.命令格式04.常用选项05.参考示例5.1. 查看本机激活状态的网络信息5.2. 查看所有激活或者没激活的网络接口5.3. 显示ens33网卡信息5.4. 关闭网卡5.5. 启动网卡5.6. 添加ipv6地址5.7. 删除ipv6地址5.8. 修改Max地址5.9. 配置ip地址5.10. 配置ip地址的同时指定掩码5.11. 配置ip的同时指定掩码和广播地址5.12. 设置能通过的最大数据包大小为1500bytes5.13. 开启arp功能5.14. 关闭arp功能 06总结

    02.命令概述

    ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

    03.命令格式

    ifconfig [接口] ifconfig 接口 [aftype] options | address ...

    04.常用选项

    interface 接口的名称。这通常是一个驱动程序名,后面跟着一个单元号,例如用于第一个以太网接口的eth0。 up 此标志将导致激活接口。如果将地址分配给接口,则会隐式指定该地址。 down 此标志导致关闭此接口的驱动程序。 [-]arp 启用或禁用在此接口上使用ARP协议。 [-]promisc 启用或禁用接口的混杂模式。如果选中,网络上的所有数据包都将由接口接收。 [-]allmulti 启用或禁用所有多播模式。如果选中,则接口将接收网络上的所有多播数据包。 metric N 此参数设置接口度量。它在GNU/Linux下不可用 mtu N 此参数设置接口的最大传输单元(MTU)。 dstaddr addr 为点对点链路(如PPP)设置远程IP地址.这个关键字现在已经过时了;使用pointopoint关键字代替。 netmask addr 设置此接口的IP网络掩码。此值默认为通常的A、B或C类网络掩码(从接口IP地址派生),但可以设置为任何值。 add addr/prefixlen 向接口添加IPv 6地址 del addr/prefixlen 从接口中删除IPv 6地址 tunnel ::aa.bb.cc.dd 创建一个新的SIT(IPv6-in-IPv4)设备,通过隧道到达给定的目的地。 irq addr 设置此设备使用的中断行。并非所有设备都可以动态更改其IRQ设置。 io_addr addr 为该设备设置I/O空间中的起始地址 mem_start addr 设置此设备使用的共享内存的起始地址。只有少数几个设备需要这个 media type 设置设备要使用的物理端口或介质类型。并非所有设备都可以更改此设置,以及那些可以更改其支持的值的设备。典型的类型值是10 base 2(细以太网)10 base T(双绞线10 Mbps以太网)AUI(外收发信机)等。驱动的特殊介质类型可以用来告诉驱动对媒体进行自动感知。同样,并不是所有的驱动都能做到这一点。 [-]broadcast [addr] 如果地址参数给定,则为该接口设置协议广播地址。否则,设置(或清除)接口的IFF_BROADCAST标志。 [-]pointopoint [addr] 这个关键字启用了接口的点对点模式,这意味着它是两台机器之间的直接链接,没有其他人监听它。如果地址参数也给出了,就像过时的dstaddr关键字一样,设置链接另一端的协议地址。否则,设置或清除接口的IFF_POINTOPOINT标志。 hw class address 如果设备驱动程序支持此操作,则设置此接口的硬件地址。关键字后面必须跟着硬件类的名称和相当于硬件地址的可打印的ASCII。目前支持的硬件类包括ether (以太网)ax25(AMPRAX.25)、ARCnet和netrom(AMPR NET/ROM)。 multicast 在接口上设置多播标志。这通常不应该需要,因为驱动程序本身设置正确的标志。 address 要分配给此接口的IP地址。 txqueuelen length 设置设备的传输队列的长度。对于具有高延迟(调制解调器链路,ISDN)的较慢设备,将其设置为小值是有用的,以防止快速批量传输过多地干扰诸如telnet之类的交互通信。

    05.参考示例

    5.1. 查看本机激活状态的网络信息
    [root@localhost ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.0.76 netmask 255.255.254.0 broadcast 172.16.1.255 inet6 fe80::16e5:9e6b:b4d5:68de prefixlen 64 scopeid 0x20<link> ether 00:50:56:26:d8:88 txqueuelen 1000 (Ethernet) RX packets 6228371 bytes 1866155533 (1.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12697 bytes 4930072 (4.7 MiB) 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 58611 bytes 3738994 (3.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 58611 bytes 3738994 (3.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:d2:18:f4 txqueuelen 1000 (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 [root@localhost ~]#
    5.2. 查看所有激活或者没激活的网络接口
    [root@localhost ~]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.0.76 netmask 255.255.254.0 broadcast 172.16.1.255 inet6 fe80::16e5:9e6b:b4d5:68de prefixlen 64 scopeid 0x20<link> ether 00:50:56:26:d8:88 txqueuelen 1000 (Ethernet) RX packets 6228561 bytes 1866208151 (1.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12712 bytes 4933606 (4.7 MiB) 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 58623 bytes 3739714 (3.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 58623 bytes 3739714 (3.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:d2:18:f4 txqueuelen 1000 (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 virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:d2:18:f4 txqueuelen 1000 (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 [root@localhost ~]#
    5.3. 显示ens33网卡信息
    [root@localhost ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.0.76 netmask 255.255.254.0 broadcast 172.16.1.255 inet6 fe80::16e5:9e6b:b4d5:68de prefixlen 64 scopeid 0x20<link> ether 00:50:56:26:d8:88 txqueuelen 1000 (Ethernet) RX packets 6229282 bytes 1866403997 (1.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12777 bytes 4946850 (4.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@localhost ~]#
    5.4. 关闭网卡
    [root@localhost home]# ifconfig ens33 down [root@localhost home]#
    5.5. 启动网卡
    [root@localhost home]# ifconfig ens33 up [root@localhost home]#
    5.6. 添加ipv6地址
    [root@localhost ~]# ifconfig ens33 add 33ffe:3240:800:1005::2/64 [root@localhost ~]#
    5.7. 删除ipv6地址
    [root@localhost ~]# ifconfig ens33 del 33ffe:3240:800:1005::2/64 [root@localhost ~]#
    5.8. 修改Max地址
    [root@localhost ~]# ifconfig ens33 hw ether 00:50:56:26:d8:88 [root@localhost ~]#
    5.9. 配置ip地址
    [root@localhost ~]# ifconfig ens33 172.16.0.76 [root@localhost ~]#
    5.10. 配置ip地址的同时指定掩码
    [root@localhost ~]# ifconfig ens33 172.16.0.76 [root@localhost ~]#
    5.11. 配置ip的同时指定掩码和广播地址
    [deng@localhost ~]$ ifconfig ens33 172.16.0.76 netmask 255.255.254.0 broadcast 172.16.1.255
    5.12. 设置能通过的最大数据包大小为1500bytes
    [root@localhost ~]# ifconfig ens33 mtu 1500
    5.13. 开启arp功能
    [root@localhost ~]# ifconfig ens33 arp [root@localhost ~]#
    5.14. 关闭arp功能
    [root@localhost ~]# ifconfig ens33 -arp [root@localhost ~]#

    06总结

    ifconfig ens33在我们进行Linux网络编程的时候用的还是很多的,其中的一些指令也需要了解下。 ps:如果查看ens33出现的是字母,而不是点分十进制,这里说下解决方法。 解决方法: 1.退出虚拟机,到虚拟机开机界面(不是电脑开机界面) 2.设置网络连接方式为桥接,或者进入高级选项,重新随机分配Max地址。 3.重新登录虚拟机查看即可。 一般来说,这种方法就已经可以解决地址显示的问题。 版权声明:转载请注明出处。

    本文借鉴:【Linux】一步一步学Linux-----ifconfig命令(151)

    Processed: 0.015, SQL: 9