首页 > 代码库 > Linux 网络配置和管理

Linux 网络配置和管理

一、基本概念:

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


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

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

二、网络类型:


1、CSMA/CD:监听到网络空闲即立即发送信息,边发送边监听。

著名的以太网就采用这种方式发送信息。


        单工:要么发,要么收。

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

CSMA/CD设备:

a、Hub:集线器,接收双方在接收信息就独占线路,其他接收双方只能等待。可见效率较低。

现在已经很少用Hub。

b、网桥(只有两个端口):网桥解决了冲突域的问题。能暂存数据,内部有地址数据表格且内部有多个线路,

在接收信息是临时建立一通路,接发完毕断开。可见效率较高。

  交换机(MAC表)(多端口的网桥):但是不能解决广播域的问题。


  路由器(路由表):用来隔断广播域的问题,从而解决了广播域的问题。

  从而实现了跨网络通信,又能有效解决广播域的问题。


  IP:四段:网络地址和主机地址

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

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

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

  

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

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


  全0:网络地址

  全1:广播地址

  A:1-126:

2^7个网络

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

默认掩码:255.0.0.0

1私有网络:10.0.0.0

  B:128-191

2^14个网络

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

默认掩码:255.255.0.0

16个私有网络:172.16.0.0-172.31.0.0

  C:192-223

2^21个网络

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

默认掩码:255.255.255.0

256个私有网络:192.168.0.0-192.168.255.0


  子网掩码:网络地址为1,主机地址为0,因此小公司的子网掩码为225.255.255.0


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

    物理层:物理介质,封装前导码。

    链路层:数据帧,封装源mac和目标mac,只能完成从一个物理设备到另一个物理设备间通信。

    网络层:数据包,IP协议。路由器就工作在此层上。

    传输层:用于标记进程即端口(0-65535),TCP/UDP协议。

     TCP:0-65535,Transimission Control Protocol

     UDP:0-65535 User Datagram Protocol 用户数据包协议

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

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

    会话层:保持会话

    表示层:标记资源展示。

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

    

    TCP:有连接协议,建立逻辑连接。

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

     SYN=1,ACK=0,FIN=0

     SYN=1,ACK=1,FIN=0

     SYN=1,ACK=1,FIN=0

     断开连接:需要四次握手。

2、Token Ring:令牌环网。

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

IP/Netmask(掩码)

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

     主机路由:host

     网络路由:net

     默认路由:default,又叫网关。

DNS服务器:

主DNS服务器。

备用DNS服务器。

主机名:

四、网络配置:

1、静态指定:必须配置IP、Netmask这两项,配置这两项后能完成本地网络通信。

    要想完成与其他网络通信必须“路由(网关)和DNS服务器”


   1.1IP属于内核,只是显示在网卡上。


   1.2配置IP:

   a、网络设备服务配置文件:配置IP信息,在机器启动时读取,完成IP配置长久有效。

   b、GUI/TUI:文本窗口/图形窗口。

      TUI界面:#system-config-network-tui,配置结束后将保存至配置文件中。

注意通过setup选择network-configration可以打开TUI界面。

      GUI:图形界面。点击鼠标可以配置。极少用。


   c、用户空间的命令行工具:立即生效,单不会长久有效。ifconfig和iproute2

     ifconfig:

ifconfig无参数:显示所有活动接口的相关信息,部分显示结果说明如下:

Link encap:Ethernet 以太网。

HWaddr:mac地址

inet addr:ip地址

Bcast:广播地址

Mask:掩码

MTU:最大传输单元,如1500。

RX:接收报文信息。

TX:传送报文信息。

lo:本地回环地址信息。

ifconfig Interface:仅显示指定接口的相关信息。如ifconfig  eth0

用ifconfig设置IP:

长格式:

ifconfig Interface IP netmask MASK:ifconfig eth0 192.168.1.1 netmask 255.255.255.0

短格式:

