基于Centos7.9的网络管理技能

对于提供互联网应用的服务器,网络防火墙是其抵御攻击破坏的安全屏障,如 何在攻击时及时做出有效的措施是网络应用时时刻刻面对的问题 。高昂的硬件防火墙是一般开发者难以接受的 。Linux系统的出现,为开发者低成本解决安全问题提供 了一种可行的方案 。要熟练应用Linux防火墙,首先需要了解TCP/IP网络的基本原理,理解Linux防火墙的工作原理,并熟练掌握Linux系统下提供的各种工具 。
如果管理的计算机有几十台,初始化服务器配置IP地址、网关和子网掩码等参 数是个烦琐耗时的过程 。如果网络结构要更改,需要重新初始化网络参数,使用动态主机配置协议( Host,DHCP)则可以避免 此问题,客户端可以从DHCP服务端检索相关信息并完成相关网络配置,在系统重启 后依然可以工作 。尤其在移动办公领域 , 只要区域内有一台DHCP服务器,用户就可 以在办公室之间自由活动而不必担心网络参数配置的问题 。DHCP提供一种动态指定 IP地址和相关网络配置参数的机制 。
如今互联网应用越来越丰富 , 如仅仅用IP地址标识网络上的计算机是不可能完成任务的,也没有必要,于是产生了域名系统 。域名系统通过一系列有意义的名称 标识网络上的计算机,用户按域名请求某个网络服务时,域名系统负责将其解析为 对应的IP地址,这便是DNS 。
本文的主要内容:
网络管理协议
这里主要简单介绍TCP/IP协议,UDP协议和ICMP协议 。更多内容请自行查找 。
TCP/IP协议
网络接口层:主要为上层提供服务,完成链路控制等功能 。
网际互联层:主要解决主机到主机之间的通信问题 。其主要协议有:网际协议(IP)、地址解析协议 (ARP)、反向地址解析协议(RARP)和互联网控制报文协议(ICMP) 。
传输层:为应用层提供端到端的通信功能,同时提供流量控制 , 确保数据完整和正确 。TCP协议位于该层,提供一种可靠的、面向连接的数据传输服务;与此对应的是UDP协议,提供不可靠的、无连接的数据报传输服务 。
应用层:对应于OSI参考模型中的上面3层 ,  为用户提供所需要的各种应用服务,如FTP、、DNS、SMTP等 。
网络字节序
由于不同体系结构的计算机存储数据的格式和顺序都不一样,要使用互联网互联必须定义一个数据的表示标准 。如一台计算机发送1个32位的整数至另外一台计算 机,由于机器上存储整数的字节顺序可能不一样,按照源计算机的格式发送到目的 主机可能会改变数字的值 。
TCP/IP协议定义了一种所有机器在互联网分组的二进制 字段中必须使用的网络标准字节顺序(byte order),与此对应的是主机字节顺序,主机字节顺序是和各个主机密切相关的 。传输时需要遵循 以下转换规则:“主机字节顺序→网络字节顺序→主机字节顺序”,即发送方将主 机字节顺序的整数转换为网络字节顺序然后发送出去,接收方收到数据后将网络字 节顺序的整数转换为自己的主机字节顺序然后处理 。
UDP协议
UDP(User)是一种无连接的传输层协议,主要用于不要 求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成 , 提供面向事 务的简单不可靠信息传送服务 。由于其不提供数据包分组、组装和不能对数据包进 行排序的缺点,当报文发送之后,是无法得知其是否安全完整到达的,同时流量不 易控制 , 如网络质量较差,则UDP协议数据包丢失会比较严重 。但UDP协议具有资源 消耗?。?处理速度快的优点 。
ICMP协议
ICMP是(控制报文协议)的 缩写,属于TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消 息 。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息 。如经常使用的用于检查网络通不通的ping命令,ping的过程实际上就是ICMP协议工 作的过程 。ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方 完成 。
网络管理命令 检查网络通常或速度ping
ping常常用来测试与目标主机或域名是否可达,通过发送ICMP数据包到网络主 机,并显示响应情况,并根据输出信息来确定目标主机或域名是否可达 。ping的结 果通常情况下是可信的 , 由于有些服务器可以设置禁止ping,从而使ping的结果并不是完全可信的 。
Linux下ping不会自动终止,需要按“Ctrl+c”终止或用参数“-c”指定要求 完成的回应次数 。
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
示例如下:
直接ping(下图是ping的通的情况)
ping指定次数
指定时间间隔和次数限制
ping公网域名
发送周期 , 设置发送包的大?。柚肨TL值
更多内容:Linux ping 命令 | 菜鸟教程 ()
配置网络或显示当前网络接口状态
命令可以用于查看、配置、启用或禁用指定网络接口,如配置网卡的 IP地址、掩码、广播地址、网关等,类似的命令为 。
语法如下:
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>][io_addr][irq][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
参数说明:
示例
显示网络设备信息

基于Centos7.9的网络管理技能

文章插图
第1行:UP表示此网络接口为启用状态 , 表示网卡设备已连接 , 表示支持组播,MTU为数据包最大传输单元 。
第2行:依次为网卡IP、子网掩码、广播地址 。
第3行:ipv6地址 。
第4行:(以太网)表示连接类型,ether为网卡的MAC地 址 。
第5行:接收数据包个数、大小统计信息
第6行:异常接收包的数量,如丢包量,错误等 。
第7行:发送数据包个数、大小统计信息 。
第8行:导演发送包的数量,如丢包量,错误等 。
如果第6行和第8行中的丢包量、错误包量较高,通常表示物理链路存在问题 。例如网线干扰过大、距离太长等 。
显示指定网卡信息
ifconfig ens33
2. 启动关闭指定网卡
ifconfig ens33 down# 关闭ifconfig ens33 up# 开启
为网卡配置和删除IPv6地址
ifconfig ens33 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址ifconfig ens33 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
修改MAC地址
用修改MAC地址
ifconfig ens33 down //关闭网卡ifconfig ens33 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址ifconfig ens33 up //启动网卡ifconfig ens33 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址 ifconfig ens33 up //启动网卡
启用和关闭ARP协议
ifconfig ens33 arp//开启ifconfig ens33 -arp//关闭
设置最大传输单元
# ifconfig ens33 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes
更多内容:Linux 命令 | 菜鸟教程 ()
【基于Centos7.9的网络管理技能】显示添加或修改路由表route
显示所有的路由表
添加一条路由
发往192.168.60.0网段的全部要经过网关192.168.2.1
route add -net 192.168.60.0255.255.255.0 gw 192.168.2.1
删除一条路由
删除的时候不需要网关
route del -net 192.168.60.0255.255.255.0
复制文件至其他系统scp
如本地主机需要和远程主机进行数据迁移或文件传送 , 可以使用ftp , 或搭建 Web服务,另外可选的方法有scp或rsync 。
Linux scp 命令用于 Linux 之间复制文件和目录 。也可以用于传递数据(前提是安装协议,解决办法,关于scp传输文件踩过的坑(最全!linux与相互传输文件)
scp 是copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令 。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版 。
注意由于各个发行版不同 , scp语法不尽相同 , 具体使用方法可查看系统帮助 。
语法如下(简易语法):
scp [可选参数] file_source file_target
系统ip:192.168.2.6
系统ip: 192.168.2.7
系统:192.168.2.2
从本地复制到远程
# 简单版scp 本地文件 对端ip:对面目录# 指定用户名需要输入密码scp 本地文件目录 远程用户名@对端ip:远程文件目录
.9到.0(以add.sh为例子)
基于Centos7.9的网络管理技能

文章插图
指定了root用户传输文件
scp /root/add.sh root@192.168.2.7:/home/daokun/桌面
传输目录-rscp -r /root/test root@192.168.2.7:/home/daokun/桌面
登录查看
win10到
准备的文件
命令如下:
scp -r /D:/KwDownload/song root@192.168.2.7:/home/daokun
从远程到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可
.9到.0(在操作)
复制系统/root/test目录到系统
现在的ip是192.168.2.5
scp -r root@192.168.2.6:/root/test /home/daokun/桌面
基于Centos7.9的网络管理技能

文章插图
复制文件至其他系统rsync
rsync是Linux系统下的常用的数据镜像备份工具,用于在不同的主机之间同步文件 。
从字面意思上,rsync 可以理解为sync(远程同步),但它不仅可以远程同步数据(类似于 scp 命令),还可以本地同步数据(类似于 cp 命令) 。不同于 cp 或 scp 的一点是,使用 rsync 命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖 。
本地文件传送到远程主机(默认在家目录,命名为.txt)
rsync -v --port 56789 daokun.txt root@192.168.2.7:daokun1.txt
基于Centos7.9的网络管理技能

文章插图
本地目录传送到远程主机(命名为dao)
rsync -avz --port 56789 daokun root@192.168.2.7:dao
基于Centos7.9的网络管理技能

文章插图
用法更多详解:Linux rsync命令用法详解 ()
rsync 从一台服务器远程拉取另一台服务器数据的实践
显示网络连接、路由表或接口状态
命令用于监控系统网络配置和工作状况,可以显示内核路由表、活动的网络状态以及每个网络接口的有用的统计数字 。
参数说明
-a
显示所有连接中的
-c
持续列出网络状态
-h
在线帮助
-i
显示网络界面
-l
显示监控中的服务器的
-n
直接使用IP地址
-p
显示正在使用的程序名
-r
显示路由表
-s
显示网络工作信息统计表
-t
显示TCP端口情况
-u
显示UDP端口情况
-v
显示命令执行过程
-V
显示版本信息
示例
显示所有端口,包括UDP、TCP
netstat -a|head -4
显示所有TCP端口
netstat -at
显示所有UDP端口
netstat -au
所有TCP端口并显示对应的进程名称或进程号
netstat -plnt
显示核心路由信息
netstat -r
显示网络接口列表
netstat -i
下载工具wget
语法: wget [参数] [软件地址]
参数:
举例
wget -c http://ftp.gnu.org/gnu/wget/wget-1.14.tar.g
Linux网络配置
Linux网络配置相关的文件根据不同的发行版目录名称有所不同,但大同小异,主要有以下目录或文件 。
1)/etc/:主要功能在于修改主机名称 。
2)/etc//-/ifcfg-enoN:是设置网卡参数的文 件,比如IP地址、子网掩码、广播地址、网关等,N为一串数字 。
3)/etc/.conf:此文件设置了DNS相关的信息,用于将域名解析到 IP 。
4)/etc/hosts:计算机的IP对应的主机名称或域名对应的IP地址 , 通过设置/etc/.conf中的选项可以选择是DNS解析优先还是本地设置优先 。
5)/etc/.,名字服务切换配置):规定通过哪些途径 , 以及按照什么顺序通过这些途径来查找特定类型的信息 。
配置Linux系统的IP地址
首先进入目录cd /etc//-
我们使用的网卡是ens33,所以vim ifcfg-ens33
名称意义
TYPE=
类型,以太网
=none
置为none禁止DHCP,设置为启用静态IP地址,设置为dhcp开启DHCP服务
=255.255.255.0
子网掩码
= 24
子网掩码
NAME
设备名,此处对应网络接口为ens33
=yes
是否开机自启
自己可以添加的
=none设置为启用静态IP地址
**DNS1=**8.8.8.8,DNS2=(dns自行找最优的)
设置DNS1,DNS2
=
静态IP地址
=
网关
设置完ifcfg-ens33文件后,需要重启网络服务才能生效
基于Centos7.9的网络管理技能

