ifconfig、ifup、ifdown详解

摘自:https://blog.csdn.net/lu_embedded/article/details/53215324

这三个命令的用途都是启动网络接口,不过,ifup 与 ifdown 仅就 /etc/sysconfig/network- scripts 内的 ifcfg-ethx(x为数字)进行启动或关闭的操作,并不能直接修改网络参数,除非手动调整 ifcfg-ethx 文件才行。至于 ifconfig 则可以直接手动给予某个接口 IP 或调整其网络参数。下面我们就分别来谈一谈。
  
一、ifconfig

  ifconfig 主要是可以手动启动、观察与修改网络接口的相关参数,可以修改的参数很多,包括 IP 参数以及 MTU 等都可以修改,它的语法如下:

[[email protected] ~]# ifconfig {interface} {up|down} <== 观察与启动接口
[[email protected] ~]# ifconfig interface {options} <== 设置与修改接口
参数:
Interface,网卡接口代号,包括 eth0、eth1、ppp0 等
Options,可以接的参数,包括如下:
Up或down,启动 (up) 或关闭 (down) 该网络接口(不涉及任何参数)
mtu,可以设置不同的 MTU 数值,例如MTU 1500 (单位为 byte)
netmask,就是子屏蔽网络
broadcast,就是广播地址
范例:

