文档章节

Linux 系统下 ifconfig 命令详解

LionelShen
 LionelShen
发布于 2014/08/07 14:44
字数 3305
阅读 264
收藏 13

Linux系统下网卡网络配置详解

Ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们。

除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数。下面是一个ifconfig的通用调用语法:

  #ifconfig interface [[-net -host] address [parameters]]

  其中interface是网络接口名:address是分配给指定接口的主机名或IP地址。这里使用的主机名被解析成它们的对等IP地址,这个参数是必须的。-net和-host参数分别告诉ifconfig将这个地址作为网络号或者是主机地址。

  如果调用ifconfig命令时后面只跟上端口设备名,那么它将显示这个端口的配置情况;如果不带任何参数,ifconfig命令将显示至今为止所配置的接口的所有信息;如果带上-a选项,那么还可以显示当前不活跃的接口。

  一个检查以太网接口eth0的ifconfig调用可以得到如下的输出:  

  #ifconfig eth0

  eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:44

  inet addr xxx.xxx.xxx.xxx Bcast xxx.xxx.xxx.255 Mask 255.255.255.0

  UP BROADCAST RUNNING MTU 1500 Metric 0

  RX packets 3136 errors 217 dropped 7 overrun 26

  TX packets 1752 errors 25 dropped 0 overrun 0

 (注意:其中XXX.XXX.XXX.XXX是IP地址)

  MTU和Metric这两列显示了当前eth0接口的最大数据传送值和接口度量值。接口度量值表示在这个路径上发送一个分组的成本。目前内核中还没有使用路由,但可能以后会用。RX(接收分组数)和TX(传送分组数)这两行显示出了接收、传送分组的数目,以及分组出错数、丢失分组数(一个可能原因是内存较少)和超限数(通常在接收器接收数据的速度快于核心的处理速度的时候发生)。

  Parameters 表示ifconfig所支持的各种参数,使用这些参数就可以便方便地监控和改变网络接口的状态。

  ifconfig的命令行参数:

  •   up 激活指定的接口
  •   down 关闭指定接口。该参数可以有效地阻止通过指定接口的IP信息 流,如果想永久地关闭一个接口,我们还需要从核心路由表中 将该接口的路由信息全部删除
  •   netmask mask 为接口设置IP网络掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成 子网,可以不管这一选项;如果要使用子网,那么请记住,网络 中每一个系统必须有相同子网掩码。
  •   pointpoint 打开指定接口的点对点模式。它告诉核心该接口是对另一台机 器的直接连接。当包含了一个地址时,这个地址被分配给列表另 一端的机器。如果没有给出地址,就打开这个指定接口的 POINTPOINT选项。前面加一个负号表示关闭pointpoint选项。
  •   broadcast address 当使用了一个地址时,设置这个接口的广播地址。如果 没有给出地址,就打开这个指定接口的IFF_BROADCAST选项。 前面加上一个负号表示关闭这个选项。
  •   metric number 将接口度量值设置为整数number。度量值表示在这个路径上发 送一个分组的成本。目前内核中还没有使用路由成本,但将来会。
  •   mtu bytes 将接口在一次传输中可以处理的最大字节数设置为整数bytes。 目前核心网络代码不处理IP分段,因此一定要把MTU(最大数据 传输单元) 值设置得足够大
  •   arp 打开或关闭指定接口上使用的ARP协议。前面加上一个负号用于 关闭该选项。
  •   allmuti 打开指定接口的无区别模式。打开这个模式让接口把网络上的 所有信息流都送到核心中,而不仅仅是把你的机器的信息发送给 核心。前面加上一个负号表示关闭该选项
  •   hw 为指定接口设置硬件地址。硬件类型名和次硬件地址对等的 ASCII字符必须跟在这个关键字后面。目前支持以太网 (ether)、AMPR、AX.25和PPP traliers 打开以太网帧上的跟踪器。目前还未在LINUX网络中实现,通常不需要使用所有的这些配置。

  Ifconfig可以仅由接口名、网络掩码和分配IP地址来设置所需的一切。当ifconfig疏漏了或者有一个复杂的网络时,只要重新设置大多数参数。

  使用netstat检查网络状态

  接下来介绍一个很有用的命令——netstat,使用netstat命令可以监控TCP/IP网络配置和工作状况。它可以显示内核路由表、 活动的网络状态以及每个网络接口的有用的统计数字。欲得详情请阅man page。   -a 显示所有Internet连接的有关信息,包括那些正在监听的信息   -i 显示所有网络设备的统计数字

  -c 不断显示网络的更新状态。这个参数使用netstat每秒一次的输出网络状态列表,直到该程序被中断


