Linux 网络配置和管理

Linux 网络配置和管理

大家好,又见面了,我是全栈君。

一、基本概念:

1、协议protocol:约定收发双方能理解的数据格式。

2、分层:将复杂任务分解为简单的任务。

3、MAC:Media Access Control介质访问控制。

二、网络类型:

1、CSMA/CD:

监听到网络空闲即立即发送信息,边发送边监听。如果监听到冲突,就立即停止发送,等待下一个空闲时间再次发送。著名的以太网就采用这种方式发送信息。

2、消息发送方式:

单工:要么只能发,要么只能收。

半双工:可以收发,但不能同时收发。

全双工:收发同时,互不影响。

3、CSMA/CD设备:

(1)、Hub:集线器,接收双方在接收信息就独占线路,可见是独占的总线模式,其他接收双方只能等待,即存在接收冲突域问题。可见效率较低。现在已经很少用Hub。

(2)、网桥(只有两个端口):网桥用来分隔一个较大规模的网络,解决冲突域(同时收发)的问题。能暂存数据,内部有地址数据表格且内部有多个线路,在接收信息是临时建立一通路,接发完毕断开。可见效率较高。

(3)、交换机(MAC表)(多端口的网桥):但是不能解决广播域的问题,即第一次发送数据MAC地址表无数据或MAC地址表数据老化,那么在发送数据时是向此交换机上所有端口发送的。如果多个交换机的多个网络直接连接在一起,那么广播域的问题更严重。

wKioL1hgtLbRHtLrAAAS7r-i1bM429.png

wKiom1hgtWOBQKXkAAAa1yRWjus428.png

(4)、路由器(路由表):用来隔断广播域的问题,从而解决了广播域的问题。从而实现了跨网络通信,又能有效解决广播域的问题。

wKioL1hgs9vBlVNRAAAbyibKdqw023.png

(5)、IP地址(由网络地址和主机地址组成,共分四段。如果网络地址位长了,那么主机地址位短,所连接的主机就少;反之所连接的主机就多。):

A-大型:0 000 0000-0 111 1111:0-127,第1段为网络地址,并且规定第一位为0,其他为主机地址

       1-126:

       2^7个网络

       每个网络中的主机:2^24-2

       默认掩码:255.0.0.0

       1个私有网络:10.0.0.0(这个私有网络可以连接255个主机:10.0.0.0~10.0.0.255)

B-中型:10 00 0000-10 11 1111:128-191,前2段为网络地址,并且规定前两位为10,其他为主机地址

        128-191

        2^14个网络

        每个网络中的主机:2^16-2

        默认掩码:255.255.0.0

        16个私有网络:172.16.0.0-172.31.0.0

C-小型:110 0 0000-110 1 1111:192-223,前3段为网络地址,并且规定前三位为110,其他为主机地址

        192-223

        2^21个网络

        每个网络中的主机:2^8-2

        默认掩码:255.255.255.0

        256个私有网络:192.168.0.0-192.168.255.0

D、注意:

     主播地址 1110 0000-1110 1111:224-239

     测试网络 1111 0000-1111 1111:240-255

     主机位全0:网络地址

     主机位全1:广播地址

(6)、子网掩码:

    规定对应“网络地址”子网掩码全为1,对应“主机地址”子网掩码全为0。

    A类网子网掩码:255.0.0.0

    B类网子网掩码:255.255.0.0

    C类网子网掩码:255.255.255.0

(7)、网络通讯:

    A、1-4:通信,在内核空间解析完成。

       物理层:物理介质如同轴电缆、光纤等,并封装前导码。

       链路层:封装源mac和目标mac,实现介质访问控制。

       网络层:IP数据包,封装源IP和目标IP,IP协议。路由器就工作在此层上。

       传输层:并非真正意义上的传输,而是用来“标记进程即端口(0-65535)”,TCP/UDP协议。

           TCP:0-65535,Transimission Control Protocol,类似于打电话。

           UDP:0-65535 User Datagram Protocol 用户数据包协议,类似于发信件。

           Socket套接字:由IP+Port组成。

    B、5-7:资源,在用户空间解析完成。

       会话层:保持会话

       表示层:标记资源展示。

       应用层:标记资源,请求的资源,即以什么格式的文件返回给客户端。

    

    C、TCP:有连接协议,建立的是逻辑连接。

     a、建立连接:需要三次握手。

         SYN=1,ACK=0

         SYN=1,ACK=1

         SYN=0,ACK=1

     b、断开连接:需要四次断开,TCP是全双工的即双通道。

          因此,断开时双方都需要发出请求等待对方确认。

    

