Linux入门攻坚——11、Linux网络属性配置相关知识1

2024-01-06 11:20

本文主要是介绍Linux入门攻坚——11、Linux网络属性配置相关知识1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网络基础知识
局域网:以太网,令牌环网,
    Ethernet:CSMA/CD
        冲突域
        广播域
    MAC:Media Access Control,共48bit,前24bit需要机构分配,后24bit自己自由使用
    IP:Internet Protocol
        Routing Protocol
        Routed Protocol

    传输层协议:tcp、udp、sctp
    网络层协议:ip

ip协议:
    IPv4地址分类:
        点分十进制:0-255
        0000 0000 - 1111 1111
        0.0.0.0 - 255.255.255.255
        A类:
            0 000 0000 - 0 111 1111 : 1-127
            网络数:126个,127环回地址;每个网络中的主机数:2^24-2;默认子网掩码:255.0.0.0
            私网地址:10.0.0.0/8
        B类:
            10 00 0000 - 10 11 1111 : 128-191
            网络数:2^14个;每个网络中的主机数:2^16-2;默认子网掩码:255.255.0.0
            私网地址:172.16.0.0/16-172.31.0.0/16
        C类:
            110 0 0000 - 110 1 1111 : 192-223
            网络数:2^21个;每个网络中的主机数:2^8-2;默认子网掩码:255.255.255.0
            私网地址:192.168.0.0/24-192.168.255.0/24
        D类:组播用
            1110 0000 - 1110 1111 : 224 - 239
        E类:
            240-255    

    子网掩码:用来进行网络号计算的
        跨网络通信:路由
        主机路由:目的是一个主机地址
        网络路由:目的是一个网络
        默认路由:
        按匹配精度优先级,最佳匹配原则:主机路由>网络路由>默认路由

Linux主机接入到网络中

需要配置:
    IP/mask:
    路由:默认网关
    DNS服务器:主DNS服务器、次DNS服务器、第三DNS服务器
配置方式:
    静态指定:分为几个命令家族
        ifcfg:ifconfig,route,netstat
        ip:object:{linkaddrroute},ss,tc
        配置文件:直接编辑配置文件,有图形工具如下
            (setup) system-config-network-tui
        CentOS 7:
            nmcli,nmtui
    动态分配:
        DHCP:Dynamic Host Configuration Protocol

配置网络接口
    接口命名方式:
        CentOS 6:
            以太网:eth[0,1,2,...]
            ppp:ppp[0,1,2,...]

    ifconfig命令
        ifconfig [interface] 
            # ifconfig -a    显示所有网络接口信息,包括没激活接口,不带-a,只显示活动接口
            # ifconfig IFACE [up | down] 

        ifconfig interface [aftype] options | address ...
            # ifconfig IFACE IP/mask_length [up]
            # ifconfig IFACE IP netmask MASK

        注意:立即生效,但不会永久有效;
        启用混杂模式:[ - ]promisc


    route命令:路由管理命令
        查看:route -n
        添加:route add [ -net | -host ] target [ netmask Nm ] [ gw Gw ] [[dev] If]
        例子:目标:192.168.1.3    网关:172.16.0.1  
        route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
                   目标:192.168.0.0   网关:172.16.0.1
        route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
        route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
                   默认路由:
        route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
        route add default gw 172.16.0.1
        本地网关一定是与本地地址在同一网络段的地址,否则无法直接将报文发给网关
        删除:route del [ -net | -host] target [ gw Gw ] [ netmask Nm ] [ [dev] If ]
        route del -host 192.168.1.3
        route del -net 192.168.0.0 netmask 255.255.255.0

不加-n,会将地址进行反解成名字。

    DNS服务器指定:
        /etc/resolv.conf
            nameserver DNS_SERVER_IP1
            nameserver DNS_SERVER_IP2
            nameserver DNS_SERVER_IP3
        正解:FQDN --> IP,  dig -t A FQDN;   host -t A FQDN
        反解:IP --> FQDN,  dig -x IP;            host -t PTR IP
           FQDN:www.baidu.com

    netstat命令:Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

        显示网络连接:
            netstat [ --tcp | -t ] [ --udp | -u ] [ --raw | -w] [ --listening | -l ] [ --all | -a ] [ --numeric | -n ] [ --numeric-hosts ] [ --numeric-ports ] [ --extend | -e[--extend|-e] ] [ --program | -p ]
            -t:tcp协议相关
            -u:udp协议相关
            -r:raw socket相关
            -l:处于监听状态
            -a:所有状态
            -n:以数字显示IP和端口,不反解
            -e:扩展格式
            -p:显示相关进程及PID
        常用组合:-tan, -uan , -tnl , -unl

        显示路由表:
            netstat {--route | -r } [--extent | -e[--extend|-e] ] [ --verbose | -v ] [ --numeric | -n ]
            -r:显示内核路由表
            -n:数字格式

        显示接口统计数据:
            netstat { --interfaces | -I | -i } [ iface ] [--all | -a] [ --extend |-e] [ --program | -p ] [ --numeric | -n ]
                # netstat -i 所有接口
                # netstat -IIFACE 指定接口,-I和接口名之间无空格

