从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化

1 、实验环境设定

第一台主机需要两个网卡

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第1张图片
另一台主机一个网卡桥接到VMnet0上

第一台主机保证能够和windows保持连接
设定第一块儿网卡能够与Windows连接

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第2张图片

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第3张图片
设定第二台主机能够与第一台主机连接
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第4张图片
在这里插入图片描述

二、火墙中的基本名词及知识

火墙就相当于是一个表格,这个表格里写着很多的信息,别的用户、服务在访问主机时,先访问的是火墙,先看他能不能通过火墙

netfilter 火墙所用的插件
iptables 往火墙表格里写东西、信息的工具
iptables / firewalld 用于操控iptables的软件

默认策略中的5条链

input 输入
output 输出
forward 转发
postrouting 路由之后
prerouting 路由之前

默认的3张表

filter 经过本机内核的数据(input output forward)
nat 不经过内核的数据(postrouting,prerouting,input,output)
mangle 当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

三、火墙管理工具的切换

在rhel8中默认使用的是firewalld

查看火墙规格
firewall-cmd --list-all
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第5张图片

从firewalld切换到iptables

先安装iptables服务
dnf install iptables-services -y
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第6张图片
关闭firewalld
systemctl disable --now firewalld
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第7张图片
锁定firewalld
systemctl mask firewalld
在这里插入图片描述

开启iptabless服务
systemctl enable --now iptables.service
查看iptables服务
systemctl status iptables.service
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第8张图片
切换成功

iptales -------> fiewalld

systemctl disable --now iptables.service
systemctl mask iptables.service
systemctl enable --now firewalld

四、iptables命令的常用参数

首先关闭firewalld 开启iptables服务

systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl unmask iptables
systemctl enable --now iptables
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第9张图片
iptables命令

-t 指定表名称
-n 不做解析
-L 查看
-A 添加策略
-p 协议
- -dport 目的地端口
-s 来源
-j 动作
-N 新建链
-E 更改链名称
-X 删除链
-D 删除规则
-I 插入规则
-R 更改规则
-P 更改默认规则
-F 清理

参数语言含义

ACCEPT 允许
DROP 丢弃
REJECT 拒绝
SNAT 源地址转换
DNAT 目的地地址转换

五、数据包状态跟踪

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第10张图片
状态跟踪必须要做优化,否则数据在通过火墙的时候会受到很大影响,从而降低数据通过效率,后面再做优化也是白费

六、iptables的nat

nat即网络地址转换(network address translation),主要用于在内部网络地址和外部网络地址间互相转换,从而让使用内部网络地址的设备或软件能够访问外部网络,或者让外部网络可以访问到没有外部网络地址的内部设备。nat一般运行在网关/路由设备上,内部设备访问外网或外部网络访问内部设备的报文都需要经过网关转发,网关在内外网转发报文的过程中执行nat转换。

iptables服务开启

在这里插入图片描述

设定的时候先将火墙刷掉
iptables -F

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第11张图片
将双网卡的主机变为路由器

把所有从这台主机出去的信息IP地址伪装为41的
iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.0.41

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第12张图片

让1网段的可以ping通192网段
从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第13张图片
目的地地址转换
iptables -t nat -A POSTROUTING -i ens160 -j DNAT --to-dest 1.1.1.2

七、firewalld

(一)firewalld的开启

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第14张图片
修改下核心模块
vim /etc/firewalld/firewalld.conf

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第15张图片
重启服务
systemctl restart firewalld

(二)关于firewalld的域

trusted 接受所有的网络连接
home 用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client
work 工作网络 ssh ipp-client dhcp-client
public 公共网络 ssh dhcp-client
dmz 军级网络 ssh
block 拒绝所有
drop 丢弃 所有数据全部丢弃无任何回复
internal 内部网络 ssh mdns ipp-client samba-client dhcp-client
external ipv4网络地址伪装转发 sshd

(三)关于firewalld的设定原理及数据存储

/etc/firewalld 火墙配置目录
/lib/firewalld 火墙模块目录

(四)firewalld的管理命令

firewall-cmd --state ##查看火墙状态

firewall-cmd --get-active-zones ##查看当前火墙中生效的域

firewall-cmd --get-default-zone ##查看默认域

firewall-cmd --list-all ##查看默认域中的火墙策略

firewall-cmd --list-all --zone=work ##查看指定域的火墙策略

firewall-cmd --set-default-zone=trusted ##设定默认域

firewall-cmd --get-services ##查看所有可以设定的服务

firewall-cmd --permanent --remove-service=cockpit ##移除服务

firewall-cmd --reload
firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block ##指定数据来源访问指定域

firewall-cmd --reload firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block ##删除自定域中的数据来源

firewall-cmd --permanent --remove- interface=ens224 --zone=public ##删除指定域的网络接口

firewall-cmd --permanent --add-interface=ens224 --zone=block ##添加指定域的网络接口

firewall-cmd --permanent --change-interface=ens224 --zone=public ##更改网络接口到指定域

从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化_第16张图片

(五) firewalld的高级规则

firewall-cmd --direct --get-all-rules ##查看高级规则

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s IP -p tcp --dport 22 -j
REJECT

你可能感兴趣的:(学习,linux,运维)