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

本文涉及的产品
云防火墙,500元 1000GB
简介: 【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服务器的网络配置是至关重要的,管理远程主机也是管理员必须掌握的。


目录
相关文章
|
26天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
63 2
|
3天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
22 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
13天前
|
存储 安全 算法
揭秘网络安全的盾牌与矛:漏洞防护与加密技术的较量
在数字化时代的棋局中,网络安全是每个参与者必须面对的挑战。本文将深入探讨网络安全中的两个关键角色——漏洞与加密技术。通过分析最新的安全漏洞案例,我们揭示网络攻击者如何利用这些漏洞进行破坏。同时,我们将展示加密技术如何成为保护数据不被窃取的强大盾牌。文章还将讨论提升个人和企业的安全意识的重要性,并通过实际的代码示例,展示如何在实践中应用这些知识来加强我们的网络防线。
|
13天前
|
SQL 安全 算法
网络安全的盾牌:漏洞防护与加密技术的融合之道
在数字化浪潮中,网络安全成为维护信息完整性、保障个人隐私的关键。本文深入探讨网络漏洞的产生机理和防御策略,揭示加密技术的核心原理及其在信息安全中的重要角色。通过分析安全意识的培养方法,文章旨在提升大众对网络安全的认知水平,促进一个更加安全的网络环境。
|
16天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
20天前
|
SQL 运维 安全
网络安全的护城河:漏洞防护、加密技术与安全意识
在数字时代的浪潮中,网络安全成为了我们每个人都无法回避的话题。本文将深入浅出地探讨网络安全中的几个关键要素——漏洞防护、加密技术和安全意识,并通过实际案例和代码示例,揭示它们如何共同构建起保护信息安全的坚固防线。无论你是IT专业人士还是对网络安全感兴趣的普通用户,这篇文章都将提供给你宝贵的知识和见解。
57 5
|
21天前
|
SQL 人工智能 安全
网络安全的盾牌:漏洞防护与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为了维护社会稳定和保护个人隐私的关键。本文将深入探讨网络安全中的常见漏洞、先进的加密技术以及提升安全意识的重要性。通过分析网络攻击的手法,揭示防御策略的构建过程,并分享实用的代码示例,旨在为读者提供一套全面的网络安全知识体系,以增强个人和组织在网络空间的防御能力。
|
24天前
|
存储 安全 网络安全
揭秘网络安全的盾牌:漏洞防护与加密技术
【10月更文挑战第41天】在数字时代的浪潮中,网络安全成为了保护个人隐私和企业资产的关键防线。本文将深入探讨网络安全的两大支柱:安全漏洞的防护和加密技术的应用。我们将通过实际代码示例,展示如何识别和修补常见的安全漏洞,以及如何使用加密技术来保护数据的安全。无论你是网络安全的初学者还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在这个充满挑战的领域中站稳脚跟。
|
26天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
69 3
|
26天前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
40 0