文章插图
service network restart
也可以设置
ifconfig ens33 192.168.146.152 netmask 255.255.255.0
记得重启网络
设置主机名
临时设置
名字重新打开终端可以看见 , 重启失效
永久设置(直接写入)
vim /etc/hostname
设置默认网关
设置好IP地址以后,如果要访问其他的子网或,用户还需要设置路 由,在此不做介绍,这里采用设置默认网关的方法 。在Linux中,设置默认网关有两 种方法:
route add default gw 192.168.1.1
GATEWAY=192.168.1.1
必须重启网络服务来使设置生效,可执行下面 的命令:
service network restart
设置DNS服务器
设置DNS服务器需修改/etc/.conf文件即可
其中192.168.3.1为第一名字服务器 , 192.168.3.2为第二名字服务器,选项指在这2个dns 之间轮询,:1表示解析超时时间1s(默认为5s) , 表示解析域名尝试的次数 。如需添加DNS服务器,可直接修改此文件,需要注意的是使用指定的DNS服务器只有前三条生效 。
Linux防火墙
在最新版的 7中 , 系统安装了两个防火墙和,并且默认使用 。本文使用 。更多内容和详解(本节内容基本选自)
与都不是真正的防火墙,它们都只是用来定义防火墙策略的防火墙管理工具而已;或者说 , 它们只是一种服务 。服务会把配置好的防火墙策略交由内核层面的网络过滤器来处理,而服务则是把配置好的防火墙策略交由内核层面的包过滤框架来处理 。
支持动态更新技术并加入了区域(zone)的概念 。简单来说,区域就是预先准备了几套防火墙策略集合(策略模板)
区域默认规则策略
允许所有的数据包
home
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-、amba-与-服务相关,则允许流量
等同于home区域
work
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-与-服务相关,则允许流量
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、-服务相关,则允许流量
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关 , 则允许流量
dmz
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
block
拒绝流入的流量,除非与流出的流量相关
drop
拒绝流入的流量,除非与流出的流量相关
终端管理工具
-cmd是防火墙配置管理工具的CLI(命令行界面)版本 。它的参数一般都是以“长格式”来提供的 。能用Tab键自动补齐命令
? -cmd命令中使用的参数以及作用
参数作用
–get--zone
查询默认的区域名称
–set--zone=
设置默认的区域,使其永久生效
–get-zones
显示可用的区域
–get-
显示预先定义的服务
–get--zones
显示当前正在使用的区域与网卡名称
–add-=
将源自此IP或子网的流量导向指定的区域
–-=
不再将源自此IP或子网的流量导向某个指定区域
–add-=
将源自该网卡的所有流量都导向某个指定区域
–-=
将某个网卡与区域进行关联
–list-all
显示当前区域的网卡配置参数、资源、端口以及服务等信息
–list-all-zones
显示所有区域的网卡配置参数、资源、端口以及服务等信息
–add-=
设置默认区域允许该服务的流量
–add-port=
设置默认区域允许该端口的流量
–-=
设置默认区域不再允许该服务的流量
–-port=
设置默认区域不再允许该端口的流量

