Linux网络管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络管理相关的知识,希望对你有一定的参考价值。

  Linux的网络管理是基于之前所讲的网络管理的基础上对网络的监控,配置,修改该等操作;

  1.为网卡配置属性

   自动配置:

   采用DHCP协议获取源地址

   1.客户端发送DHCP Discover信息,以确定网络中是否有DHCP服务器能为本机提供IP地址;

   2.服务器收到DHCP Discover信息后,会检查自己的地址池,如果仍然有可用的IP地址,就从中选     择一个IP地址,向客户端广播发送DHCP offer消息;

   3.客户端将收到的第一个DHCP Offer消息中的IP地址作为可选择IP地址,向网络中广播DHCP         Request消息,通知服务器,选定这个IP地址作为本次通信的IP地址;

   4.提供IP地址的服务器收到DHCP Request消息后,将IP地址和对应主机的物理地址临时绑定;并且     开始租约计时;发生DHCP ACK确认消息;不是提供该IP地址的服务器收到DHCP Request,将该IP     地址重新放入地址池中,并给客户端发送DHCP NAK消息,非确认消息;

   手动配置:

   静态指定,由管理员使用命令进行配置,而不是其自身动态配置,这就需要涉及多个命令的使用,   也是我们Linux网络管理命令使用的重点;

   ①net-tools命令家族

    ifconfig:查看网络接口的配置属性,修改IP地址,子网掩码等,查看接口属性;

    route:查看路由信息;配置默认路由,静态路由,默认静态路由;

    netstat:状态及统计数据的查看;

   ②iproute命令家族

    ip OBJECT

    其中OBJECT可以是:

    addr:IP地址和掩码的管理

    link:物理接口的管理

    route:路由管理

    ss:状态及统计数据的查看;

    注意:以上命令,在任何的Linux发行版中都适用;

   ③nm家族:Network Manager

    nmcli:命令行工具

    nmtui:text-window的工具

    nm家族只在CentOS7中能够使用;

    system-config-network

    system-config-network-cmd

    system-config-network-tui

    上述三个工具都是setup的子命令;在CentOS6中可以使用上述命令;


  2.网络接口的命名方式

   传统的命名方式:适用于centos6之前的发行版本

   以太网:以eth0,eth1方式表示网卡接口

   l0:表示环回接口


   可预测的命名方式:适用于centos6之后的发行版本

    ①根据Firmeware命名方式,每个主机,都有其固定唯一的标识符,如MAC地址,厂商标识,电器     编号等;

    ②根据物理拓扑结构:每个主机都有其固定数量的插槽和接口,第几个插槽的第几个接口有怎样     的表示形式等;

    根据上述两种命名方式,有以下命名的标准:

    ①如果Firmeware或Bios是主板上集成提供的索引信息,并且信息可用,则用enoX表示,X为整       数,如eno0,eno1等;

    ②如果Firmeware或BIOS是主板上扩展槽提供的索引信息,并且信息可用,则用ensX表示,X为整     数,如ens0,ens1等;

    ③如果硬件接口的物理拓扑的位置信息存在并可用,则用enpXsY表示,如enp1s0,表示以太网的     第一条总线上的第0插槽;

    ④如果用户显式的定义,可以根据诸如MAC地址进行命名;如:enx000c290045b3;enx后的标识为     MAC地址;

    ⑤如果上述标准皆不可用,则使用传统的命名方式;


  net-tools命令家族:

  1.ifconfig命令:查看网络配置,配置IP地址,子网掩码;

  常用选项:

  -a:显示所有网络接口,无论其是否处于激活状态;

  使用方法:

  ①#ifconfig:显示当前所有处于激活状态的接口

  

  ②#ifconfig eno16777736:显示指定网络接口

  技术分享

  ③#ifconfig eno16777736 172.16.72.4:修改指定网络接口的IP地址

  技术分享

  ④#ifconfig eno16777736 172.16.72.4 netmask 255.255.192.0:设置指定网络接口的子网掩码

  技术分享

  ⑤#ifconfig eno16777736 down:将指定网络接口关闭

   #ifconfig eno16777736 up:将指定网络接口激活

   down

   技术分享

   up

   技术分享


   route命令:查看和管理路由信息;

   常用选项:

-n:以数字化显示主机名(IP地址)和端口

   

   设置路由信息:

route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 添加路由信息