-n 以数字/原始形式显示远程地址、本地地址和端口信息,而不是解析主机名和服务器   -o 显示计数器的终止时间和每个网络连接的回退(back off)情况   -r 显示内核路由表

  -t 只显示TCP socket信息,包括正在监听的信息   -u 只显示UDP socket信息   -v 显示netstat版本信息   -w 显示原始(raw)socket信息   -x 显示UNIX域socket信息  

  ifconfig详解

ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址 

1.ifconfig 查看网络接口状态 

ifconfig 如果不接任何参数,就会输出当前网络接口的情况; 

[root@linuxchao ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:03:0D:27:86:41

inet addr:192.168.1.86 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::203:dff:fe27:8641/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:618 errors:0 dropped:0 overruns:0 frame:0

TX packets:676 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:491238 (479.7 KiB) TX bytes:86286 (84.2 KiB)

Interrupt:5 Base address:0x8c00 

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:1692 errors:0 dropped:0 overruns:0 frame:0

TX packets:1692 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:3174550 (3.0 MiB) TX bytes:3174550 (3.0 MiB)

解说:

eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:03:0D:27:86:41;

inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.1.86,

广播地址, Bcast:192.168.1.255,掩码地址Mask:255.255.255.0 

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

如果想知道主机所有网络接口的情况,请用下面的命令;

[root@linuxchao ~]#ifconfig -a 

如果想查看某个端口,比如查看eth0 的状态,就可以用下面的方法;

[root@linuxchao ~]#ifconfig eth0  

2.ifconfig 配置网络接口 

ifconfig 可以用来配置网络接口的IP地址、掩码、网关、物理地址等;值得一说的是用ifconfig 为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig 的语名写入/etc/rc.d/rc.local文件中; 

ifconfig 配置网络端口的方法: 

ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;

ifconfig 网络端口 IP地址 hw MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down] 

* 实例一:

比如我们用ifconfig 来调试 eth0网卡的地址

[root@linuxchao ~]#ifconfig eth0 down

