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

相关文章

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示