wKiom1hjWN2ArBq3AAAiBhDCweE083.jpg

4、Token Ring:令牌环网,获得令牌才能发送消息。

wKioL1hg11PSZ1aKAAAXYNu6VcU746.png

、网络设备:内核通过驱动来识别网络设备。

    1、以太网设备:eth#,如eth0,eth1等。

    wKioL1hlyV6RXAtWAAALzAsac2Q640.jpg 

    2、PPP网络设备:ppp#,如ppp0,ppp1等。

    3、在Dell服务器上,网络设备通常标识为:em#,如em0,em1等。

    下图这台dell服务器有4块网卡:em1~em4

    wKiom1hlyRWCZKxSAAAm_X-Mq8s399.jpg

    4、本地回环:lo

    wKiom1hlybGg7uUfAAAQtjTuPkA881.jpg

、配置主机接入TCP/IP网络:

    1、IP/Netmask(掩码)。

    2、路由:提供与非本地网络的主机进行通信。

        主机路由:-host,目标指向主机。

        网络路由:-net,目标指向网络。

        默认路由也叫网关也叫下一跳:default,目标指向所有地址(0.0.0.0)。

    3、DNS服务器:

        主DNS服务器

        备用DNS服务器

    4、主机名

    以上4步的详细配置,见五。

五、配置主机接入TCP/IP网络详解

配置IP/Netmask,此时只能完成本地网络通信。再配置路由,就可以完成跨网络通信。

1、配置IP/Netmask:

(1)、命令方式配置IP/Netmask:

 ifconfig(ip addr,ip link),配置后立即生效,是暂时有效,但不会永久有效即关机失效。

A、#ifconfig:显示所有活动接口的相关信息。

如:#ifconfig

eth0  Link encap:Ethernet(链路层封装格式:以太网帧)

HWaddr 00:0C:29:27:38:DA (MAC地址,前三段厂商地址块,后三段设备地址块) 

inet addr:192.168.127.147(IP地址)  Bcast:192.168.127.255(广播地址) Mask:255.255.255.0(掩码)

inet6 addr: fe80::20c:29ff:fe27:38da/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500(最大传输单元)  Metric:1

RX packets:76 errors:0 dropped:0 overruns:0 frame:0 (接收)

TX packets:87 errors:0 dropped:0 overruns:0 carrier:0(传出)

collisions:0 txqueuelen:1000 

RX bytes:9410 (9.1 KiB)  TX bytes:11954 (11.6 KiB)

lo   Link encap:Local Loopback  

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING  MTU:16436  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0 

RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

B、#ifconfig Interface:仅显示指定接口的相关信息。

如ifconfig eth0:

eth0      Link encap:Ethernet  HWaddr 00:0C:29:27:38:DA  

          inet addr:192.168.127.147  Bcast:192.168.127.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe27:38da/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:120 errors:0 dropped:0 overruns:0 frame:0

          TX packets:120 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:13263 (12.9 KiB)  TX bytes:15320 (14.9 KiB)

C、ifconfig Interface Address:配置地址。

 如:长格式:ifconfig eth0 192.168.10.9 netmask 255.255.255.0

     短格式(CIDR),掩码指定多少个1即上面的的长格式为24个1。

 如:ifconfig eth0 192.168.10.9 netmask 255.255.255.0=ifconfig eth0 192.168.10.9/24

 如:ifconfig eth0 10.0.0.6 netmask 255.0.0.0=ifconfig eth0 10.0.0.6/8

 如:ifconfig eth0 172.16.1.6 netmask 255.255.0.0=ifconfig eth0 172.16.1.6 /16

D、ifconfig Interface {up|down}:启用|禁用Interface

(2)、静态配置IP,通过配置文件配置IP,配置将永久有效。

与网络设备相关的服务控制脚本:它通常能读取网络的配置文件,并让其配置生效或失效等管理功能。注意:配置完成后,需执行#service network restart,使配置生效。