route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 删除路由信息

     -net:网络地址

     -host:本地地址

     netmask:子网掩码

     gw:网关

     dev:设备

     If:接口名

     设置默认网关的方法:default === -net 0.0.0.0 netmask 0.0.0.0

     默认网关:当查找目标地址将发往何处时,将目标地址与路由表中的子网掩码进行相与操作,      若不存在匹配项,则将数据报发往默认网关,由默认网关发往所有地址;即发往任意地址的路      由;

   使用方法:

   ①route add default gw 172.16.72.4:设置默认网关,网关地址为172.16.72.4

   技术分享

   ②route del default:删除默认网关

   技术分享

   ③route add -net 10.0.0.0/8 gw 172.16.72.3:设置静态路由,通过172.16.72.3接口的路由到    达外部网络10.0.0.0;当网络接口唯一时,则可省略不写;

   技术分享

   ④route del -net 10.0.0.0/8 gw 172.16.72.3:删除静态路由

   技术分享

   

   netstat命令:查看网络信息

   Print network connections, routing tables, interface statistics,masquerade            connections, and multicast memberships


   network connections网络连接

   常用选项:

   [--tcp|-t]:显示tcp协议相关的网络连接;

   [--udp|-u]:显示udp协议相关的网络连接;

   [--numeric|-n]:以数字化的形式显示;

   [--all|-a]:显示所有状态的任意连接;

   [--program|-p]:显示与该网络连接相关的应用程序及进程ID;

   [--listen|-l]:显示处于listan监听状态下表示正在工作的tcp连接;

   

   常用选项组合及使用方法:

   ①tan:以数字化方式显示所有TCP网络连接;

   技术分享

   ②uan:以数字化方式显示所有UDP网络接口;

   技术分享

   ③tnl:以数字化方式显示,处于listen状态的TCP网络连接;

   技术分享

   ④unl:以数字化方式显示,处于listen状态的UDP网络连接;

   技术分享

   ⑤upnl:以数字化方式显示,处于listen状态的UDP网络连接,显示与该网络连接相关的应用程序         及进程ID;

   技术分享

   ⑥tpnl:以数字化方式显示,处于listen状态的TCP网络连接,显示与该网络连接相关的应用程序         及进程ID;

   技术分享

   ⑦tunlp:以数字化方式显示,处于listen状态的TCP和UDP网络连接,显示与该网络连接相关的 应         用程序及进程ID;

   技术分享


   routing tables路由表

   常用选项:

   [--route|-r]:查看路由表项;

   [--numeric|-n]:以数字化的形式显示;

   [--extend|-e]:显示扩展信息

   

   常用选项组合及使用方法:

   ①rn:查看路由表项以数字化形式显示;

   技术分享

   ②rne:查看路由信息以数字化形式显示,并显示扩展信息;

   技术分享


   interface statistics接口统计信息

   {--interfaces|-I|-i}:查看接口信息; 

   [--all|-a]:查看所有接口信息;

   [--extend|-e]:显示扩展信息; 

   [--numeric|-n]:以数字化形式显示;

   

   常用选项及使用方法

   ①ian

    技术分享


   

   {--statistics|-s}显示所有协议的统计信息; 

   [--tcp|-t]:TCP网络连接; 

   [--udp|-u]:UDP网络连接;  


   常用选项及使用方法

   ①st:显示TCP协议的统计信息;

   技术分享

   ②su:显示UDP协议的统计信息;

   技术分享


   iproute命令家族

   ip {link|addr|route|netstat} COMMAND:查看和配置路由设备

   ①link:针对二层数据链路层的信息,如MAC地址,ARP目的地址;

    ip link COMMAND(子命令)

     COMMAND有set,add,del,help,show其中add和del主要是针对MAC地址,而在实际应用当中这      类操作往往不需要我们去更改;

    set:

    ①ip link set dev IFACE_NAME {up|down}:表示激活或关闭网络接口,当更改网络接口名字      时需要关闭网络接口,重新激活才行;

    技术分享

    ②ip link set dev IFACE_NAME name NEW_NAME:更改网络接口名

    技术分享

    ③ip link set dev IFACE_NAME netns NAME:将网络接口放入名称空间中;

    名称空间:将多个网络接口放入不同名称空间中,减少接口之间的冲突,彼此之间有能通过同一     个物理网卡进行通信;

    名称空间相关命令:

     ip netns add NAME:添加名称空间;

     技术分享

     ip netns delete NAME:删除名称空间;

     技术分享

     ip netns {show | list}:显示名称空间;

     ip netns exec NS_NAME cmd(相关命令):在指定名称空间使用命令cmd,如显示名称空间中      的网络接口

     技术分享

     ip link {show | list}:列表显示所有链路接口,只显示链路层信息

     ip link help:获得简短的帮助信息

   

   addr:

   ip addr COMMAND:设置三层的网络地址,主要针对于IP地址,查看配置IP地址;

   ①ip addr add 172.16.72.1 dev IFACE_NAME:添加IP地址172.16.72.1到IFACE_NAME网路接        口;

   技术分享

   ②ip addr del 172.16.72.1 dev IFACE_NAME:删除IFACE_NAME网路接口的IP地址             172.16.72.1

   技术分享

   ③ip addr {show | list} [dev IFACE_NAME]:显示网络接口上配置的IP地址;

   ④ip addr flush dev IFACE_NAME:将指定接口上配置的所有IP地址全部清除;

   技术分享

   ⑤ip addr add IFADDR dev IFACE_NAME label Label_NAME:当一个接口有多个IP地址,采用此命    令后可以使用ifconfig全部显示;

   技术分享

   

   route:

   ip route COMMAND

   COMMAND={add|del|list|show|flush}:常用于增加路由表项,删除路由表项,显示路由表项以及清    空某一IP地址的路由表项;

   例

   ip route add 10.0.0.0/8 via 172.16.72.4

   当数据要发向10.0.0.0/8这个网络时,可以通过接口到达下一跳地址172.16.72.4发往目的网络;

   技术分享


   ip route del 10.0.0.0/8

   删除路由信息

   技术分享


 

   ip route show|list

   显示路由表项

   技术分享


   ip route flush 172.16.72.4

   清空指定IP地址的路由表



   ss:ss命令是作为netstat命令的升级版来使用,其命令使用方式与netstat一般无二,唯一区别就    在于ss命令可以设置监视接口状态;

   常用选项:

   -t:TCP协议相关的连接状态

   -u:UDP协议相关的连接

   -w:raw socket相关的连接

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

   -a:所有的状态的套接字连接

   -n:数字化显示结果

   -p:显示相关的应用程序及PID

   -e:显示详细的扩展信息

   -m:显示内存使用量

   -o:计时器信息


   常用选项组合:

   -tan,-uan,-tnl,-unl,-tnpl,-unpl

  

   例

   -tan:查看TCP协议的以数字化形式显示的所有接口;

   技术分享


   -uan:查看UDP协议的以数字化形式显示的所有接口;

   技术分享

   

   -tnl:查看TCP协议的以数字化形式显示的LISTEN状态下的连接;

   技术分享

 

   -unl:查看UDP协议的以数字化形式显示的LISTEN状态下的连接;

   技术分享



   配置文件:上述命令对网络接口的操作,对于网络接口而言并不是永久性的操作,只是在该网络接口在运行的这段周期内有效,而当网络接口down掉重启后,使用命令对该网络接口的操作就会被清除,针对于这种情况,所以我们就需要一个能够永久保存配置操作的空间,即配置文件;

   配置文件根据操作系统不同,也略有不同

   centos6下的网络配置文件;

   网络接口配置文件路径:/etc/sysconfig/network-scripts/ifcfg-NAME(NAME为网络接口名)

   在这个配置文件中可以配置以下常用属性:

   DEVICE:设备名;如DEVICE=eno123

   TYPE:网络接口类型;常用的有ethernet,Broidge等;

   HWADDR:物理地址;

   IPADDR:IP地址;如IPADDR=172.16.72.5

   ONBOOT:是否开机自启;如ONBOOT=yes|no;

   BOOTPROTO:IP地址配置方式;static静态的,none手动配置,dhcp动态配置,bootp动态配置;

   NM_CONTROLLED:是否允许NetworkManager服务管理网络接口;此服务在CentOS6中非常不完善,所    以建议不使用此服务进行网络接口的管理;而且最好将此服务永久关闭;

   NETMASK:设置IP地址对应的子网掩码;如:255.255.255.0

   PREFIX:设置IP地址的网络前缀的位数;如:24

   GATEWAY:设置默认网关

   DNS1:首选DNS服务器的地址指向;

   DNS2:备用DNS服务器的地址指向;

   DNS3:第三DNS服务器的地址指向;

   PEERDNS:是否允许从DHCP服务器获得的DNS服务器的地址指向替代此配置文件中的DNS服务器的地    址指向;默认值为允许;

   

   主机名称配置文件路径:/etc/sysconfig/network

   可以修改主机名称,但要注销后才可启用;

   

   centos7的配置文件:

   centos7的配置文件与centos6大致相同,多出了以下属性

   UUID:唯一标识符;

   NAME:网络接口的显示名称;

   DEFROUTE:是否允许此网络接口运行默认路由;


   主机名称的配置文件:/etc/sysconfig/network

   

   本地主机配置文件:/etc/hosts

   格式:IP地址    主机名(多个主机名之间使用空白字符隔开)

   

   解析器文件:/etc/resolv.conf

    search DOMAIN_NAME

    nameserver DNS_SERVER_IP_ADDRESS


   静态路由的配置文件:/etc/sysconfig/network-scripts/route-IFACE_NAME

   配置路由信息

   格式:目的网络地址 via 下一跳地址

   示例:

      10.0.0.0/8 via 192.168.100.254

  



以上是关于Linux网络管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux网络管理

linux网络配置

linux 查看当前的网络配置

linux怎么配置网络设置(linux怎么配置网络 连接外网)

linux网络设置

linux如何消耗网络流量?