zoukankan      html  css  js  c++  java
  • Linux系统下ifconfig命令使用及结果分析

    Linux下网卡命名规律:eth0,eth1。第一块以太网卡,第二块。lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位。它代表你的机器本身。

     

    1、ifconfig是查看网卡的信息。

     

    ifconfig [Interface]

    Interface是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息

     

    例如:ifconfig eth0

     

     

    eth0 Link encap:Ethernet
                HWaddr 00:0C:29:F3:3B:F2
                inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
                UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                RX packets:78 errors:0 dropped:0 overruns:0 frame:0
                TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:100
                RX bytes:11679 (11.4 Kb)
                TX bytes:14077 (13.7 Kb)
                Interrupt:10 Base address:0x1080

     

    我们可以看到

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

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

    第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

    第四、五行:接收、发送数据包情况统计

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

     

    2、ifconfig 配置网卡

     

    配置网卡的IP地址

    ifconfig eth0 192.168.0.1 netmask 255.255.255.0

     

    在eth0上配置上192.168.0.1 的IP地址及24位掩码。若想再在eth0上在配置一个192.168.1.1/24 的IP地址怎么办?用下面的命令

     

    ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0

     

    这时再用ifconifg命令查看,就可以看到两个网卡的信息了,分别为:eth0和eth0:0。若还想再增加IP,那网卡的命名就接着是:eth0:1、eth0:2...想要几个就填几个。ok!

     

    配置网卡的硬件地址

    ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

     

    就将网卡的硬件地址更改了,此时你就可以骗过局域网内的IP地址邦定了。

     

    将网卡禁用

    ifconfig eth0 down

    将网卡启用

    ifconfig eth0 up

     

    ifconfig 命令的功能很强大,还可以设置网卡的MTU,混杂模式等。就不一一介绍了,用时间可以自己研究一下。

     

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

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    ifconfig命令

    by Jian Lee

    手动设置网卡示例

    假设想把网卡设置为如下:

    网卡:eth0
    IP:192.168.2.110
    掩码:255.255.255.0
    网管:192.168.2.1
    

    可以这样:

    ifconfig eth0 192.168.2.110 netmask 255.255.255.0 up
    route add default gw 192.168.2.1 dev eth0
    

    修改MAC

    有时候我们需要修改网卡的mac地址,比如我现在的网卡信息如下:

    eth0      Link encap:Ethernet  HWaddr 00:15:22:99:36:c9
              inet addr:192.168.2.110  Bcast:192.168.2.255  Mask:255.255.255.0
              inet6 addr: fe80::215:22ff:fe99:36c9/64 Scope:Link
    ...
    

    上面显示的HWaddr就是mac地址:00:15:22:99:36:c9。现在我们想把 它修改成我们需要的:

    ifconfig eth0 down  # 一定要先停止网卡
    ifconfig eth0 hw ether 00:15:22:99:36:c9   # 修改mac地址
    

    然后可以重启网络:

    /etc/init.d/networking restart
    

    MAC和网卡名绑定

    如果我们有多个网卡,linux下可能叫eth0,eth1,eth2等等,有时候我 们自己都分不清到底哪个网卡对于哪个名字。这时候可以将mac可网卡 名绑定。

    • Redhat系列linux:

      使用sysinit作为scripts管理一些系统服务,可以在类似的 /etc/sysconfig/network-scripts/ifcft-ethX 中写上 HWADDR=00:01:02:8C:50:09 ,这样以后这个ethX网卡就是mac值为 00:01:02:8C:50:09 的网卡了。这里MAC换成自己机器网卡的 mac,ethX中的X代表0,1,2,等等数字。

    • 有nameif命令的linux:

      基本都有这个命令,可以man一下,这个可以设置mac和网卡名字绑定。

    桥接网络

    创建网络设备

    创建一个指定用户有权限的设备 tap0

    # tunctl -t tap0 -u 用户名
    # chmod 0666 /dev/net/tun
    

    网卡混杂模式

    # ifconfig eth0 promisc // 设置eth0为混杂模式
    # ifconfig tap0 promisc // 设置tap0为混杂模式
    

    建立桥接接口

    # brctl addbr br0
    # brctl addif br0 eth0
    # brctl addif br0 tap0
    

    设置br0的IP

    • 静态IP
    # ifconfig br0 IP地址 netmask 掩码
    # route add default gw 默认网关 dev br0
    
    • DHCP
    # dhclient br0
    

    常见应用

    1. 查看网络接口使用什么驱动

    [root@jianlee ~]# ethtool -i eth0
    driver: 3c59x
    version:
    firmware-version:
    bus-info: 0000:01:02.0
    

    2. 查看网络接口link

    [root@jianlee ~]# mii-tool
    eth0: negotiated 100baseTx-FD, link ok
    

    3. 网卡名字eth0,eth1修改

    modprobe 中修改模块别名

    使用 udev 的情况

    fedora10 就是使用 udev 设置网卡的名字,比如我的系统有两块网卡,e1000e已经 坏了,3c59x还是好的。每次都认3c59x为eth1,即使我在 /etc/sysconfig/network-scripts/ifcfg-eth0 中设置了mac都不行。后来发现在 /etc/udev/rules.d/70-persistent-net.rules 下有这些内容 :

    # 3Com Corporation 3c905B 100BaseTX [Cyclone] (rule written by anaconda)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:02:8c:50:09", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
    # Intel Corporation 82567LM-3 Gigabit Network Connection (rule written by anaconda)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="88:88:88:88:87:88", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    

    我把 eth0,和 eth1 名字交换。这样就可以了。

    使用 ip link

    ip link set eth0 name eth2
    ip link set eth1 name eth0
    ip link set eth2 name eth1
    

    禁止某个 IP 访问

    如果不需要用复杂的 iptables,可以简单地在 route 里加上一条:

    route add -host IP-A gw 127.0.0.1
    

    路由

    参考: http://blog.ligj.eol.cn/628

    route 命令

    使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:

    添加到主机的路由

    # route add –host 192.168.168.110 dev eth0
    # route add –host 192.168.168.119 gw 192.168.168.1
    

    添加到网络的路由

    # route add –net IP netmask MASK eth0
    # route add –net IP netmask MASK gw IP
    # route add –net IP/24 eth1
    

    添加默认网关

    # route add default gw IP
    

    删除路由

    # route del –host 192.168.168.110 dev eth0
    

    设置永久路由

    /etc/rc.local

    route add -net 192.168.3.0/24 dev eth0
    route add -net 192.168.2.0/24 gw 192.168.3.254
    

    在/etc/sysconfig/network里添加到末尾

    方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev

    /etc/sysconfig/static-router

    any net x.x.x.x/24 gw y.y.y.y
  • 相关阅读:
    主席树学习记录
    P1072 Hanson 的趣味题 题解
    好文章收集
    计算几何专题
    小问题
    CSP-S2020题解
    上下界网络流
    想到的无法解决的点子
    省选联考2020组合数问题
    省选数学复习
  • 原文地址:https://www.cnblogs.com/zhj868/p/14189550.html
Copyright © 2011-2022 走看看