A、配置IP、掩码、网关:

   a、以太网:ifcfg-eth#

   #vi /etc/sysconfig/network-scripts/ifcfg-eth0,内容如下:

   DEVICE=”eth0″ :此配置关联的设备,设备名要与文件名ifcfg-后的内容保持一致。

   BOOTPROTO=”dhcp” 引导协议,{none(手动配置)|static(手动配置)|dhcp(动态获取)|bootp(动态获取)}

   HWADDR=”00:0C:29:27:38:DA” :MAC地址,要与真实MAC保持一致,如果不知道可省略,系统会自动配置,MAC是固化在网卡上的。

   IPV6INIT=”yes”:是否自动初始化IPV6协议地址。

   NM_CONTROLLED=”yes” :是否接受NetworkManager脚本控制{yes|no}

   ONBOOT=”yes” :是否开机自动启用此网卡{yes|no}

   TYPE=”Ethernet” :设备类型,如Ethernet以太网,Bridge桥接,Binding绑定

   UUID=”80930047-c6a8-4d70-aa8d-0f876e94221d” :唯一标示,可省略,同MAC配置。

   IPADDR=192.168.127.135:IP地址

   NETMASK=255.255.255.0:掩码

   GATEWAY=10.0.0.1:默认网关

   DNS1=10.0.0.1:指定的DNS服务器地址(dns最多三个,至少要一个)

   USERCTL=no:是否允许普通用户启用或者禁用此网卡。

   PEERDNS={yes|no} 是否允许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址。

    

    b、ppp:ifcfg-ppp#


(3)、通过TUI/GUI(图形界面,极少用)静态配置IP,配置结束后会改变配置文件:

           命令1:#system-config-network-tui

           命令2: #setup,选择Network congiguration 也可进入

(4)、动态配置IP/Netmask:

           DHCP服务器:Dynamic Host Configuration Protocol 动态主机配置协议。

2、配置路由:

(1)命令方式配置路:route(ip route),配置立即生效,是暂时有效,但不会永久有效即关机失效。

A、#route:显示路由信息。

-n:使用数字格式显示,不反解地址到主机名。

如:# route -n

Kernel IP routing table

Destination     Gateway(下一跳) Genmask       Flags       Metric Ref    Use Iface

192.168.127.0   0.0.0.0         255.255.255.0   U(U启用状态)  1    0       0 eth0

0.0.0.0       192.168.127.2     0.0.0.0       UG(G默认)     0    0        0 eth0

192.168.1.100   172.16.100.188    255.255.255.255 UGH(H主机路由)

Broute add [-net|-host]:添加路由条目,有如下三种方式:

    #route add -host HOST_IP gw NEXT_HOP [dev Device]  配置主机路由

    #route add -net NET_ADDR/MASK gw NEXT_HOP [dev Device] 配置网络路由

    #route add -net 0.0.0.0:默认路由(目标地址为任务地址).  配置默认路由

    如配置网络路由:请配置路由条目,要求目标为192.168.0.0/24网络,下一跳为172.16.0.1(下一跳一定和本机地址在同一网络中,不然没跳,哈哈)

#route add -net 192.168.0.0/24 gw 172.16.0.1

    如配置主机路由:请配置路由条目,要求目标为192.168.1.100主机,下一跳为172.16.100.188(下一跳一定和本机地址在同一网络中,不然没跳,哈哈)

#route add -host 192.168.1.100 gw 172.16.100.188

   如配置默认路由:添加默认路由,下一跳为 172.16.100.88

#route add -net 0.0.0.0 gw 172.16.100.88=#route add default gw 172.16.100.88

Croute del:删除路由。

-host HOST_IP

-net NET_ADDR/MASK

 default:删除默认路由如:route del default

(2)、静态配置路由:注意:配置完成后,需执行#service network restart,使配置生效。

    A、以太网:route-eth#,在/etc/sysconfig/network-scripts/默认没有,需要自己创建。

      如:#vi /etc/sysconfig/network-scripts/route-eth0,内容如下:

      192.168.0.0/24 via 172.16.100.188  

      192.168.1.10 via 172.16.100.88

         

      配置的格式1为:DEST via NEXT_HOP,如上例。

      配置的格式2为:ADDRESS#=DEST

          NETMASKE#=Netmask

          GATEWAY#=Gateway

          例如:那么格式1用格式2配置如下:

          ADDRESS0=192.168.0.0

          NETMASKE0=255.255.255.0

          GATEWAY0=172.6.100.188

            

          ADDRESS1=192.168.1.10

          NETMASKE1=255.255.255.255

          GATEWAY1=172.16.100.88


        B、ppp:route-ppp#

3、DNS服务器:只能通过编辑/etc/resolv.conf配置,最多三个,至少一个,配置永久有效。

#vi /etc/resolv.conf如下:

# Generated by NetworkManager

nameserver 192.168.127.2

注意:测试DNS是否配置成功命令,只要能解析就说明配置成功:

     正解:#dig -t A FQDN,如#dig -t A www.baidu.com

     反解:#dig -x IP,如#dig -x 74.125.203.199

