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