网络管理及安全

ppgo8 于 2022-12-06 发布

网络管理及安全

常用网络配置命令

​ 当今计算机已经通过网络紧密的连在了一起,通过互联网,计算机之间可以实现各种网络通信,如电子邮件、即时聊天、网页访问等。Linux作为重要的服务器平台,在互联网发展的过程中起了重要作用。本节内容将介绍Linux平台中常用的网络配置命令。

ifconfig命令


​ ifconfig是Linux平台中用于显示或配置网络设备的命令。ifconfig命令在Ubuntu中不再默认安装,需要手动进行安装。

ip命令


​ ip命令能够简单的执行一些网络管理任务 ,比如操作路由、网络设备、多播地址等。ip命令基本语法如下:

ip [选项] object [子命令]
常用选项:
-h : 输出可读信息
-4 : 指定协议为inet,即IPv4
-6 : 指定协议为inet6,即IPv6
-s : 显示详细信息
object是ip命令操作的对象,ip命令功能强大,能够操作系统中的不同设备,因此将不同设备抽象为不同的对象进行操作,简化命令的复杂性。常见的对象如下:
address: IP地址,IPv4或IPv6
12tp:    L2TP隧道协议
link:    网络设备
maddress:多播地址
route:   路由表
rule:    路由策略
tunnel:  隧道
根据不同的对象会有不同的子命令

route命令


​ 要实现两个不同的子网之间的通信,通常需要一台连接两个网络的路由器,或是位于两个网络的网关来实现。路由表是指路由器或者其他互联网网络设备上存储信息的一张表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。

​ route命令常用来显示和操作IP路由表,与ifconfig命令一样都是net-tools软件包中的一个命令

route 常用选项,常用选项如下:
-A:     指定协议族,可以指定inet/inet6
-n:     显示数字形式的IP地址
-e:     使用netstat格式显示路由表,netstat命令将在后续章节讲解
-net:   指定的目标是一个网络
-host:  指定的目标是一个主机
del:    删除路由记录
add:    添加路由记录
gw:     设置默认网关
dev:    路由记录对应的网络接口
netmask:指定目标网络的子网掩码

netstat命令


​ netstat命令主要用户查看各种网络信息。与上述的内容提到的命令比较,netstat命令提供了更多更详细的信息内容,包括网络连接、路由表及网络接口的各种统计数据等。

netstat命令常用选型如下所示:
-a : 显示所有处于活动状态的套接字
-A : 显示指定协议族的网络连接信息
-c : 持续列出网络状态信息,刷新频率为1s
-e : 显示更加详细的信息
-i : 列出所有网络接口
-l : 列出处于监听状态的套接字 
-n : 直接显示IP地址,不转换域名
-p : 显示使用套接字的进程ID和程序的名称
-r : 显示路由表的信息
-s : 显示每个协议的统计信息 
-t : 显示TCP/IP的连接信息
-u : 显示UDP的连接信息

nslookup命令


​ 域名与IP地址之间能够相互转换,nslookup命令就会可以用来查看域名信息的一个命令。


​ ping命令在Windows和Linux平台上都是一个非常频繁使用的命令,该命令最主要的功能是向目标主机发送一个ICMP包,并接收相应。如果接受到响应,则表示当前主机和目标主机在物理上是连通的,如果接受不到响应,则表示网络故障或者网络设置错误。

image-20221128200755807

上述示例中,ping命令会不断输出目标主机的相应信息,直到被打断(Ctrl+C)

防火墙

​ 防火墙是当今计算机上不可缺少的一个系统软件,它由软件和硬件组合而成、在内部网和外部网之间、专用网和公共网之间的界面上构造的保护屏障。所有的网络信息都会经过防火墙的过滤,只有被允许的信息才可以通过防火墙进行传输,否则都会被拦截。

UFW防火墙简介


​ 防火墙在做数据包过滤决定时,有一套遵循和组成的规则,存储在专用的数据包过滤表中,这些表集成在Linux内核中。netfilter/iptables IP数据包过滤系统是一款功能强大的工具,可用于添加、编辑和删除规则。