4、主机名配置:

 (1)、动态(立即生效,但不能永久有效):#hostname HOSTNAME

 (2)、静态(永久有效,但不能立即有效,需要重启服务。)

 #vi /etc/sysconfig/network

 NETWORKING={yes|no}本机的网络总开关,一般为yes,否则就不能上网。

 HOSTNAME=www.lzf.com

六、如何实现在单接口上配置多个地址:通过网络接口别名来实现。

eth0,那么它的别名可以是eth0:#格式,如eth0:0,eth0:1,eth0:2….

1、动态配置:

如,ifconfig eth0:0 172.16.100.11/16

2、静态配置:注意:非主地址不支持使用DHCP协议获取,所以BOOTPROTO只能是none|static。

如,ifcfg-ethX:Y

   DEVICE=ethX:Y

   BOOTPROTO={none|static}

   IPADDR=

   NETMASK=

    .

    .

七、服务脚本:

1、服务脚本位置 :/etc/rc.d/init.d/或/etc/init.d/

注:网络服务脚本位置:/etc/init.d/network

2、多数为控制运行于后台守护进程,接收的常用参数{start|stop|restart|status}

3、配置某服务开机自动启动:chkconfig Srv_Script_Name on

4、禁止某服务开机自动启动:chkconfig Srv_Script_Name off

5、查看某服务:chkconfig –list [Srv_Script_Name]

6、调用机制:

(1)、#/etc/init.d/Script_Name {start|stop|restart|status}

(2)、#service Script_Name {start|stop|restart|status}

八、网络管理或监测的相关工具:

1、ping:

  -c(count) :指定ping的次数。如:ping -c 2 www.baidu.com

2、netstat(网络状态探测命令–因为TCP是有状态的网络链接):执行速度有点慢。

  -n:数字格式显示

  -t:tcp协议的链接

  -u:udp协议的链接

  -l(listen):监听状态的链接

  -a:所有状态的链接

  -p:链接相关的进程

  -r:显示路由表

  常用组合:

   netstat -tan

   netstat -tuan

   netstat -tunl

   netstat -tnl

   netstat -tunlp

   netstat -rn,与命令route执行结果一样

3、ss:执行速度比netstat要快。

-n:数字格式显示

-t:tcp协议的链接

-u:udp协议的链接

-l(listen):监听状态的链接

-a:所有状态的链接

-p:链接相关的进程

-e:显示扩展信息

-m:显示套接字链接使用的内存信息

-o state {established已建立的链接|listen 监听的链接}

4、traceroute(追踪路由):

       获取从当前主机到达目标主机所经过的路由(网关),

       不过一般服务器禁止traceroute。

5、ethtool ethX:显示设备接口属性。

  如:ethtool eth0

     ethtool -S ethX:显示设备接口统计数据。

本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1572153 ,如需转载请自行联系原作者


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108022.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • fromopen函数通达信_precision函数

    fromopen函数通达信_precision函数apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。  不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。 apply方法的签名为“apply(Objectobj,Objectconfig,Objectdefaults):Object”, 该方法包含三个参数…

  • C++之内核对象进行线程同步

    用户模式下的线程同步机制提供了非常好的性能,但他们也的确存在一些局限性,而且不适用于许多应用程序,例如,对Interlocked系列函数只能对一个值进行操作,它们从来不会把线程切换到等待状态。我们可以

    2021年12月19日
  • 按钮-Button

    按钮-Button

  • 儿童计算机编程课是学什么(大学计算机课程)

    当今世界已经处于数字、网络和信息的计算机时代,而计算机编程是时代发展的关键因素,学习计算机学科的编程能培养一个人的创造力,使学习者具有批判性思维技能,同时使其成为主动学习者,为此,在少儿阶段接触和学习计算机编程知识,能使我们在今后的学习和生活中,更好的理解我们所处的时代,有能力改造我们的时代,并因此而终生受益。我们专门针对少儿学习者,开设了六门计算机科学基础课程,以方便少儿计算机编程学习者能灵活、…

  • 福利福利~262集前端免费视频!「建议收藏」

    福利福利~262集前端免费视频!「建议收藏」作者:技术胖原文地址:https://juejin.im/post/5c11bf145188252704368b98来源:掘金2018还有十几天就要过完了,我觉的这一年我的成长并不是很快,有很多

  • Django(51)drf渲染模块源码分析[通俗易懂]

    Django(51)drf渲染模块源码分析[通俗易懂]前言渲染模块的原理和解析模块是一样,drf默认的渲染有2种方式,一种是json格式,另一种是模板方式。渲染模块源码入口入口:APIView类中dispatch方法中的:self.response

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号