【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服务器的网络配置是至关重要的,管理远程主机也是管理员必须掌握的。


目录
相关文章
|
19天前
|
安全 网络安全 数据安全/隐私保护
|
8天前
|
网络协议 Linux
图形界面配置网络
本文介绍了在Linux上配置网络服务的步骤。首先打开RHEL-01服务器,找到桌面网络配置选项,进入网络配置面板。点击面板右下角的小齿轮,进入有线配置面板,选择IPv4选项,将地址设置为手动。接下来配置IP地址、子网掩码、网关和DNS服务器。配置完成后,使用新的IP地址进行访问。
21 4
图形界面配置网络
|
4天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
26 3
|
4天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
15 2
|
7天前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
19 2
|
8天前
|
网络协议 Linux
通用网卡配置文件配置网络
本文介绍了在RHEL 7系统中配置网络的方法。首先,通过编辑位于`/etc/sysconfig/network-scripts`目录下的网卡配置文件(例如`ifcfg-ens33`),设置静态IP地址、子网掩码、网关和DNS等参数。接着,使用`systemctl`命令重启网络服务,确保配置生效。此外,还介绍了使用`nmtui`图形界面工具进行网络配置的步骤,包括修改IP地址、保存配置和重启网络。最后,通过`ip addr`或`ifconfig`命令验证配置是否成功。
31 2
|
14天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
34 1
|
21天前
|
安全 Linux 网络安全
centos7中firewall防火墙的常用命令总结
以上命令集覆盖了 `firewalld`的基本操作,是维护CentOS 7系统安全不可或缺的工具。对于更高级的配置需求或遇到特定问题
18 3
|
3天前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
10 0
|
25天前
|
存储 缓存 Ubuntu
配置网络接口的“IP”命令10个
【10月更文挑战第18天】配置网络接口的“IP”命令10个
48 0

热门文章

最新文章