Linux网络属性配置

 

如何将linux主机接入到TCP/IP网络中:

    第一步:
        配置IP/NETMASK(ip地址、子网掩码):本地通信
    第二步:
        配置路由(网关):跨网络通信
    第三步:
        配置DNS服务器地址:基于主机名的通信
            主DNS服务器地址
            备用DNS服务器地址
            第三备用DNS服务器地址

Linux主机配置网络的方式

    1、静态指定(命令):
        ifcfg家族:
            ifconfig:配置IP,NETMASK
            route:路由
            etstat:状态及统计数据查看
        iproute2家族:
            ip OBECT:
                addr:地址和掩码
                link:接口
                route:路由
                ss:状态及统计数据查看
        CentOS:nm家族:
            nmcli:命令行工具
            nmtui:图形化配置界面(CentOS 7)
                注:CentOS 6图形化界面需使用setup命令

    2、修改相关配置文件:
        RedHat及相关发行版配置文件位置:
            /etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME
        DNS服务器指定配置文件:
            /etc/resolv.conf

    3、动态分配:
        依赖于本地网络中有DHCP服务

网络配置命令

ifcfg命令家族:

ifconfig命令
    命令用法:
        ifconfig interface [aftype] options | address ...
            # ifconfig IFACE IP/MASK [UP|down]
            # ifconfig IFACE IP netmask NETMASK
    常用选项:
        -a:显示所有接口,包括inactive状态接口
        [-]promisc:启用或禁用该接口的混杂模式。
route命令:路由查看及管理
    路由条目类型:
        主机路由:目标地址为单个IP
        网络路由:目标地址为IP网络
        默认路由:目标为任意主机, 0.0.0.0/0.0.0.0

    查看:
        route -n

    添加:
        route add  [-net|-host] target [netmask Nm] [gw Gw]    [[dev] If]        

                示例:添加默认网关
                    # route add -net 0.0.0.0/0.0.0.0 gw x.x.x.x 
                    # route add default gw x.x.x.x 
    删除:
        route del [-net|-host] target [gw Gw]  [netmask  Nm] [[dev] If]

                示例:删除默认网关
                    # route del default
netstat命令:
    显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
    显示路由表:
        netstat -rm
            -r:显示内核路由表
            -n:数字格式
    显示网络连接:
        netstat [--tcp|-t] [--udp|-u] [--udplit|-U] [--stcp|-S] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]

            -t:TCP协议的相关连接,连接均有其状态;FSM
            -u:UDP相关的连接
            -w:raw socket相关的连接
            -l:处于监听状态的连接
            -a:所有状态
            -n:以数字格式显示IP和port
            -e:扩展格式
            -p:显示相关的进程及ID

            常用组合:
                -tan、-uan、-tnl、-unl、-yunlp

            传输层协议:
                tcp:面向连接的协议,通信开始之前,要建立一个虚链路,通信完成后还要拆除连接
                udp:无连接的协议,直接发送数据报文

    显示接口的统计数据:
        netstat   {--interfaces|-I|-i} [iface]  [--all|-a]  [--extend|-e]  [--verbose|-v] [--program|-p]  [--numeric|-n]

            所有接口:
                netstat -i
            指定接口:
                netstat -I<IFace>

iproute家族:

ip命令:
    显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
命令用法:
    ip [ OPTIONS ] OBJECT { COMMAND | help }
        OBJECT:={link|addr|route}
            注:OBJECT可简写,单个OBJECT的子命令也可以简写

ip OBJECT:
    网络设备配置:ip link
        ip link set-change device attributes

            dev NAME(Ddefault):指明要管理的设备,dev关键字可省略
            up和down:
            multicast on或multicast off:启用或禁用多播功能
            name NAME:重命名接口
            mtu NUMBER:设置MTU的大小,默认为1500
            netns PID:ns为namespace,用于将接口移动到指定的网络名称空间

        ip link show:显示设备的属性 

        ip link help:显示简要使用帮助

    IP地址管理:ip-address
        添加IP地址:ip address add
            ip addr IFADDR dev IFACE

                label NAME:为额外添加的地址指明接口别名
                [broadcast ADDRESS]:广播地址,会根据IP和NETMASK自动计算得到
                [scope SCOPE_VALUE]:
                    global:全局可用
                    link:接口可用
                    host:仅本机可用

        删除IP地址:ip address delete
            ip addr delete IFADDR dev IFACE

        查看ip地址:ip address show
            [IFACE]:仅显示指定接口的地址

    管理路由表:ip-route
        添加新路由:ip route add

            示例: 设置到网络10.0.0/24的路由经过网关193.233.7.65

                # ip route add 10.0.0/24 via 193.233.7.65

        修改路由:ip route change 

            示例: 修改到网络10.0.0/24的直接路由,使其经过设备dummy

              # ip route chg 10.0.0/24 dev dummy
              
     删除路由:ip route delete
      
     列出路由:ip route show

