Ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可使用它们。 linux
除了上面介绍的这些用法以外,ifconfig命令用来监控和改变网络接口的状态,而且还能够带上不少命令行参数。下面是一个ifconfig的通用调用语法: 浏览器
#ifconfig interface [[-net -host] address [parameters]] 服务器
其中interface是网络接口名:address是分配给指定接口的主机名或IP地址。这里使用的主机名被解析成它们的对等IP地址,这个参数是必须的。-net和-host参数分别告诉ifconfig将这个地址做为网络号或者是主机地址。 网络
若是调用ifconfig命令时后面只跟上端口设备名,那么它将显示这个端口的配置状况;若是不带任何参数,ifconfig命令将显示至今为止所配置的接口的全部信息;若是带上-a选项,那么还能够显示当前不活跃的接口。 socket
一个检查以太网接口eth0的ifconfig调用能够获得以下的输出: 工具
#ifconfig eth0 oop
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的命令行参数:
Ifconfig能够仅由接口名、网络掩码和分配IP地址来设置所需的一切。当ifconfig疏漏了或者有一个复杂的网络时,只要从新设置大多数参数。
接下来介绍一个颇有用的命令——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 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为经常使用的。能够用这个工具来临时性的配置网卡的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:一、eth0:2 ... .. eth1N。固然您为eth1 指定多个IP地址,也就是 eth1:0、eth1:一、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