ifcfg,ip/ss,配置文件

一些网络基础的个人理解:

①网桥的必要性:

    在网络主机中 存在着通信线路征用问题. 有以太网csma/cd 和 令牌环网解决方法

    在以太网解决方案中:

    ⑴主机发送消息前查看线路是否被占用 没有占用时发送消息

    ⑵主机在发送消息时也会进行信号检测.查看是否有别的主机同时发送了消息

    ⑶如果有别的主机同时发送了消息 .则暂时中断信号发送.稍后再发

   这种解决方案在主机数量小时有效.但是如果主机数量多的时候就很容易发生冲突.并且主机的很大    比部分时间都会处于监听的状态

   网桥用来分隔冲突域.降低冲突发生的概率

②mac与ip

    MAC-介质访问控制: 用来实现本地通信. MAC地址有48位.前24位是ICANN颁发.后24位是由厂商                  定义在网络设备上.用来标识每个主机

    IP地址用来实现跨局域网通信时的线路链接. 有ABCDE五类 

    MAC地址用于本地主机间的通信.在跨局域网中.用IP地址寻到对方的位置之后MAC地址用于最后      的数据交换.在本地局域网通信中首先也是使用IP地址.在得知是在同一局域网络之后使用MAC地      址进行传输

③dhcp动态分配地址: 

    在本地网络中存在一个dhcp服务.用于动态地址分配. 在dhcp中有一个地址池用于保存闲置的可      用地址.本地主机开机后通过广播向dhcp申请一个空闲地址来使用.地址在分配的时候都会有一      个使用寿命. 在没有可用地址时,本地主机会生成一个169.254.random.random的地址用于保证      本地网络间的通信

④DNS服务器地址:

    DNS是为基于主机名的通信服务的

        wKioL1Z_sqnSiwssAAApVaGduMM655.png

    DNS有诺干备用地址,但是使用备用条件的条件是首选地址无法连接.而不是首选地址中没有相应      关系数据.如果首选地址中没有相关域名与地址的关系.找谁都没用

    配置DNS服务器指向:

配置文件 : /etc/resolv.conf

    nameserver DNF_SERVER_IP  必须以数字 不能写名字 最多能写三个

         通过ping可以测试

        如何测试(host/nslookup/dig)    

    dig -t A FQDN(主机名)

    FQDN --> ip   

    dig -x IP

    IP --> FQDn 互联网上大多数 不支持反解 通过ip得到主机名


ifcfg系列命令:  ifconfig , route , netstat

    ifconfig 接口及地址查看和管理  ifconfig默认情况下显示当前启用的接口状态太

    ifconfig [interface] 查看指定接口

    ifconfig -a 显示所有接口 包括当前未活动的接口

    wKiom1Z_tpmxVUTgAABoPe-CGSE978.png

    ifconfig interface [aftype] options | address...   地址配置

    # ifconfig IFAcE IP/MASK [up|down] 立即送往内核中的tcp/ip协议栈 并立即生效

    # ifconfig IFAcE IP natmask NETMASK

    ifconfig eth1 192.168.10.2/24 up  手动指定IP地址

    ifconfig eth1 192.168.10.2 netmask 255.255.255.0 up

        ifconfig Iface 0 删除ipv4地址

    启用或关闭接口也可以用一下命令来执行

    ifup|ifdown Iface

    读 /etc/sysconfig/network-scripts/ifcfg-IFACE  来识别接口并完成配置

    options

        [-]promisc 启用混杂模式 - 表示关闭

     管理IPv6地址

    add addr/prefixien

        del addr/prefixien


    route命令   路由查看及处理  发送到某个地址的消息有哪个接口发送

    路由条目类型:

    主机路由: 目标地址为单个IP

    网络路由: 目标地址为IP网络

    默认路由: 目标为任意主机 0.0.0.0/0.0.0.0

        查看 route -n  把主机名以数字形式显示 不以名字显示 以名字反解显示很耗资源

        wKioL1Z_vYXCADQtAACAgJFWYjo826.png

    

    添加 

    route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] Iface]

    gw 下一跳地址

    route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1 到达10.0.0.0  经由192.168.10.1

    route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1 [dev eth1]

    route add default gw 192.168.10.1 [dev eth1]  添加默认网关

    注: 下一跳地址必须与自己的某块网卡处于同一网段中  dev不写也可以自动判断

    删除路由

        route del [-net|-host] target [gw Gw] [netmask Nm]

    示例

        route del -net 10.0.0.0/8 gw 192.168.10.1  

            到达某地址的只有一个下一跳的时候可不用写gw

        route del default  删除默认网关

    netstat  

    显示路由表信息 netstat -rn

        -r : 显示内核路由表

        -n : 数字格式显示

     显示网络连接

        netstat [--tcp|-t] [--udp|-u] [--udplite|-U]  [--sctp|-S] [--raw|-w]

        -t : TCP协议的相关链接 连接均由其状态: FSM(有限状态)

        -u : UDPF相关链接   UDP没有监听状态这一东西 udp是没状态的

        -w : raw socket相关的连接

        -l : 处于监听状态的连接

        -a : 所有状态

        -e : 扩展格式

        -p : 显示相关的进程PID

    wKioL1Z_zMiBsu6gAAA_ckDhvMU933.png

    常用组合:

       -tan , -uan , -tnl , -unl , -tunlp

    显示接口的统计数据:

    netstat {--interfaces|-I|-i} [--all|-a] [--extend|-e] [--verbose|-v] [--program|-p] [--numeric|-n]

    所有接口

        netstat -i

    指定接口

        netstat -I<IFace>  中间没有空格





