【Linux】配置网络和firewall防火墙(超详细介绍+实战)

简介: 【Linux】配置网络和firewall防火墙(超详细介绍+实战)

一.防火墙的介绍



通常所说的网络防火墙指的是隔离在本地网络与外界网络之间的一道防御系统。防火墙可以使内部网络与互联网之间或其他外部网络间互相隔离,限制网络互访,以此来保护内部网络。


防火墙的分类方法多种多样,一般来说大致可分为三类,分别是“包过滤”、“应用代理”、“状态检查”。无论防火墙的功能多么强大,性能多么完善,归根结底都是在这三种技术的基础之上扩展功能的。


二.配置网络


1.使用系统菜单配置网络


在一些主流的Linux系统下,图形界面已经非常完善了,我们一般也首选使用系统菜单配置网络,在这里我们使用的系统是ubuntu18.04版本,我们可以在Linux桌面上依次点击“活动”→“显示应用程序”→“设置”→网络 命令,打开网络配置界面,打开连接,单机齿轮按钮,一步一步完成网络信息查询和网络配置,如下图所示:


1.打开连接,单击齿轮按钮进行配置,如下图所示

2.设置完成后,单击“应用”按钮应用配置,回到刚刚的配置界面。注意网络连接应该设置在“打开状态”,如果在“关闭”状态,则修改

3.再次单击齿轮按钮,显示下图所示网络配置界面,一定勾选“自动连接”选项,否则虚拟机启动后不能自动连接网络,切记,最后一定要单击右上角“应用按钮”,有时可能需要重启系统配置才能生效。

4.然后我们在master终端上测试网络是否能ping通外网,测试成功

ping baidu.com


2.使用图形界面配置网络


前面我们介绍了使用系统菜单配置网络服务,接下来我们使用nmtui命令配置网络,如下图所示:
1.首先在终端输入nmtui命令

nmtui

2.选中编辑连接,键入回车


3.选中要编辑的网卡名称,键入回车


4.把网络IPv4的配置方式改成Manual(手动)

5.单击显示按钮,在配置信息中填写IP地址等信息,单击确定保存配置

6.单击“返回”按钮,回到nmtui图形界面初始状态,选中“启用连接”选项,激活刚刚设置的网卡,网卡前面有“ * ”表示已激活,如下图所示:

至此nmtui图形界面配置网络已经完成,我们可以返回终端,使用ifconfig或者ip a命令查看配置情况,并使用ping命令测试是否连通外网


3.修改网络配置文件配置网络


1.首先打开我们的VMware虚拟机,左上角编辑-虚拟机网络系统,我们选择NAT模式,并打开如图所示的NAT设置


2.进入NAT设置,我们将里面的子网IP和网关IP记下来


3.进入到我们的ubuntu虚拟机中,对/etc/netplan/下的一个后缀为yaml的文件进行编辑,这里每个人的文件名可能不一样

sudo vim /etc/netplan/01-network-manager-all.yaml


4.我们键入:wq保存配置内容,然后输入命令sudo netplan apply生效配置

sudo netplan apply


5.我们通过ip a命令查看ip地址是否配置成功

ip a



6.配置成功后,我们通过ping baidu.com测试一下能够ping通


如图所示可以ping通。到此使用修改网络文件配置网络就成功了


三.firewalld服务


1.firewalld介绍


1.Linux操作系统的动态防火墙管理器拥有基于命令行界面(Command Line Interface,CIL)和基于图形用户界面(Graphical User Interface,GUI)的两种管理模式。


2.相较于传统的防火墙管理配置工具,firewalld支持动态更新技术,并加入了区域的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不用选择合适的策略集合,从而实现防火墙策略的快速切换。


3.对于防火墙策略的快速切换,我们可以用以下例子来理解。例如我们有一台笔记本电脑,每天要在办公室、咖啡厅和家里使用。按常理来讲,这三者的安全性按照由高到低的顺序排序,应该是家里、办公室、咖啡厅。当前,我们希望为这台笔记本电脑指定如下策略:在家允许访问所有服务;在办公室内仅允许访问文件共享服务;在咖啡厅仅允许上网浏览。以往我们需要频繁地手动设置防火墙策略,而现在只需要预设好区域集合,然后轻点鼠标就可以自动切换了,从而极大地提升了防火墙策略的应用型效率。


firewalld中常见的区域名称(默认为public)及默认策略如下表:


区域名称 默认策略
trusted 允许所有的数据表
home 拒绝流入的流量,除非与流出的流量相关;如果流量与SSH、mdns、ipp-client、amba-client和dhcpv6-client服务相关,则允许流量流入
intermal 等同于home区域
work 拒绝流入的流量,除非与流出的流量数相关;如果流量与SSH、ipp-client和dhcpv6-client服务相关,则允许流量流入
public 拒绝流入的流量,除非与流出的流量相关;如果流量与SSH、dhcpv6-client服务相关,则允许流量流入
external 拒绝流入的流量,除非与流出的流量相关;如果流量与SSH服务相关,则允许流量流入
dmz 拒绝流入的流量,除非与流出的流量相关;如果流量与SSH服务相关,则允许流量流入
block 拒绝流入的流量,除非与流出的流量相关
drop 拒绝流入的流量,除非与流出的流量相关


2.使用终端管理工具


命令行终端是一种极具效率的工作方式,firewall-cmd命令是firewalld防火墙配置管理工具的CLI版本。它的参数一般都是以“长格式”来提供的,长格式参数及其含义如下表:


参数 作用
–get-defalut-zone 查询默认的区域名称
–set-defalut-zone=<区域名称> 设置默认的区域,使其永久生效
–get-zone 显示可用的区域
–get-services 显示预先定义的服务
–get-active-zones 显示当前正在使用的区域和网卡名称
–add-source= 将源自此IP地址或子网的流量导向指定的区域
–remove-source= 不再将源自此IP或子网的流量导向某个指定的区域
–add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
–change-interface=<网卡名称> 将某个网卡与区域关联
–list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
–list-all-zones 显示当前区域的网卡配置参数、资源、端口以及服务等信息
–add-service=<服务名> 设置默认区域允许该服务的流量
–add-port=端口号/协议> 设置默认区域允许该端口的流量
–remove-service=<服务名> 设置默认区域不再允许该服务的流量
–remove-port=端口号/协议> 设置默认区域不再允许该端口的流量
–reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
–panic-on 开启应急状况模式
–panic-off 关闭应急状况模式


与Linux操作系统中其他防火墙一样,使用firewalld配置的防火墙默认为运行模式,又称为当前生效模式,重启后就会失效。如果想让配置策略一直存在,就需要使用永久(Permanent)模式,方法是在firewall-cmd命令正常设置防火墙策略时添加–permanent参数,这样配置的防火墙就永久生效,但是在设置完永久生效后一定要手动执行一下firewall-cmd --reload命令才会立即生效。


以下是使用终端管理工具的实例:


1.查看firewalld服务当前状态和使用的区域


firewall-cmd --state #查看防火墙状态
systemctl restart firewalld #重启防火墙服务
firewall-cmd --get-defalult-zone #查看默认区域


2.查询防火墙在firewalld服务中的区域


查询防火墙生效ens33网卡在firewalld服务中的区域

firewall-cmd --get-active-zones #查看当前防火墙中生效的区域
firewall-cmd --set-default-zone=trusted #设定默认区域


3.修改默认区域


把firewalld服务中ens33网卡的默认区域修改为external,并在系统重启后生效。分别查看当前生效模式与永久模式下的区域名称。


firewall-cmd --list-all --zone=work #查看指定区域的防火墙策略
firewall-cmd --permanent --zone=external --change-interface=ens33
firewall-cmd --get-zone-of-interface=ens33
firewall-cmd --permanent --get-zone-of-interface=ens33


4.设置firewalld服务的当前默认区域


把firewalld服务的当前默认区域设置为public

firewall-cmd --set-default-zone=public
firewall-cmd --get-default-zone


5.启动/关闭firewalld服务的应急状况模式


启动/关闭firewalld服务的应急状况模式,阻断一切网络连接(当远程控制服务器的时候慎用!)

firewall-cmd --panic-on #启动应急模式
firewall-cmd --panic-off #关闭应急模式


6.查询public区域是否允许请求SSH和HTTPS的服务


firewall-cmd --zone=public --query-service=ssh
firewall-cmd --zone=public --query-service=https


7.设置firewalld服务中请求HTTPS的流量为永久允许


firewalld服务中请求HTTPS的流量并设置为永久允许,并立即生效

firewall-cmd --get-services #查看所有可以设定的服务
firewall-cmd --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd -reload
firewall-cmd --list-all #查看生效的防火墙策略


8.设置firewalld服务中请求HTTPS的流量为永久拒绝


把firewalld服务中请求HTTPS的流量设置为永久拒绝,并立即生效。


firewall-cmd --permanent --zone=public --remove-service=https
firewall-cmd --reload
firewall-cmd --list-all #查看生效的防火墙策略


9.设置允许在firewalld服务中访问的端口号


把在firewalld服务中访问8088和8089端口的流量策略设置为允许,但仅限当前生效。

firewall-cmd --zone=public --add-port=8088-8089/tcp
firewll-cmd --zone=public --list-ports


3.使用图形管理工具


firewall-config命令是firewalld防火墙配置管理工具的GUI版本,几乎可以实现所有以命令来执行的操作。


1.安装firewall-config


firewall-config默认没有安装,我们执行以下命令来安装firewall-config

mount /dev/cdrom /media
apt-get install firewall-config


2.启动firewall-config


安装完成后,虚拟机的“活动”菜单中会出现防火墙图标,在终端输入firewall-config或者单击“活动”→“防火墙”命令,启动图形界面的firewall

firewall-config

其具体的功能如下:

选择运行时模式或永久模式的配置

可选策略集合区域列表

常用的系统服务列表

当前正在使用的区域

管理当前被选中区域中的服务

管理当前被选中区域的端口

开启或关闭源地址转换技术(SNAT)

设置端口转发策略

控制请求互联网控制报文协议

管理防火墙的富规则

管理网卡设备

被选中区域的服务,若勾选了相应服务前面的复选框,则表示允许与之相关的流量

firewall-config工具的运行状态


3.设置允许当前区域中请求http服务的流量


将当前区域中请求http服务的流量设置为允许,但仅限当前生效,配置如下图所示


4.添加一条防火墙策略,使其放行访问指定端口的流量


添加一条防火墙策略,使其放行访问8088~8089端口(TCP)的流量,并将其设置为永久生效,以达到重启后防火墙策略依然生效的目的


选择“端口”→“添加”命令,打开如下图所示界面

配置完毕单击“确定”按钮

在“选项”菜单中单击“重载防火墙”命令,让配置的防火墙策略立即生效,这与命令行中执行–reload参数的效果一样



四.总结


作为Linux操作系统的管理员,学习Liunx服务器的网络配置是至关重要的,管理远程主机也是管理员必须掌握的。


目录
相关文章
|
6月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
2225 88
|
7月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
6月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
518 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
5月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
608 11
|
5月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
438 10
|
5月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
8月前
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
511 0
|
6月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
719 1
二、Linux文本处理与文件操作核心命令

热门文章

最新文章