范例一:观察所有的网络接口(直接输入 ifconfig)
[[email protected] ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
inet addr:192.168.10.100 Bcast:192.168.10.255
Mask:255.255.255.0
inet6 addr: fe80::20f:eaff:fe73:682/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3439 errors:0 dropped:0 overruns:0 frame:0
TX packets:2735 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:646935 (631.7 KiB) TX bytes:562313 (549.1 KiB)
Interrupt:209 Memory:fb000000-0

  一般来说,直接输入 ifconfig 就会列出目前已经被启动的卡,不论这个卡是否有设置 IP,都会被显示出来。而如果是输入 ifconfig eth0,则会显示出这个接口的相关数据,而不管该接口是否启动。所以,如果你想要知道某个网卡的 Hardware Address,直接输入“ifconfig “网络接口代号””即可。至于上述代码中出现的各项数据是这样的(数据排列由上而下、由左而右)。

eth0:网卡的代号,也有 lo 这个 loopback。
HWaddr:网卡的硬件地址,习惯称为 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 情况,都是需要注意的。

范例二:暂时修改网络接口
[[email protected] ~]# ifconfig eth0 192.168.100.100
如果不加任何其他参数,则系统会依照该 IP 所在的 class 范围,
自动地计算出 netmask 以及 network, broadcast 等 IP 参数

[[email protected] ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 8000
设置网络接口,同时设置 MTU 的数值

[[email protected] ~]# ifconfig eth0 MTU 9000
仅修改该接口的 MTU 数值,其他的保持不动

[[email protected] ~]# ifconfig eth0:0 192.168.50.50
仔细看那个接口, eth0:0 。那就是在该网络接口上,再仿真一个网络接口, 亦即是在一个网卡上面设置多个 IP 的意思啦

[[email protected] ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3669 errors:0 dropped:0 overruns:0 frame:0
TX packets:2892 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:667547 (651.9 KiB) TX bytes:584799 (571.0 KiB)
Interrupt:209 Memory:fb000000-0

eth0:0 Link encap:Ethernet HWaddr 00:0F:EA:A3:06:A2
inet addr:192.168.200.2 Bcast:192.168.200.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:209 Memory:fb000000-0
仔细看,是否与硬件有关的信息都相同。没错。因为是同一个网卡。

[[email protected] ~]# ifconfig eth0:0 down
关掉 eth0:0 这个接口。如果想要启动 eth1 ,并且不设置任何网络参数
ifconfig eth1 up 就可以实现

[[email protected] ~]# /etc/init.d/network restart
刚刚设置的数据全部失效,会以 ifcfg-ethx 的设置为主

  使用 ifconfig 可以暂时用手动来设置或修改某个适配卡的相关功能,并且也可以通过 eth0:0 这种虚拟的网络接口来设置一张网卡上面的多个 IP。手动的方式是比较简单。而且设置错误也没有关系,因为我们可以利用 /etc/init.d/network restart 来重新启动整个网络接口,那么之前手动的设置数据会全部失效。另外,要启动某个网络接口,但又不让它具有 IP 参数时,直接给它 ifconfig eth0 up 即可。这个操作经常在无线网卡当中进行,因为我们需要启动无线网卡让它去检测 AP 存在与否。

二、ifup 和 ifdown

  实时地手动修改一些网络接口参数,可以利用 ifconfig 来实现,如果是要直接以配置文件,亦即是在 /etc/sysconfig/network-scripts 里面的 ifcfg-ethx 等文件的设置参数来启动的话,那就得要通过 ifdown 或 ifup 来实现了。

[[email protected] ~]# ifup {interface}
[[email protected] ~]# ifdown {interface}

[[email protected] ~]# ifup eth0

ifup 与 ifdown 真是太简单了。这两个程序其实是 script 而已,它会直接到 /etc/ sysconfig/network-scripts 目录下搜索对应的配置文件,例如 ifup eth0,它会找出 ifcfg-eth0 这个文件的内容,然后加以设置。关于 ifcfg-eth0 的设置请参考下面的说明。
  不过,由于这两个程序主要是搜索设置文件(ifcfg-ethx)来进行启动与关闭的,所以在使用前请确定 ifcfg-ethx 是否真的存在于正确的目录内,否则会启动失败。另外,如果以 ifconfig eth0 来设置或者是修改了网络接口后,就无法再以 ifdown eth0 的方式来关闭了。因为 ifdown 会分析比较目前的网络参数与 ifcfg-eth0 是否相符,不符的话,就会放弃这次操作。因此,使用 ifconfig 修改完毕后,应该要以 ifconfig eth0 down 才能够关闭该接口。

三、配置 ifcfg-eth0

网络接口配置文件 ifcfg-eth0 在 /etc/sysconfig/network-script 在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0 是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推 ifcfg-eth1、ifcfg-eth2、ifcfg-eth3 ……
配置项目说明(形式:设定项=值):

DEVICE     接口名(设备,网卡)
USERCTL    [yes|no](非root用户是否可以控制该设备)
BOOTPROTO  IP 的配置方法 [none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
HWADDR    MAC地址
ONBOOT    系统启动的时候网络接口是否有效(yes/no)
TYPE      网络类型(通常是Ethemet)
NETMASK    网络掩码
IPADDR     IP地址
IPV6INIT     IPV6是否有效(yes/no)
GATEWAY    默认网关IP地址
BROADCAST   广播地址
NETWORK    网络地址

例如,可以设置成这样:

DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:0C:2x:6x:0x:xx
IPADDR=192.168.1.23
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet

原文地址:https://www.cnblogs.com/LiuYanYGZ/p/12336824.html

时间: 2024-08-14 11:22:05

ifconfig、ifup、ifdown详解的相关文章

ifconfig 输出结果详解

eth0                        网卡设备号 Link encap                 基本描述,链接概况 HWaddr                     硬件MAC地址 inet addr                  网络ip地址 Bcast                      广播ip地址 Mask                       子网掩码 inet6 addr                 对应的ipv6地址 Scope  

ifconfig详解

linux下ifconfig命令详解 ifconfig 是一个用来查看.配置.启用或禁用网络接口的工具,这个工具极为常用的.可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址.网关等.也可以把它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址 1.ifconfig 查看网络接口状态 ifconfig 如果不接任何参数,就会输出当前网络接口的情况: [[email protected] ~]# ifconfig eth0 Lin

Linux 系统下 ifconfig 命令详解

Linux系统下网卡网络配置详解 Ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们. 除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数.下面是一个ifconfig的通用调用语法: #ifconfig interface [[-net -host] address [parameters]] 其中interface是网络接口名:address是分配给指定接口的主机名或IP地址.这里使用的主

Linux上命令的使用格式和基础命令详解

一.Linux上命令的使用格式 命令行提示符详解: 用户通过终端的命令行接口来控制操作系统,登陆后如下: [[email protected] ~]# root: 当前登录的用户 @:分隔符 localhost: 当前主机的主机名,非完整格式:此处的完整格式为:localhost.localdomain [[email protected] ~]# hostname localhost.localdomain ~:用户当前所在的目录(current directory),也称为工作目录(work

高可用,多路冗余GFS2集群文件系统搭建详解

2014.06 标签:GFS2 multipath 集群文件系统 cmirror 实验拓扑图: 实验原理: 实验目的:通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现node和FC,FC和Share Storage之间的多路冗余,最后实现存储的mirror复制达到高可用. GFS2:全局文件系统第二版,GFS2是应用最广泛的集群文件系统.它是由红帽公司开发出来的,允许所有集群节点并行访问.元数据通常会保存在共享

lvs原理及安装部署详解(参考)

LVS安装使用详解 摘至:http://www.cnblogs.com/MacoLee/p/5856858.html 简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. 现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个

计算机网络详解

前言:对于计算机网络部分,我们主要学习的是TCP/IP协议栈.而TCP/IP协议栈并无法将各种的协议进行一个合理的区分,因此,在大学本科教育中我们通常讲解的是IOS七层网络模型. 协议:简单的理解就是通信双方相互交流的一种约定,也就是说只有通信双方满足这样的约定才能够相互通信.然而,我们也说过,各种协议必须要被软件实现,才能够被我们所使用. 那么,对于我们的http协议而言,实现http协议的客户端程序有curl,浏览器等工具,服务端有Apache.Nginx等这样的静态服务器软件 (二)什么是

使用HeartBeat实现高可用HA的配置过程详解

使用HeartBeat实现高可用HA的配置过程详解 一.写在前面 HA即(high available)高可用,又被叫做双机热备,用于关键性业务.简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务.常见的实现高可用的开源软件有 heartbeat 和 keepalived. 这样,一台 web 服务器一天24小时提供web服务,难免会存在 web 服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望

linux下安装drbd详解

关于drbd理论方面的知识本文中不做介绍,本文章主要讲述如何搭建drbd. 一.系统环境   系统平台: Centos6.3(内核2.6.32-431.29.2.el6.x86_64) 节点一主机名: Cenos-HA1     IP:192.168.1.202 节点一主机名: Cenos-HA2     IP:192.168.1.202  DRBD版本:DRBD-8.4.3 二.安装   1.准备 (1).关闭iptables和SELINUX,避免安装过程中报错. 节点1和节点2 #/etc/