iproute2系列  --未来取代ifconfig系列

与内核密切相关的程序包. 与内核密切相关.只能使用内核拥有的功能


ip 查看/管理路由,设备,策略路由,隧道

    ip [OPTIONS] OBJECT {COMMAND | help}

    OBJECT:={link | addr | route | netns-只能在CentOS 7 中使用}

    注:ip子命令可以简写  但是我不喜欢 所以不说明了

    ip link  网络设备配置

    ip link {set|show|help}

        ip link set  管理修改设备属性 

        ip link set dev command

    ip link set [dev] 设备名 

    up or down 启动或关闭接口

    arp on or arp off 是否支持arp地址解析

    multicast on or multicast off  启用或禁用多播(组播)功能

    name NAME 重命名设备接口  要先把接口down掉

    mtu NUMBER : 设置默认MTU的大小 默认为1500

    netns PID : ns为namespace  将接口移动到指定的网络名称空间

            名称空间可用来配置复杂的虚拟网络.移动到指定网络名称空间后在当前默认                 下是查看不到该接口的信息

        

    ip link show显示设备属性OBJECT都可以简写 只要能唯一识别

    ip link help 显示简要使用帮助  

    ip netns : 管理网络名称空间 ---只能在CentOS 7 中使用

        ip netns list

        ip netns add NAME

        ip netns del NAME

        ip netns exec NAME COMMAND  在指定的netns中运行命令

     ip address 管理ip地址  对接口的ip地址进行增删查改

     ip address add 

      ip addr add IFADDR dev IFACE 一个接口可以添加多个地址 重复命令分别输入即可           ifconfig 显示的是添加的第一个地址

      [label NAME] : 为额外添加的地址起接口别名  之后ipconfig就能显示额外地址 

      例 : ip addr add 192.168.1.100/24 dev eth1

      ip addr add 192.168.1.100/24 dev eth1 label eth1:string

      [broadcast ADDRESS] : 广播地址. 会根据IP和NETMASK 自动计算得到 一般不会用

        [scope SCOPE_VALUE] : 作用域  用处不大

      global:全局可用  可用于与其他主机通信

      link : 接口可用  可以ping自己 别人不能ping 不用于与别人通信

      host : 仅本机可用  别人看都看不见.只能自己用

    ip address delete

        ip addr delete IFADDR dev IFACE

        add的追加属性也可以用 单独删除属性

    ip address show [IFACE]

    ip address flush  清空地址

        ip addr flush dev IFACE 清空指定接口的所有地址

    

    iproute  路由表管理

    ip route add

    ip route change

    ip route replace 修改会新建  这三个用法一样 用add示例

            ip route TYPE PREFIX via gw [dev IFACE] [src SOURCE ip]

    ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 到达192.168.0.0             要经过10.0.0.1 

    ip route add default via 172.16.0.1 dev eth0  到达默认网关要经过                 172.16.0.1

    ip route delete

        ip route del TYPE PRIFIX 即 ip route delete 目的ip

    如果要删除PREFIX的中的某个路径时可以添加后缀

    ip route show

    ip route list

    ip route get TYPE PREFIX  获取单个条目

    ip route flush [n/8|16|24]  删除n开头的诺干为掩码的所有路由表

            100/8 删除100开头的所有A类地址



    ss 命令  显示路由表 信息  取代netstat

        ss [options] [FILTER]  FILTER 过滤器

    选项:

        -t : TCP协议相关链接

        -u : UDP相关的链接

        -w : raw socket 相关链接

        -l : 监听状态链接

        -a : 所有状态链接

        -n : 数字格式

        -p : 相关的程序及其PID

        -e : 扩展格式信息

        -m : 链接占用的内存用量

        -o : 计时器信息

        filter :=[ state TCP-STATE] [EXPRESSION] 过滤器 只看指定状态链接

    TCP的常见状态:

        TCP FSM :

        LISTEN : 监听

        ESTABLISEHD : 建立的链接

        FIN_WAIT_1 : 主动关闭 等待对方确认

        FIN_WAIT_2 : 收到对方确认 等待对方发送关闭连接请求   

        SYS_SENT : 发出连接请求 等确认

        SYN_RECV : 收到连接请求 未确认

        CLOSED : 阻塞 关闭状态

        EXPRESSION 显示指定端口  

        dport= 目标端口

        sport= 源端口 

    示例: '( dport =  :# or sport = :22 )'

    ss -tan '( dport =  :# or sport = :22 )'

    ss -tan state ESTABLISEHD