ss命令:查看网络状态信息

    命令用法:
        ss [options] [ FILTER ]    
    常用选项:
        -t:TCP协议相关的连接
        -u:UDP相关的连接
        -w:raw socket相关的连接
        -l:监听状态的连接
        -a:所有状态的连接
        -n:数字格式
        -p:相关的程序及其PID
        -e:扩展格式信息                
        -m:内存用量
        -o:计算器信息

配置文件:

    IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
       IFACE:接口名称
    路由相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
    配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口,其可通过vim等文本编辑器直接修改,也可以使用专用的命令进行修改(CentOS 6:system-config-network(setup),CentOS 7: nmtui)
ifcfg-IFACE配置文件参数:
    DEVICE:此配置文件对应的设备的名称
    ONBOOT:在系统引导过程中,是否激活此接口
    UUID:此设备的唯一标识
    IPV6INIT:是否初始化IPv6
    BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none
    TYPE:接口类型,常见的有Ethernet,Bridge
    DNS1:第一DNS服务器指向
    DNS2:备用DNS服务器指向
    DOMAIN:DNS搜索域
    IPADDR:ip地址
    NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码
    GATEWAY:默认网关
    USERCTL:是否 允许普通用户控制此设备
    PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向,默认为允许
    HWADDR:设备MAC地址
    NM_CONTRILLED:是否使用NetworkManager服务来控制接口

管理网络服务

    CentOS 6:service SERVICE {start|stop|restart|status}
    CentOS 7:systemctl {start|stop|restart|status} SERVICE[.service]
    配置文件修改之后,如果要生效,需要重启网络服务:
        CentOS 6:# service network restart
        CentOS 7:# systemctl restart network.service

    用到非默认网关路由:/etc/sysconfig/network-scripts/ifcfg-IFACE
        支持两种配置方式,但不可混用:
            (1)每行一个路由条目:
                TARGET via GW
            (2)每三行一个路由条目:
                ADDRESS#=TARGET
                NETMASK#=MASK
                GATEWAY#=NEXTHOP
`

给接口配置多个地址

ip addr之外,ifconfig或配置文件都可以
    1、ifconfig IFACE_LABEL IPADDR/NETMASK
        IFACE_LABEL:eth0:0,eth0:1,...
    2、为别名添加配置文件
        DEVICE=IDACE_LABEL
        BOOTROTO:网上别名不支持动态获取地址
            static,none

 

原创文章,作者:641348038@qq.com,如若转载,请注明出处:http://www.178linux.com/63884

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-12-16
下一篇 2016-12-16

相关推荐

  • 马哥教育网络班22期+第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)    CentOS系统启动流程为:POST –> BootSequence(BIOS) –> BootLoader(MBR) –> Kernel(ramdisk) –> r…

    Linux干货 2016-12-13
  • 第五周作业:find、cut、grep用法

    第五周作业 1、显示当前系统上root、fedora或user1用户的默认shell; 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 3、使用echo命令输出一个绝对路径,使用grep取出其基名; 扩展:取出其路径名  4、找出ifconfig命令结果中的1-255之间数字; …

    Linux干货 2016-11-28
  • 马哥教育网络班21期+第12周课程练习

    1、请描述一次完整的http请求处理过程; 建立或处理请求:接受请求或拒绝请求; 接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程; 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息; 访问资源:获取请求报文中请求的资源; 构建相应报文; 发送响应报文; 记录日志 2、httpd所支持的处理模型有哪些,他们分别适用于哪些环境。 …

    Linux干货 2016-10-24
  • 计算机组成原理

    计算机组成原理 计算机概述 计算机的基本组成: ·         存储器:     实现记忆功能的部件用来存放计算程序及参与运算的各种数据 ·         运算器:     负责数据的算术运算和…

    Linux干货 2016-10-31
  • 第三周作业

    1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次则显示一次即可。 who | cut -d' ' -f1 | sort -u 2. 取出最后登录当前系统的用户的相关信息 grep  "$(who …

    Linux干货 2016-12-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-23 12:36

    赞~总结的比较详细了~~注意在实战环境中要把配置落到相关配置文件中~继续加油~