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,如需转载请自行联系原作者





相关文章
|
11天前
|
安全 Linux 网络安全
Web安全-Linux网络协议
Web安全-Linux网络协议
34 4
|
28天前
|
监控 数据可视化 Linux
在Linux中,如何进行网络监控?
在Linux中,如何进行网络监控?
|
11天前
|
机器学习/深度学习 安全 网络协议
Web安全-Linux网络命令
Web安全-Linux网络命令
13 1
|
28天前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
28天前
|
监控 网络协议 Linux
在Linux中,如何进行网络调优?
在Linux中,如何进行网络调优?
|
28天前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
28天前
|
运维 监控 网络协议
在Linux中,如何进行网络故障排查?
在Linux中,如何进行网络故障排查?
|
28天前
|
监控 安全 Linux
在Linux中,如何进行网络资源的优先级管理?
在Linux中,如何进行网络资源的优先级管理?
|
28天前
|
运维 监控 网络协议
在Linux中,如何进行网络服务的监控?
在Linux中,如何进行网络服务的监控?
|
7天前
|
网络协议 Linux
Linux 网络配置
了解基本命令与权限后,如何让Linux系统联网?可通过编辑`/etc/sysconfig/network-scripts/`下的`ifcfg-ethX`文件配置网卡,其中`ethX`代表第X块网卡。对于DHCP自动获取或静态IP,需设置`BOOTPROTO`参数,并指定IP、子网掩码和网关等。配置完成后,运行`/etc/init.d/network restart`重启网络。DNS可在`/etc/resolv.conf`中设置,添加`nameserver`行即可,无需重启网卡。配置好后,可用`ifconfig`查看IP信息,并通过远程工具如SecureCRT连接服务器。
20 0