ifconfig Interface IP/MASK:ifconfig eth0 172.16.100.7/16

     route:显示路由信息,

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

route add:添加路由

-host HOST_IP gw next_hop(dev device)

-net Net_ADDR

-net 0.0.0.0 目标地址为任意地址

route del:删除路由

-host HOST_IP

-net NET_ADDR


   

2、动态配置:

DHCP(Dynamic Host Configuration Protocol)服务器

/etc/resolv.conf


DNS 服务器指向:需要在/etc/resolv.conf配置,最多配置三个。

nameserver DNS_SERVER_IP

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

        反解测试:#dig -x IP ,如#dig -x 115.239.210.27


3、网络设备如何表示:

内核识别设备:驱动

以太网设别:ethX,如eth0,eth1,eth2...


4、服务脚本:多数为控制运行于后台守护进程,接收参数 {start|stop|restart|status}


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

禁止开机自动启动:chkconfig Srv_Script_Name off

查看::chkconfig --list Srv_Script_Name

调用机制:# /etc/init.d/Script_Name {start|stop|restart|status}

与网络设备相关的服务脚本:她们通常能够读取网络设备的胚子文件,并实现其配置生效或失效的管理功能。

CentOS 5/6 :网络服务脚本:/etc/init.d/network

CentOS 6还有一个单独的服务脚本:网络服务脚本:/etc/init.d/NetworkManager

注意:集群等配置需要关闭NetworkManager:即执行 chkconfig NetworkManager off

网络配置文件有两类(/etc/sysconfig/network-scripts):

配置IP、掩码、网关:

以太网:ifcfg-ethX

ppp:ifcfg-pppX

ifcfg-ethX的配置文件:

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

  BOOTPROTO="dhcp":引导协议,{none|static|dhcp(动态获取)|bootp}

  HWADDR="00:0C:29:8C:D0:8F":MAC地址,要与真实MAC保持一致,可省略。

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

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

  ONBOOT="yes":是否关机自动启用此网络设备{yes|no}

  TYPE="Ethernet":设备类型,如Ethernet,Bridge

  UUID="a9aa12e9-0450-497d-bc7d-909f1b0fd5cf":唯一标示,可省略。

  IPADDR=192.168.127.135:IP地址

  NETMASK=255.255.255.0:掩码

  GATEWAY=10.0.0.1:默认网关

  DNS1=10.0.0.1

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

  注意:BOOTPROTO="dhcp",则后面关于IP/NETMASK/GATEWAY/DNS等的配置无效,因为是动态获取。

原理同window的动态IP获取。

        在ifcfg-ethX中配置的内容永久有效,通过ifconfig配置的内容临时有效,重启失效。

配置路由:

route-ethX

route-pppX

      route-ethX的配置文件:每行一个行配置的路径条目

例如:192.168.0.0/24 via 172.6.100.177,同route add -net  192.168.0.0/24 gw 172.6.100.177

在route-ethX中配置的内容永久有效,用route add 配置的内容临时有效,重启失效。

   配置的格式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.177


5、iproute2(ip,ss):注意比较复杂用的比较少。



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

   ping:

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

   traceroute:获取从当前主机到达目标主机所经过的路由(网关),不过一般服务器禁止traceroute。

   

   netstat:执行速度有点慢。

-n:数字格式显示

-t:tcp协议的链接

-u:udp协议的链接

-l:监听状态的链接

-a:所有状态的链接

-p:链接相关的进程

-r:显示路由表

常用组合:netstat -tan

 netstat -tuan

 netstat -tunl

         netstat -rn

   ss:执行速度比netstat要快。

-n:数字格式显示

-t:tcp协议的链接

-u:udp协议的链接

-l:监听状态的链接

-a:所有状态的链接

-p:链接相关的进程

-e:显示扩展信息

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

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

   ethtool ethX:显示设备接口属性,如ethtool eth0

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


Linux 网络配置和管理