zoukankan      html  css  js  c++  java
  • Linux网络参数和ifconfig

    1.ifconfig 网络参数

    ifconfig 主要是可以手动启动、观察与修改网络接口的相关参数

    [root@linux ~]# ifconfig {interface} {up|down}  <== 观察与启动接口
    [root@linux ~]# ifconfig interface {options}    <== 设置与修改接口
    参数:
    Interface,网卡接口代号,包括 eth0、eth1、ppp0 等
    Options,可以接的参数,包括如下:
        Up或down,启动 (up) 或关闭 (down) 该网络接口(不涉及任何参数)
        mtu,可以设置不同的 MTU 数值,例如MTU 1500 (单位为 byte)
        netmask,就是子屏蔽网络
        broadcast,就是广播地址
    范例:
    
    范例一:观察所有的网络接口(直接输入 ifconfig)
    [root@linux ~]# 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 岔断与内存地址。

    2.ifup和ifdown

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

    [root@linux ~]# ifup   {interface}
    [root@linux ~]# ifdown {interface}
    
    [root@linux ~]# 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 才能够关闭该接口。

    3.CentOS7网络配置相关文件

    /etc/resolv.conf # DNS配置文件
    /etc/hosts #主机名到IP地址的映射 ,不该主机名基本不会动他。
    /etc/sysconfig/network #所有的网络接口和路由信息,网关只有最后一个有效。
    /etc/sysconfig/network-script/ifcfg- #每一个网络接口的配置信息

    每一个网卡只能使用一个配置文件,当有多个配置文件时,后面读取的配置文件信息会覆盖前面的配置信息。所以,一个网卡最好只写一个配置文件。或者之设置一个文件开机自启动,同时/etc/sysconfig/network-script/ifcfg-中不要写网关信息,交给/etc/sysconfig/network来配置。

    4.CentOS7默认网卡接口配置文件

    
    TYPE=Ethernet               # 网卡类型:为以太网
    PROXY_METHOD=none           # 代理方式:关闭状态
    BROWSER_ONLY=no             # 只是浏览器:否
    BOOTPROTO=dhcp              # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
    DEFROUTE=yes                # 默认路由:是, 不明白的可以百度关键词 `默认路由` 
    IPV4_FAILURE_FATAL=no       # 是不开启IPV4致命错误检测:否
    IPV6INIT=yes                # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
    IPV6_AUTOCONF=yes           # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
    IPV6_DEFROUTE=yes           # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
    IPV6_FAILURE_FATAL=no       # 是不开启IPV6致命错误检测:否
    IPV6_ADDR_GEN_MODE=stable-privacy           # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
    NAME=eno16777736            # 网络接口名称,即配置文件名后半部分。
    UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698   # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
    DEVICE=ens33                # 网卡设备名称
    ONBOOT=no                   # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置
    HWADDR="00:0C:29:EB:90:72"  # 网卡的物理地址
    

    5.补充命令

    ip  [选项]  操作对象{link|addr|route...}
    
    # ip addr show                             # 显示网卡IP信息
    # ip addr add 192.168.0.1/24 dev eth0      # 设置eth0网卡IP地址192.168.0.1
    # ip addr del 192.168.0.1/24 dev eth0      # 删除eth0网卡IP地址
     
    # ip link show                             # 显示网络接口信息
    # ip link set eth0 up                      # 开启网卡
    # ip link set eth0 down                    # 关闭网卡
    # ip link set eth0 promisc on              # 开启网卡的混合模式
    # ip link set eth0 promisc offi            # 关闭网卡的混个模式
    # ip link set eth0 txqueuelen 1200         # 设置网卡队列长度
    # ip link set eth0 mtu 1400                # 设置网卡最大传输单元
    
    #ip route show 或 ip route list  或   route -n  # 查看路由(网关)信息
    # ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
    # ip route add default via  192.168.0.254  dev eth0    # 设置默认网关为192.168.0.254
    # ip route del 192.168.4.0/24              # 删除192.168.4.0网段的网关
    # ip route del default                     # 删除默认路由
    

    6.总结:

    克隆虚拟机经常会出现网络问题,一般都是新虚拟机的mac地址问题,从设置->网络适配器->高级中查看到新的mac地址,

    修改/etc/sysconfig/network-scripts/下配置文件中的HWADDR,重启网络systemctl start network,如果还是不行,就查看

    /etc/udev/rules.d/70-persistent-ipoib.rules配置文件中的mac地址和name,或者直接删除

    参考:

    Linux网络命令——ifconfig、ifup、ifdown

    网络配置、查看ip地址、网关信息,DNS信息

  • 相关阅读:
    提高网站访问速度的34条军规(7-10)
    指针与函数传参的思考
    提高网站访问速度的34条军规(11-13)
    [置顶] 程序员面试之道(《程序员面试笔试宝典》)之如何回答技术性的问题?
    CentOS6.4 编译安装Python 3.3.2
    hdu 4055 Number String(有点思维的DP)
    解读ASP.NET 5 & MVC6系列(4):核心技术与环境配置
    解读ASP.NET 5 & MVC6系列(6):Middleware详解
    解读ASP.NET 5 & MVC6系列(5):Configuration配置信息管理
    解读ASP.NET 5 & MVC6系列(7):依赖注入
  • 原文地址:https://www.cnblogs.com/hongdada/p/9883107.html
Copyright © 2011-2022 走看看