查看网络信息的原初 ifconfig
Linux ifconfig
命令用于显示或设置网络设备,在调试或调优的时间经常使用。
官方定义为:
ifconfig - configure a network interface
对于这个命令,一般只要掌握如何查看,如何设置IP地址基本就可以了,对于网络钻的比较深的,还需要更多一些参数。
使用方法为:
1 2 3 4 5
| $ ifconfig [-v] [-a] [-s] [interface]
$ ifconfig [-v] interface [aftype] options | address ...
|
一些参数的含义为:
-a
:显示所有网卡的状态,即使是down的状态
-s
:显示一个短列表
interface mtu N
设置最大传输单元【需要管理员权限】
netmask addr
:设置掩码地址【需要管理员权限】
interface up
激活网卡【需要管理员权限】
interface down
关闭网卡【需要管理员权限】
interface hw ether xx.xx.xx.xx.xx.xx
设置MAC地址【需要管理员权限】
默认无参数使用
如果不指定任何参数,直接显示当前活动的接口,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| $ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x0<global> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 5634431 bytes 4994127142 (4.6 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 858051 bytes 109858013 (104.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0xc7320000-c733ffff
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 1547215 bytes 92862867 (88.5 MiB) RX errors 0 dropped 6 overruns 0 frame 0 TX packets 3230 bytes 922051 (900.4 KiB) 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 219608 bytes 105943591 (101.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 219608 bytes 105943591 (101.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
|
其中一般希望看到的信息包括:
- inet:为IP地址
- ether:为MAC地址
- MTU:最大传输单元
不加任何参数只会显示已经配置并且活跃的网卡信息,如果使用ifconfig -a
就可以显示全部的网卡状态了,即使有些网卡是down的状态。
亦或者指定一个interface,比如上面的eth1,则只输出这个网卡的信息,如下:
1 2 3 4 5 6 7 8 9 10
| $ ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 1547215 bytes 92862867 (88.5 MiB) RX errors 0 dropped 6 overruns 0 frame 0 TX packets 3230 bytes 922051 (900.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
|
-s显示短列表
如果只想看到MTU以及数据包的状态,可以用该参数,如下:
1 2 3 4 5
| $ ifconfig -s Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 5665450 0 0 0 867639 0 0 0 BMRU eth1 1500 3489187217 0 101054 0 501260400 0 0 0 BMU lo 65536 219708 0 0 0 219708 0 0 0 LRU
|
输出信息主要包含了MTU值,发送及接收的数据情况。
配置IP地址
如下对eth0网卡配置IP地址、掩码以及广播地址,当然可以分布操作
1 2 3 4 5 6 7 8
| $ ifconfig eth0 192.168.1.123
$ ifconfig eth0 192.168.1.123 netmask 255.255.255.0
$ ifconfig eth0 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255
|
修改MTU
在某些情况下可能需要修改MTU值,比如增到到MTU为9000,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| $ ifconfig eth1 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 1547215 bytes 92862867 (88.5 MiB) RX errors 0 dropped 6 overruns 0 frame 0 TX packets 3230 bytes 922051 (900.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$ ifconfig eth1 MTU 9000
$ ifconfig eth1 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000 inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255 inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 1547215 bytes 92862867 (88.5 MiB) RX errors 0 dropped 6 overruns 0 frame 0 TX packets 3230 bytes 922051 (900.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
|
已经看到输出的信息已经把mtu更新为了9000.
这个值对网络传输影响很大。
启动关闭网卡
启动关闭主要的应用场景为重新设置了IP地址,或者暂时对某个网卡进行操作。
1 2 3 4 5
| $ ifconfig eth0 down
$ ifconfig eth0 up
|
不过需要注意的是
- 很多的设置操作都需要管理员权限;
- 很多操作在重启后设置都会还原,如果需要永久设置,需要更改network的一些配置文件;
- 这个程序基本被淘汰了,已经不在更新,所有的操作或者用法均可以通过
ip
来搞定。等明天~。