​ UFW(Uncomplicated FireWall)是Ubuntu系统上配置IPTABLES防火墙的工具。UFW可以创建基于IPv4和IPv6的防火墙规则。

SSH服务

​ 本书之前的内容更多使用的是图形界面中的终端环境进行命令的执行,但在实际应用中,尤其是对服务器进行管理时,通常采用的是远程登录的方式在终端机上登录到服务器,实现服务器的远程控制

SSH服务简介


配置SSH服务


​ 通常Ubuntu操作系统会默认安装SSH服务端。

image-20221129140715455

​ 如上图显示,则未安装

补充:在更新update和安装时,会失败:提示ppa缺少release命令,使用如下方法可解决上述问题。同时更换sources.list文件中的源为国内阿里云源。

image-20221129145227134

image-20221129150139983

​ 安装之后,SSH服务默认开始,可以使用systemctl命令进行查看。

使用PuTTY登录SSH服务


​ 远程登录主机时,对终端机来说没有特别的要求,任意支持SSH的终端机都可以。在Windows平台上,有许多优质的工具提供了SSH登录的功能,例如PuTTY。

​ PuTTY是一个集Telnet、SSH、rlogin、纯TCP以及串行连接连接的软件,较早的版本进支持Windows平台,再后来的版本中开始支持各类UNIX平台,并打算移植到MAC OS X上。在远程登录工具中,PuTTY是出色的工具之一。PuTTY是一个免费的、windows X86平台下的Telent、SSH和rlogin客户端,但其功能丝毫不逊色于商业的Telnet类工具,

​ PuTTY的使用非常简单,下面就简单介绍Windows平台下的PuTTY软件的使用。

FTP

​ 随着计算机网络的普及,越来越多的文件开始在网络上进行传输,文件传输协议由此产生。各种类型的操作系统基本上都设置了文件传输服务,并作为一种标准的网络服务提供。

FTP简介


​ FTP(File Transfer Protocol,文件传输协议)是基于互联网文件的双向传输协议。不同操作系统有不同的FTP应用程序,而这些所有的应用程序都遵守FTP,所以不同的操作系统之间都可以使用FTP进行数据传输。

​ FTP的实现需要客户端服务端两个部分。服务端主要进行文件的托管。在满足一定权限的条件下,客户端可以将服务端托管的文件下载下来,也可以将文件上传的服务器进行保存

安装vsftpd服务


​ vsftpd是一个UNIX类操作系统上运行的服务器,其可以运行在诸如Linux、BSD、Solaris、HP-UX,以及IRIX上面。vsftpd支持很多其他的FTP服务器不支持的特征,例如:

​ vsftpd服务安装完成后即可使用,而且每次系统重启后都会自动启动,但是其默认的配置并非完全合适,因此需要根据需求进行修改。vsftpd的配置文件存放在/etc目录下,绝对路径为/etc/vsftpd.conf,可以使用nano文本编辑器进行更改。

其他网络安全相关服务

​ 所有连接上网络的计算机都无法做到100%的安全,网络安全已经成为现今系统维护维护中最重要的组成部分。本节将简单介绍在Ubuntu操作系统中可以更好地保护计算的几种方法。

AppArmor


image-20221201102956438

​ ping命令的配置文件,只有在安装额外的配置文件之后才会看到,默认并没有该命令的配置文件。

数字证书


​ 随着互联网环境的文化,互联网建立之初采用的明文信息传出方式越来越不安全,取而代之的是各种加密信息。数字证书就是互联网通信中标志各方身份信息的一串数字,其提供了一种在网络上验证通信身体身份的方式。数字证书不是身份证,而是身份证机构改在数字身份证上一个章或者印(说着说着是加在数字身份证上的一个签名)。数字证书是由CA机构发型,人们可以在网上用该证书来识别对方的身份。

​ 数字证书采用公钥体制,即利用一对互相匹配的密匙进行加密、解密。每个用户有一把特定的仅供本人使用的私有秘钥,用其进行解密和签名,同时有一把公钥,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接受方的公钥对数据进行加密,而接收方使用自己的私钥进行解密,这样就可以安全无误的到达目的地了。通过数字的手段保证加密过程是一个不可逆的过程,即只有私有密钥才能进行解密。