通过修改配置文件 使网络属性永久有效

    IP/NETMASK/GW/DNS 等属性的配置文件  使用vim直接编辑

/etc/sysconfig/network-scripts/ifcfg-IFACE  

    wKioL1Z_4WzBN5hJAAAoicqR8Io732.png    路由的相关配置文件

/etc/sysconfig/networkj-scripts/ourte-IFACE

    当不想用vim编辑的时候可以使用界面配置

    CentOS 6: system-config-networ(专门网络配置)或setup(非专门设置网络配置)

    CentOS 7:  nmtui

    

ifcfg-IFACE配置文件 :

    wKioL1Z_40fgi7jOAAARggdO6P8631.png

DEVICE=此配置文件对应的设备名称 要与IFACE保持一致

ONBOOT=在系统引导过程中 是否激活此接口

NETBOOT=是否支持网络引导

UUID=此设备唯一标识

IPV6INIT= 是否初始化IPv6

BOOTPROTO= 激活此接口时使用什么协议来配置接口属性.常用的有dhcp,bootp ,static ,none

TYPE=接口类型 常见的有 Ethernet , Bridge

DNS1: 第一DNS服务器指向:

DNS1: 备用DNS服务器指向:

DOMAIN: DNS 搜索域   -以后再讲就明白了

GATEWAY : 默认网关

IPADDR : 配置IP地址

NETMASK : 子网掩码 : CentOS 7 支持使用 PREFIX以长度方式指明子网掩码

USERCTL : 是否允许普通用户控制此设备

PEERDNS : 如果BOOTPROTO的值为 "dhcp" ,是否允许dhcp server分配的dns 服务器指                  向覆盖本地手动指定的DNS服务器指向默认为允许

NM_CONTROLLED : 是否使用networkmanager服务 

            centOS 6 建议用network 不要用networkmanager

        HWADDR : 设备的MAC地址 ==已经被厂商定义 所以没什么用

    


    管理网络服务:

CentOS 6 : service SERVICE { start | stop | status | restart }

service network restart

CentOS 7 : systemctl { start | stop | restart | statuc } SERVICE[.service]

systemctl restart network.service

    

    使非默认网关 并永久有效时 编辑:

/etc/sysconfig/network-scripts/route-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)为别名添加配置文件  把接口配置文件复制后改为接口:别名

cp file file:0 

DEVICE=IFACE_LABEL   即DEVICE 中 :

BOOTPROTO : 网卡别名不支持动态获取地址 只能为 static 或 none


你可能感兴趣的:(配置文件,局域网,IP地址,以太网)