[root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0

[root@linuxchao ~]#ifconfig eth0 up

[root@linuxchao ~]#ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:03:0D:27:86:41

inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::203:dff:fe27:8641/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:618 errors:0 dropped:0 overruns:0 frame:0

TX packets:676 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:491238 (479.7 KiB) TX bytes:86286 (84.2 KiB)

Interrupt:5 Base address:0x8c00 

注解: 上面的例子我们解说一下; 

第一行:ifconfig eth0 down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0;

第二行:用ifconfig 来配置 eth0的IP地址、广播地址和网络掩码;

第三行:用ifconfig eth0 up 来激活eth0 ; 此命令等同于 ifup eth0

第四行:用 ifconfig eth0 来查看 eth0的状态; 

当然您也可以用直接在指令IP地址、网络掩码、广播地址的同时,激活网卡;要加up参数;比如下面的例子;

[root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up 

* 实例二:在这个例子中,我们要学会设置网络IP地址的同时,学会设置网卡的物理地址(MAC地址); 

比如我们设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它;

[root@linuxchao ~]#ifconfig eth1 192.168.1.252 hw ether 04:64:03:00:12:51 netmask 255.255.255.0 broadcast 192.168.1.255 up 或

[root@linuxchao ~]#ifconfig eth1 hw ether 04:64:03:00:12:51

[root@linuxchao ~]#ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up 

其中 hw 后面所接的是网络接口类型, ether表示乙太网, 同时也支持 ax25 、ARCnet、netrom等,详情请查看 man ifconfig ;  

3.如何用ifconfig 来配置虚拟网络接口 

有时我们为了满足不同的需要还需要配置虚拟网络接口,比如我们用不同的IP地址来架运行多个HTTPD服务器,就要用到虚拟地址;这样就省却了同一个IP地址,如果开设两个的HTTPD服务器时,要指定端口号。 

虚拟网络接口指的是为一个网络接口指定多个IP地址,虚拟接口是这样的 eth0:0 、 eth0:1、eth0:2 ... .. eth1N。当然您为eth1 指定多个IP地址,也就是 eth1:0、eth1:1、eth1:2 ... ...以此类推; 


其实用ifconfig 为一个网卡配置多个IP地址,就用前面我们所说的ifconfig的用法,这个比较简单;看下面的例子;

[root@linuxchao ~]#ifconfig eth1:0 192.168.1.251 hw ether 04:64:03:00:12:51 netmask 255.255.255.0 broadcast 192.168.1.255 up 或

[root@linuxchao ~]#ifconfig eth1 hw ether 04:64:03:00:12:51

[root@linuxchao ~]#ifconfig eth1 192.168.1.251 netmask 255.255.255.0 broadcast 192.168.1.255 up 

注意:指定时,要为每个虚拟网卡指定不同的物理地址; 

在 Redhat/Fedora 或与Redhat/Fedora类似的系统,您可以把配置网络IP地址、广播地址、掩码地址、物理地址以及激活网络接口同时放在一个句子中,写入/etc/rc.d/rc.local中。比如下面的例子;

ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:33:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up

ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:33:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up 

解说:上面是为eth1的网络接口,设置了两个虚拟接口;每个接口都有自己的物理地址、IP地址... ...  

4.如何用ifconfig 来激活和终止网络接口的连接 

激活和终止网络接口的用 ifconfig 命令,后面接网络接口,然后加上 down或up参数,就可以禁止或激活相应的网络接口了。当然也可以用专用工具ifup和ifdown 工具;

[root@linuxchao ~]#ifconfig eth0 down

[root@linuxchao ~]#ifconfig eth0 up

[root@linuxchao ~]#ifup eth0

[root@linuxchao ~]#ifdown eth0 

对于激活其它类型的网络接口也是如此,比如 ppp0,wlan0等;不过只是对指定IP的网卡有效。 

注意:对DHCP自动分配的IP,还得由各个发行版自带的网络工具来激活;当然得安装dhcp客户端;这个您我们应该明白; 

比如Redhat/Fedora

[root@linuxchao ~]#/etc/init.d/network start 

Slackware 发行版;

[root@linuxchao ~]#/etc/rc.d/rc.inet1

 


本文转载自:http://wenku.baidu.com/view/9b473235f111f18582d05a05.html

共有 人打赏支持
LionelShen
粉丝 72
博文 153
码字总数 92530
作品 0
海淀
程序员
私信 提问
linux网络配置命令之ifconfig、ip和route

一、作为一个linux的疯狂热爱者,我们首先需要掌握的就是在linux系统下怎么配置IP、路由和主机名基本的linux网络配置,当然如果要我们接入互联网基本的IP地址配置还是不够的,访问网络的话我...

五大三粗
2015/03/22
0
0
CentOS---网络配置详解

一、配置文件详解 在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /etc/host.conf 配置域名服务客户端的控制文件 /etc/hosts 完成主机名映射为IP地址的功能 /etc...

墨梅
2014/03/07
0
0
七大实用命令行工具 玩转Linux网络配置

【51CTO精选译文】虽然现在大多数Linux发行版下都有GUI的网络管理配置,不过熟悉命令行工具还是大有助益的。下面我们来看看这些流行 Linux发行版下面的常用命令。对了,如果你想要了解该工具...

Start-up
2012/06/02
0
0
虚拟机中使用centos-----2

上一篇已经安装好了虚拟机,这个时候我需要使用xshell连接到虚拟机,我们需要知道虚拟机中linux(下面直接称为linux)系统的ip地址,我们使用ifconfig命令 发现ifconfig命令无法使用, 由于我安...

什么神奇什么c
2017/10/31
0
0
Linux学习之CentOS(九)--Linux系统的网络环境配置

文章来源:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/05/3000859.html 本篇随笔主要记录了Linux系统下的网络环境配置,Linux、Unix就是网络的世界,所以在Linux系统中如何配...

hiqj
2014/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java.util.Concurrent.Semaphore 源码

类图 源码: package java.util.concurrent;import java.util.Collection;import java.util.concurrent.locks.AbstractQueuedSynchronizer;public class Semaphore implements ja......

狼王黄师傅
20分钟前
2
0
Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
昨天
2
0
2018-11-20学习笔记

1. python数据类型: 给变量赋值什么样的值,变量就是什么样的类型 给变量赋值整数,变量就是整数类型 给变量赋值字符串,变量就是字符串类型 123 和“123”一样吗? 在python中 单引号 与双...

laoba
昨天
1
0
使用 React 和 Vue 创建相同的应用,他们有什么差异?

在工作中应用 Vue 之后,我对它有了相当深刻的理解。 不过,俗话说「外国的月亮比较圆」,我好奇「外国的」 React 是怎么样的。 我阅读了 React 文档并观看了一些教程视频,虽然它们很棒,但...

阿K1225
昨天
4
0
2天闭门培训|以太坊智能合约从入门到实战(北京)

2天培训 16个课时 探寻技术原理,精通以太坊智能合约开发 以太坊智能合约是现在应用的最广泛的区块链应用开发方式,HiBlock区块链社区针对以太坊智能合约的学习特别推出2天闭门研修班,通过2...

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部