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数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信