linux网络管理

简介:

  不联网的计算机就是废铁,管理linux也必须懂得网络,但是网络是一门特别大的学科,其中的原理和规范可以编写三本书。学习linux之前总不能先去考个CCNA再学习吧!不学的话那必须对网络有一定的认识懂得linux中的网络管理,了解基本的网络运作原理。

一 物理设备

  早期网络有多种拓扑结构,现在已经被淘汰了,只要了解它们的类型和大致的优缺点就好。星形拓扑,使用中间设备进行信号中继,中心节点单点故障对对全局影响明显;环形拓扑,使用令牌环,每个设备的损坏对全局都有特别大的影响;总线型拓扑,对中心线要求比较高;网状拓扑,特别耗费资源主要耗费线材;半网状拓扑,也就是当今世界使用的网络拓扑,不仅省了线材还最大程度上保证网络的联通性,当然这只是高层网络,底层大多是星形拓扑。

  物理设备主要有三种

  集线器hub:连接在集线器上的主机,在同一个冲突域,也在一个广播域内,其内部结构类似总线。冲突域:所有主机连接到一根网线上,这时在这个网线上只能有一个主机发信号,多个主机一起发信号就会导致这跟网线上的信息。一个主机发出信号,在这个网线上的所有主机都会收到,这就是广播。

  交换机switch:连接在交换机上的主机,不在同一个冲突域,在一个广播域内。交换机内部很复杂,主要是功能是:主机把数据发送给交换机时,交换机会把数据先自己保存然后转发给所有主机。这时多个主机可以同时发送信息了,解决了冲突。

  路由router:可以实现信息选择性的发送给其他设备,解决了广播。

二 网络协议

  网络的协议有两个规范,为什么是两个?因为有一个国际规范osi参考模型,这个规范为了把多种网络同一起来设计了一个七层模型,但是实际生产中人们发现另一种四层模型不仅简单而且高效的利用网络,导致规范出了两个。

  两个规范的对比情况:

wKioL1g_x1OxzAYSAAA7Z9U-xMI329.png-wh_50

  这里只说四层网络协议:

网际层:这一层很基础,主要是实现电气信息和数字信息的转换和个主机识别,主机间识别主要是使用这一层的mac

网络层:这一层有著名的ip协议实现主机通信。

传输层:tcpudp。主要是实现进程间通信,这才是重点,真正需要通信的不是主机,而是运行在主机上的进程。tcp三次握手,seq作为发送,ack作为响应。四次断开,因为通信是全双工的。

应用层:http超文本传输协议,ftp等等。

  判断网络的工具:

1
2
3
4
5
6
7
ping 检测网络的连通性,使用的是icmp协议
     -s    指定包的大小
     -c    指定发送包的数量
     -w    指定等待的时间
     -I      指定发送包的接口
     ping 的结果中ttl=初始值-经过的路由数(linux的初始值是64,windows是128)
     tracepath可以查看包经过的路由。
1
2
3
4
5
6
7
8
9
10
ss命令:
     -t          tcp协议的通信
     -u          udp协议的通信
     -w           raw socket通信
     -x          unix socket通信
     -n          以数字的形式显示
     -l          listen状态的
     -a          所有状态
     -p          显示pid
     -e          显示扩展信息

三 linux网络管理命令

  网络管理在centos67使用的工具不一样,在7里使用的工具虽然6里面也有但是兼容性和稳定性不太好。

1网络状况查看的命令

1
2
3
4
5
top 动态的查看网络状况
htop比 top 更好看
glances信息比较全的实时查看网络的工具
dstat实时监控系统各种状况的总计
等等


2 centos临时管理网络命令

1
2
3
ifconfig  IFACE IP /netmask  [up]
给IFACE指定ip,也可以给IFACE的一个别名指定ip,这样一个网卡就可以拥有多个ip
router add [-net|-host] target [netmask Nm][gw Gw] [[dev] If]

给某个ip增加路由示例:route add default gw 172.16.0.1

1
2
3
4
5
6
7
router –n 显示路由信息
以上是古老的网络查看管理命令,目前ip命令正在逐步取代上面这两个命令。
ip addr add|change|del|flush
        ip管理命令,使用tab补全,可以快速的管理|
