ifconfig命令详解
ifconfig配置和显示Linux系统网卡的网络参数
语法
ifconfig (参数)
参数
- add<地址>:设置网络设备IPv6的ip地址;
- del<地址>:删除网络设备IPv6的IP地址;
- down:关闭指定的网络设备;
- <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模式;
- IP地址:指定网络设备的IP地址;
- 网络设备:指定网络设备的名称。
实例
显示网络设备信息:
[root@mex ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.129 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe5f:88b6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:5f:88:b6 txqueuelen 1000 (Ethernet)
RX packets 163692 bytes 17288354 (16.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 252704 bytes 50255366 (47.9 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 3 bytes 1728 (1.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3 bytes 1728 (1.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
说明:
ens160 表示第一块网卡,其中ether
表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:0c:29:5f:88:b6
。
**inet ** 用来表示网卡的IP地址,此网卡的IP地址是10.0.0.129
,广播地址10.0.0.255
,掩码地址255.255.255.0
。
lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
-
第一行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:65536(最大传输单元):65536字节。
-
第二行:网卡的IPV4地址、子网掩码。
-
第三行:网卡的IPV6地址。
-
第五、六行:接收数据包情况统计
-
第七、八行:发送数据包情况统计。
启动关闭指定网卡:
ifconfig ens160 up
ifconfig ens160 down
ifconfig ens160 up
为启动网卡ens160,ifconfig ens160 down
为关闭网卡ens160。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
配置IP地址:
[root@localhost ~]# ifconfig ens160 10.0.0.188
[root@localhost ~]# ifconfig ens160 10.0.0.188 netmask 255.255.255.0
[root@localhost ~]# ifconfig ens160 10.0.0.188 netmask 255.255.255.0 broadcast 10.0.0.255
启用和关闭arp协议:
ifconfig ens160 arp #开启网卡eth0 的arp协议
ifconfig ens160 -arp #关闭网卡eth0 的arp协议
设置最大传输单元:
ifconfig ens160 mtu 65536 #设置能通过的最大数据包大小为 65536 bytes
其它实例
ifconfig #处于激活状态的网络接口
ifconfig -a #所有配置的网络接口,不论其是否激活
ifconfig ens160 #显示eth0的网卡信息
补充说明
bash: ifconfig: 未找到命令 解决方案
[root@mex ~]# ifconfig
-bash: ifconfig: command not found
Rocky
[root@mex ~]# yum -y install net-tools
Ubuntu
root@ubuntu2004:~# apt -y install net-tools
ifconfig命令 被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。