在介绍Linux网路属性管理之前,我还要介绍下以太网(Enternet)

以太网的工作原理

以太网才用带冲突检测载波侦听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。

以太网的工作过程如下:

当以太网中的一台主机要传输数据时,它将按如下步骤进行:

1.监听信道上是否有信号在传输。如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。

2.若没有监听到任何信号,就传输数据。

3.传输的时候继续监听,如果发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。

    注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点。)

4.若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微妙

Linux 网络属性管理_Linux

七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。它是一个七层的、抽象的模型,不仅包括一系列抽象的术语或概念,也包括具体的协议。


应用层 (Application)

网络服务与最终用户的一个接口。

协议有:HTTP FTP TFTP SMTP SNMP DNS

表示层(Presentation Layer):

数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)

格式有,JPEG、ASCll、DECOIC、加密格式等

会话层(Session Layer):

建立、管理、终止会话。(在五层模型里面已经合并到了应用层)

对应主机进程,指本地主机与远程主机正在进行的会话

传输层 (Transport)

定义传输数据的协议端口号,以及流控和差错效验。

协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

网络层 (Network)

进行逻辑地址寻址,实现不同网络之间的路径选择。

协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP

数据链路层 (Link)

建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)

将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。

物理层(Physical Layer):

建立、维护、断开物理连接。(由底层网络定义协议)


IP地址

IP地址是指互联网协议地址(Internet Protocol Address,网际协议地址),是IP Address的缩写

IP地址分类

Linux 网络属性管理_Linux_02

类别最大网络数IP地址范围最大主机数私有IP地址范围
A126(2^7-2)0.0.0.0-127.255.255.2551677721410.0.0.0-10.255.255.255
B16384(2^14)128.0.0.0-191.255.255.25565534172.16.0.0-172.31.255.255
C2097152(2^21)192.0.0.0-223.255.255.255254192.168.0.0-192.168.255.255






将Linux主机接入到网络中

依次填入以下信息:

IP/mask

路由:默认网关

DNS服务器

主DNS服务器

次DNS服务器

 第三DNS服务器



Linux 网络属性管理_网络_03

配置方式:

  静态指定:

    ifcfg, ifconfig, route, netstat

    ip: boject:{link, addr, route}, ss, tc

    配置文件:system-config-network-tui

    CentOS 7:nmcli, nmtui

    动态分配:DHCP

  配置网络接口:

    接口命名方式,CentOS 6,以太网:eth[0,1,2,…]

    ifconfig命令:

      ifconfig [interface]

        # ifconfig -a

        # ifconfig IFACE [up|down]

        ifconfig interface [aftype] options | address …

        # ifconfig IFACE IP/mask [up|down]

        # ifconfig IFACE IP netmask MASK

      注意:IP立即生效

route命令:

  查看命令:route -n

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

  示例如下

[root@localhost ~]# route add -host 192.168.0.0 gw 192.168.103.1 dev eth0
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.103.1 dev eth0
[root@localhost ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.103.1
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     192.168.103.1   255.255.255.255 UGH   0      0        0 eth0
192.168.103.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     192.168.103.1   255.255.255.0   UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.103.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.103.254 0.0.0.0         UG    0      0        0 eth0

    (1)添加本地地址192.168.0.0到eth0网卡上,网关为192.168.103.1

    (2)添加网路地址192.168.1.0到eth0网卡上,网关为192.168.103.1

      也能用:# route add -net 192.168.0.0 mask 255.255.255.0 gw 192.168.103.1 dev eth0

    (3)添加默认路由,网关为192.168.103.1

      也能用:# route add default gw 192.168.103.1

删除命令:route del

  我要把刚刚添加的两条地址删除就可以用:route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

[root@localhost ~]# route del -net 192.168.1.0/24 gw 192.168.103.1
[root@localhost ~]# route del -host 192.168.0.0 gw 192.168.103.1
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.103.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.103.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.103.254 0.0.0.0         UG    0      0        0 eth0


netstat命令:

    显示网络连接:

    netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]

    选项参数:

      -t:tcp协议相关

      -u:udp协议相关

      -w:raw socket相关

      -l:处于监听状态

      -a:所有状态

      -n:以数字显示IP和端口

      -e:扩展

      -p:显示相关的进程及PID

    常用组合:-tan,-uan,-tnl,-unl

    显示路由表:

    netstat {–route|-r} [–numeric|-n]

      -r:显示内核路由表

      -n:数字格式

    显示接口统计数据:

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

      # netstat -i

      # netstat -I IFACE

Linux 网络配置

主要介绍两个命令:ip 和 ss 命令

ip命令

ip – show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor }

常用选项:

  ip link set DEVICE { up | down }:激活或指定用户端口

  ip link show

    [dev IFACE]:指定接口

    [up]:仅显示处于激活状态的接口

  ip address:ip addr { add | del } IFADDR dev STRING

    [label LABEL]:添加地址时指明网卡别名

    [scope { global | link | host }]:指明作用域

        global:全局可用

        link:仅链接可用

        host:仅本机可用

    [broadcast ADDRESS]:指明广播地址

  ip address show

    [dev DEVICE]

    [label PATTERN]

    [primary and secondary]

  ip address flush 使用同 show

  添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

  添加网关:ip route add defalt via GW dev IFACE

  删除路由:ip route del TARGET

  显示路由:ip route [ show | flush ]


ss命令

  格式:ss [options] [ FILTER ]

  选项:

    -t:tcp协议相关

    -u:udp协议相关

    -w:裸套接字相关

    -x:unix sock相关

    -l:listen状态的链接

    -a:所有

    -n:数字格式

    -p:相关的程序及PID

    -e:扩展信息

    -m:内存用量

    -o:计时器信息

        

    FILTER := [ state TCP-STATE ] [ EXPRESSION ]

      
     Linux 网络属性管理_计算机_04