note:ip可以让一个网卡同时拥有多个ip并且不是有别名
ip router 。。。
        路由管理命令


3 centos6的网络管理

  NetworkManager可以直接更改配置文件,但centos6中的NetworkManager不是很稳定一般都是关掉。由此,更改网络后要想让网络永久生效就需要更改网卡的配置文件。

centos配置文件位于/etc/sysconfig/network-scripts/目录下,以ifcfg-开头。

配置文件格式

1
2
3
4
5
6
7
8
DEVICE           设备名
BOOTPROTO       获取ip的方式dhcp、static等等
ONBOOT           开机时启动
IPADDR           ip地址
PREFIX|NETMASK     掩码位数或直接指定掩码
GATEWAY           指定网关
DNS1          指定dns服务器
等等


  很多公司的服务都是很重要的必须保证99.9%的在线时间,这时一个网卡换掉导致服务挂掉将是一大笔损失。一个网卡不能满足需求,这时我们可以使用两个网卡同时工作甚至更多。这需要使用bongdingbongding机制是使用linux内的bongding模块实现的。bonding有多种工作模式:1Mode 0 (balance-rr)2Mode 1 (active-backup)3Mode 3 (broadcast)

导入bonding模块的      modprobe bonding

  编辑配置文件/etc/sysconfig/network-scripts/ifcfg-bond0

1
2
3
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0”

编辑辅网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0

1
2
3
4
5
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE= yes
USERCTL=no

       使bongding永久生效需要更改更改配置文件

1
2
3
vim  /etc/modprobe .d /bond .conf
alias  bond0 bonding
options bond0 miimon=100 mode=0    #使用这一行的时候就不用在bond0的配置文件中使用BONDING_OPTS= “miimon=100 mode=0”了。


4 centos7的网络管理

  centos7里可以直接使用NetworkManager的管理命令nmclinmcli命令很简单,连击tab就可以补全和ip的使用类似。使用cmcli配置的网卡的信息,最好使用ip命令查看。nmcli可以支持多个配置文件同时存在,但是只能使用一个。它的配置文件和6的进本类似只是可以指定多个ip

IPADDR

IPADDR1

centos7使用网络组实现类似centos6bonding。使用网络组的命令集合如下:

1
nmclicon add  type  team con-name team0 ifname team0 config ‘{ "runner" :{ "name" : "loadbalance" }}' ipv4.addresses 192.168.1.100 /24  ipv4.methodmanual

这条是命令是生成team0网卡并配置网卡

1
nmcli con add con-name team0-eth1 typeteamslave ifname eth1 master team0

eth1加入team0

1
nmcli con add con-name team0-eth2 typeteamslave ifname eth2 master team0

eth2加入team0

1
2
3
nmcli con up team0
nmcli con up team0-eth1
nmcli con up team0-eth2

启动三个网卡

1
2
teamdctl team0 state      查看组情况
nmcli dev dis eth1      停止eth1测试


总结

  网络知识虽然很多,但是运维人员需要接触的不是很多,bonding和网络组基本上是由机房人员实现的。机器网卡一旦出了问题,只能机房那一会的人员处理完问题后,才是运维上的时候。运维主要要了解网络的基本原理,了解网卡组网的原理。

  真正需要熟练使用的是网络的配置,ip,掩码,网关,路由。还有就是查看网络情况的命令,第一时间判断问题的出处。






      本文转自Ailu0li 51CTO博客,原文链接:http://blog.51cto.com/oldking/1878485,如需转载请自行联系原作者





相关文章
|
9天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
10天前
|
网络协议 安全 Linux
Linux网络名称空间之独立网络资源管理
Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应用开发人员在使用时应注意的重点。
|
10天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
17天前
|
Linux
Linux中centos桌面消失网络图标
Linux中centos桌面消失网络图标
13 0
|
28天前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
44 0
|
28天前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
38 0
|
28天前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
36 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 关闭PPP(Point-to-Point Protocol)连接 ppp-off命令 使用指南
【Shell 命令集合 网络通讯 】Linux 关闭PPP(Point-to-Point Protocol)连接 ppp-off命令 使用指南
40 1
|
28天前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
49 1