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

语法

  ifconfig(参数)

参数说明

add<地址>:设置网络设备IPv6的ip地址;

del<地址>:删除网络设备IPv6的IP地址;

down:关闭指定的网络设备; 

<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;

io_addr:设置网络设备的I/O地址;

irq<irq地址>:设置网络设备的IRQ;

media<网络媒介类型>:设置网络设备的媒介类型;

mem_start<内存地址>:设置网络设备在主内存所占用的起始地址;

metric<数目>:指定在计算数据包的转送次数时,所要加上的数目;

mtu<字节>:设置网络设备的MTU;

netmask<子网掩码>:设置网络设备的子网掩码;

tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址;

up:启动指定的网络设备;

-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;

-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能;

-promisc:关闭或启动指定网络设备的promiscuous模式;

IP地址:指定网络设备的IP地址;

网络设备:指定网络设备的名称。

常用实例:

1、显示网络设备信息(激活状态的):

[root@CTU1000094956 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.183.118.122  netmask 255.255.254.0  broadcast 10.183.119.255
        inet6 fe80::2a6e:d4ff:fe89:41ac  prefixlen 64  scopeid 0x20<link>
        ether 28:6e:d4:89:41:ac  txqueuelen 1000  (Ethernet)
        RX packets 44717269  bytes 3813749087 (3.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 132727  bytes 31598705 (30.1 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 0  (Local Loopback)
        RX packets 46  bytes 3924 (3.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 46  bytes 3924 (3.8 KiB)
        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:59:a6:f9  txqueuelen 0  (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

说明:

  eth0表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是52:54:00:59:a6:f9。可以看到本实例中MAC地址并没有HWaddr,而是ether,其实ether和HWaddr是一个意思。

  inet用来表示网卡的IP地址,此网卡的IP地址是10.183.118.122,广播地址broadcast:10.183.119.255,掩码地址Mask:255.255.254.0。

  lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

eth0:网卡的代号,也有lo这个loopback。

· HWaddr/ether:网卡的硬件地址,习惯称为MAC。

· inet addr:IPv4的IP地址,后续的Bcase、Mask分别代表的是Broadcast与Netmask。

· inet6 addr:是IPv6的版本的IP,我们没有使用,所以略过。

· RX:那一行代表的是网络由启动到目前为止的数据包接收情况,packets代表数据包数、errors代表数据包发生错误的数量、dropped代表数据包由于有问题而遭丢弃的数量等。

· TX:与RX相反,为网络由启动到目前为止的传送情况。

· collisions:代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。

· txqueuelen:代表用来传输数据的缓冲区的储存长度。

· RX Bytes、TX Bytes:总传送、接收的字节总量。

· Interrupt、Memory:网卡硬件的数据,IRQ岔断与内存地址。

  通过观察上述的资料,大致上可以了解到你的网络情况,尤其是RX、TX内的error数量,以及是否发生严重的collision情况,都是需要注意的。

2、启动关闭指定网卡:

ifconfig eth0 up 
ifconfig eth0 down

  ifconfig eth0 up为启动网卡eth0,ifconfig eth0 down为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

3、为网卡配置和删除IPv6地址: 

ifconfig eth0 add 33ffe:3240:800:1005::2/64 #为网卡eth0配置IPv6地址 
ifconfig eth0 del 33ffe:3240:800:1005::2/64 #为网卡eth0删除IPv6地址

4、用ifconfig修改MAC地址: 

ifconfig eth0 hw ether 00:AA:BB:CC:dd:EE

5、配置IP地址: 

[root@localhost ~]# ifconfig eth0 192.168.2.10 
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255

6、启用和关闭arp协议: 

ifconfig eth0 arp #开启网卡eth0 的arp协议 
ifconfig eth0 -arp #关闭网卡eth0 的arp协议

7、设置最大传输单元: 

ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes
posted on 2017-11-22 22:03  kosamino  阅读(3353)  评论(0编辑  收藏  举报