让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
–panic-on
开启应急状况模式
–panic-off
关闭应急状况模式
使用配置的防火墙策略默认为运行时()模式 , 又称为当前生效模式,而且会随着系统的重启而失效 。如果想让配置策略一直存在 , 就需要使用永久()模式了,方法就是在用-cmd命令正常设置防火墙策略时添加–参数(注意:永久生效模式只有在系统重启之后才能自动生效)
如果想让配置的策略立即生效 , 需要手动执行-cmd --命令 。
1.查看服务当前所使用的区域 。
这是一步非常重要的操作 。在配置防火墙策略前,必须查看当前生效的是哪个区域,否则配置的防火墙策略将不会立即生效 。
firewall-cmd --get-default-zone
2.查询指定网卡在服务中绑定的区域 。
在生产环境中 , 服务器大多不止有一块网卡 。一般来说,充当网关的服务器有两块网卡,一块对公网,另外一块对内网,那么这两块网卡在审查流量时所用的策略肯定也是不一致的 。因此,可以根据网卡针对的流量来源,为网卡绑定不同的区域,实现对防火墙策略的灵活管控 。
firewall-cmd --get-zone-of-interface=ens33
基于Centos7.9的网络管理技能

文章插图
3.把网卡默认区域修改为 , 并在系统重启后生效 。
firewall-cmd --permanent --zone=external --change-interface=ens33firewall-cmd --permanent --get-zone-of-interface=ens33
4.把服务的默认区域设置为 。
默认区域也叫全局配置 , 指的是对所有网卡都生效的配置,优先级较低 。在下面的代码中可以看到,当前默认区域为,而ens33网卡的区域为 。此时便是以网卡的区域名称为准 。
通俗来说,默认区域就是一种通用的政策 。例如,食堂为所有人准备了一次性餐具,而环保主义者则会自己携带碗筷 。如果您自带了碗筷,就可以用自己的;反之就用食堂统一提供的 。
firewall-cmd --set-default-zone=publicfirewall-cmd --get-default-zone firewall-cmd --get-zone-of-interface=ens33
5.启动和关闭防火墙服务的应急状况模式 。
如果想在1s的时间内阻断一切网络连接,有什么好办法呢?大家下意识地会说:“拔掉网线!”这是一个物理级别的高招 。但是,如果人在北京 , 服务器在异地呢?panic紧急模式在这个时候就派上用场了 。
firewall-cmd --panic-on
firewall-cmd --panic-off