ifconfig(英文全拼:network interfaces configuring)命令的主要功能是查看、配置网络接口,以及设置当前网络设备的状态。
语法:ifconfig [参数] [网卡名称] [动作]
参数说明:
add<地址>:设置网络设备IPv6的IP地址。
del<地址>:删除网络设备IPv6的IP地址。
down/up:关闭/启动指定的网络设备。
<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地址。
[网络设备]:指定网络设备的名称。
[root@app01 ~]# ifconfigens33: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 00:0c:29:c1:26:9c txqueuelen 1000 (Ethernet) RX packets 32 bytes 4560 (4.4 KiB) 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 0ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255 inet6 fe80::21bb:a24:e360:8f81 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c1:26:a6 txqueuelen 1000 (Ethernet) RX packets 307 bytes 25446 (24.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 180 bytes 38830 (37.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0**********************省略部分输出内容**********************
[root@app01 ~]# ifconfig ens33 down[root@app01 ~]# ifconfig ens33 up
[root@app01 ~]# ifconfig ens33 202.106.20.3[root@app01 ~]# ifconfig ens33ens33: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 202.106.20.3 netmask 255.255.255.0 broadcast 202.106.20.255 ether 00:0c:29:c1:26:9c txqueuelen 1000 (Ethernet) RX packets 50 bytes 7896 (7.7 KiB) 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
使用这种方法给网卡配置的ip地址,在主机重启动后,配置的ip会失效,这种方法只适用于临时使用时设置,如果长期使用的话,建议修改对应网卡的配置文件让其永久生效。
如果在给指定网卡配置设置ip时要加上子网掩码或是广播地址的话。如下所示:
//给ens33 网卡配置IP地址,并加上子掩码[root@app01 ~]# ifconfig ens33 202.106.20.3 netmask 255.255.255.0 //给ens33 网卡配置IP地址,加上子掩码,加上个广播地址[root@app01 ~]# ifconfig ens33 202.106.20.3 netmask 255.255.255.0 broadcast 202.106.20.255
[root@app01 ~]# ifconfig ens33 add 202.106.20.3[root@app01 ~]# ifconfigens33: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 00:0c:29:c1:26:9c 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 0ens33:0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 202.106.20.3 netmask 0.0.0.0 broadcast 0.0.0.0 ether 00:0c:29:c1:26:9c txqueuelen 1000 (Ethernet)[root@app01 ~]# ifconfig ens33 del 202.106.20.3
这种方法也是临时给一个网卡配置一个ip,但是不是给原网卡指定ip,而是给该网卡临时绑定了一个ip,并以网卡名称:0的方式命名,如果再配置一个ip就会再次生成一个以网卡名称:1的方式命名。
5、开启或关闭arp协议
//开启arp协议[root@app01 ~]# ifconfig ens33 arp //关闭arp协议[root@app01 ~]# ifconfig ens33 arp
[root@app01 ~]# ifconfig ens33 hw ether 00:AA:BB:CC:DD:EE
[root@app01 ~]# ifconfig ens33 mtu 1500
注:一般不建议设置这个传输单元,它并不是越大越好。将MTU设置得过大(如超过1500)在连接互联网时风险很高,因为互联网上的许多设备仍使用标准MTU,过大的数据包会被丢弃或分片,反而导致性能下降。