总结:ifcfg家族命令配置
    ifconfig/route/netstat
    ifup/ifdown

配置Linux网络属性:ip命令

    ip [ OPTIONS ] OBJECT { COMMAND | help }
    OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor }

    link OBJECT:
        ip link show [ dev  IFACE] [ up ]      [ dev  IFACE]显示指定接口,[ up ]显示启用的接口
        ip link set dev IFACE  [up | down]  

    addr OBJECT
        ip addr {add | del } IFADDR dev STRING   [label LABEL] [scope {global | link | host }] [broadcast ADDRESS]
            add是添加一个地址,原来配置一个ip,则又添加一个IP地址
             [label LABEL] :添加地址时指明网卡别名
             [scope {global | link | host }] :指明作用域
                 global:全局可用;link:仅链接可用;host:本机可用
             [broadcast ADDRESS] :指明广播地址
        ip addr show [dev IFACE] [label PATTERN] [primary and secondary]
            显示IP地址

        ip addr flush dev IFACE  label PATTERN
            清空IP地址





    route OBJECT:
        ip route  add
            添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
                TARGET:主机路由:IP;网络路由:NETWORK/MASK;默认网关:default
        ip route delete
            删除路由:ip route del TARGET 
        ip route show
        ip route flush
            [dev IFACE]
            [via PREFIX]


ss命令:网络查看工具
    ss [OPTION]... [FILTER]
       OPTIONS:
        -t:tcp协议相关
        -u:udp协议相关
        -w:裸套接字
        -x:unix sock相关
        -l:listen状态的连接
        -a:所有
        -n:数字格式
        -p:相关的程序及PID
        -e:扩展的信息
        -m:内存用量
        -o:计时器信息
        FILTER:=[state TCP-STATE ] [ EXPRESSION ]
        LISTEN:监听
        ESTABLISHED:已经建立的连接
        FIN_WAIT_1:
        FIN_WAIT_2:
        SYN_SENT:
        SYN_RECV:
        CLOSED:
        EXPRESSION:
        dport=
        sport=
        示例:‘( dport=:ssh or sport =:ssh)’
常用组合:-tan,tanl,-tanlp,-uan


Linux网络属性配置(3):修改配置文件
   IP、MASK、GW、DNS相关配置文件:  /etc/sysconfig/network-scripts/ifcfg-IFACE
    路由相关的配置文件:/etc/syscofnig/network-scripts/route-IFACE

    /etc/sysconfig/network-scripts/ifcfg-IFACE
        DEVICE="" :此配置文件应用到的设备;
        HWADDR:对应设备的MAC地址;
        BOOTPRORO:激活此设备时使用的地址配置协议,常用的dhcp,static,none,bootp
        NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制,CentOS6建议为"no"
        ONBOOT:在系统引导时是否激活此设备
        TYPE:接口类型,常见有Ethernet,Bridge,
        UUID:设备的唯一标识

        IPADDR:指明IP地址
        NETMASK:子网掩码
        GATEWAY:默认网关
        DNS1:第一个DNS服务器指向
        DNS2:
        USERCTL:普通用户是否可控制此设备;
        PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中。

    /etc/sysconfig/network-scripts/route-IFACE
    两种风格:
        (1)TARGET via GW
        (2)每三行定义一条路由
            ADDRESS#=TARGET
            NETMASK#=mask
            GATEWAY#=GW

给网卡配置多地址:
    ifconfig:
        ifconfig IFACE_ALIAS
            ifconfig eth0:0 192.168.0.22/24
    ip
        ip addr add
    配置文件:
        ifcfg-IFACE_ALIAS
            DEVICE=IFACE_ALIAS
    注意:网卡别名不能使用dhcp协议引导;

Linux网络属性配置的tui(text user interface):
    system-config-network-tui

    还可以使用setup命令,然后调用Network configuration

注意:要重新启动网络服务才能生效。
ifconfig eth0 down;ifconfig eth0 up
service network restart   -->  /etc/rc.d/init.d/network restart

配置当前主机的主机名:
    命令:hostname [HOSTNAME]
    配置文件:/etc/sysconfig/network
        HOSTNAME=

网络接口识别并命名相关的udev配置文件:
    /etc/udev/rules.d/70-persistent-net.rules
        文件中修改NAME=的值,修改后需要卸载和重新装载网卡驱动,才能生效
    卸载网络驱动:modprobe -r e1000
    装载网卡驱动:modprobe e1000

这篇关于Linux入门攻坚——11、Linux网络属性配置相关知识1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576189

相关文章

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas