【Linux】ifconfig命令详解

        Windows中的ipconfig命令行工具,被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是 ifconfig (interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。

一、交换  (switch) 内部结构图

          如果你的设备含有不少于1个的LAN接口,那这个设备在不同的接口之间可能有一个被称为交换(switch) 的特殊连接。大多数的内部构造如下图所示:

二、实例

1、实例一:显示网络设备信息激活状态的

[root@localhost ~] #  ifconfig

eth0   Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)

lo       Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)

2、实例二:自己实践

root@OpenWrt:/# ifconfig
ath0 (2.4G)  Link encap:Ethernet  HWaddr 14:51:7E:DE:2B:B6    //LAN口mac
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ath1(5G)  Link encap:Ethernet  HWaddr 14:51:7E:DE:2B:B7
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

br-lanlan网桥)   Link encap:Ethernet  HWaddr 14:51:7E:DE:2B:B5
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13786 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8456 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1764948 (1.6 MiB)  TX bytes:12618909 (12.0 MiB)

eth0      Link encap:Ethernet  HWaddr 00:12:13:14:15:12  //WAN口mac
          UP BROADCAST MULTICAST  MTU:807  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1 (有线LAN)  Link encap:Ethernet  HWaddr 14:51:7E:DE:2B:B5  //br-lan mac
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13996 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11239 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2006618 (1.9 MiB)  TX bytes:12769191 (12.1 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4973 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4973 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:328228 (320.5 KiB)  TX bytes:328228 (320.5 KiB)

wifi0    Link encap:UNSPEC  HWaddr 14-51-7E-DE-2B-B6-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6185 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2699
          RX bytes:0 (0.0 B)  TX bytes:1072954 (1.0 MiB)

wifi1    Link encap:UNSPEC  HWaddr 14-51-7E-DE-2B-B7-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6161 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2699
          RX bytes:0 (0.0 B)  TX bytes:1070552 (1.0 MiB)

三、配置说明:

1、eth0 以太网接口

        以太网接口与网卡对应,每个硬件网卡(一个MAC)对应一个以太网接口,其工作完全由网卡相应的驱动程序控制。如果物理网卡只有一个,而却有eth1,eth2等,则可能存在无线网卡或多个虚拟网卡,虚拟网卡由系统创建或通过应用层程序创建,作用与物理网卡类似。

    eth0:网卡的代号。表示第一块网卡。

        第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

            HWaddr :表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)

        第二行:网卡的IP地址、子网、掩码

            inet addr:ipv4地址。表示网卡的IP地址。

            inet6 addr:ipv6地址。

            Bcast:广播地址。

            Mask:子网掩码

        第三行:

            UP:代表网卡开启状态

            RUNNING:代表网卡的网线被接上

            MULTICAST:支持组播

            MTU: 网络接口的最大传输单元:1500字节

        第四、五行:网络从启动到目前为止数据包接收、发送数据包情况统计。

            packets:数据包数量

            errors:数据包发省错误的数量。

            dropped:数据包有问题而遭到丢弃的数量。

        第六行:

            collisions:表示数据包冲突的情况,如果次数太多,表示网络不太好。

            txqueuelen:传输数据的缓冲区的存储长度。

        第七行:接收、发送数据字节数统计信息。 

            RX bytes:接受总字节数。

            TX bytes:发送总字节数。

2、 br-lan 网桥接口

        网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。

        br0可以将两个接口进行连接,如将两个以太网接口eth0进行连接,对帧进行转发。

root@OpenWrt:/# brctl show
bridge name     bridge id                       STP enabled     interfaces
br-lan                7fff.14517ede2bb5       no                      ath0
                                                                                         ath1
                                                                                         eth1

        br-lan = ath0 + ath1 + eth1,即将无线网和有线LAN口统一划分为 LAN,便于管理!

3、lo 回环接口

      lo:loopback,主机的回环地址。一般回环接口的ip v4地址为:127.0.0.1,子网掩码:255.255.255.0。虚拟网络接口:并非真实存在,并不真实地从外界接收和发送数据包,而是在系统内部接收和发送数据包,因此虚拟网络接口不需要驱动程序。

        为什么会有该接口? 
        如果包是由一个本地进程为另一个本地进程产生的, 它们将通过外出链的lo接口,然后返回进入链的lo接口。

四、修改网络设备信息

1.命令格式:

        ifconfig  [网卡名]  [参数]

2.命令功能:

        ifconfig 命令用来查看配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

3.命令参数:

        up 启动指定网络设备/网卡。

        down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流。如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。

        arp 设置指定网卡是否支持ARP协议。

        -promisc 设置是否支持网卡的promiscuous模式。如果选择此参数,网卡将接收网络中发给它所有的数据包。

        -allmulti 设置是否支持多播模式。如果选择此参数,网卡将接收网络中所有的多播数据包。

        -a 显示全部接口信息

        -s 显示摘要信息(类似于 netstat -i)

        add <硬件地址> 给指定网卡配置IPv6地址

        del <硬件地址> 删除指定网卡的IPv6地址

        mtu<字节数> :设置网卡的最大传输单元 (bytes)

        netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项。如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。

        tunel 建立隧道

        dstaddr 设定一个远端地址,建立点对点通信

        -broadcast<地址> 为指定网卡设置广播协议

        -pointtopoint<地址> 为网卡设置点对点通讯协议

        multicast 为网卡设置组播标志

        address 为网卡设置IPv4地址

        txqueuelen<长度> 为网卡设置传输列队的长度

实例1:启动关闭指定网卡

命令:

        ifconfig eth0 up   //启动网卡eth0 

        ifconfig eth0 down   //关闭网卡eth0

说明:ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

实例2:为网卡配置和删除IPv6地址

命令:

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

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

实例3:用ifconfig修改MAC地址

命令:

        ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE   //修改MAC地址

输出:

[root@localhost ~] #  ifconfig eth0 down //关闭网卡
[root@localhost ~] #  ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~] #  ifconfig eth0 up //启动网卡
[root@localhost ~] #  ifconfig
eth0    Link encap:Ethernet  HWaddr 00:AA:BB:CC:DD:EE  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)
lo       Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)


[root@localhost ~] #  ifconfig eth0 hw ether 00:50:56:BF:26:20 //关闭网卡并修改MAC地址 
[root@localhost ~] #  ifconfig eth0 up //启动网卡
[root@localhost ~] #  ifconfig
eth0    Link encap:Ethernet  HWaddr 00:50:56:BF:26:20  
          inet addr:192.168.120.204  Bcast:192.168.120.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:596390239 (568.7 MiB)  TX bytes:2886956 (2.7 MiB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2856 (2.7 KiB)  TX bytes:2856 (2.7 KiB)  

说明:

实例4:配置IP地址

命令:

        ifconfig eth0 192.168.120.56    //给eth0网卡配置IP地址
        ifconfig eth0 192.168.120.56 netmask 255.255.255.0   //给eth0网卡配置IP,并加mask
        ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255 

实例5:启用和关闭ARP协议

命令:

        ifconfig eth0 arp   //开启网卡eth0 的arp协议;

        ifconfig eth0 -arp   //关闭网卡eth0 的arp协议;

实例6:设置最大传输单元

命令:

        ifconfig eth0 mtu 1500

说明:设置能通过的最大数据包大小为 1500 bytes

备注:用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

  • 24
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值