linux Firewalld学习笔记

1、Firewalld默认策略

默认情况会阻止流量流入,但允许流量流出。
在这里插入图片描述

2、Firewalld区域概念

拒绝区域drop、默认区域public、允许区域trusted
在这里插入图片描述

3、区域规则

区域与网卡接口
在这里插入图片描述
默认区域规则
常用的有trusted (相当于白名单)、work/public 区、dmz/drop区
在这里插入图片描述

4、语法规则介绍

区域命令语法和接口命令语法
在这里插入图片描述
服务命令语法、 端口命令语法、管理命令语法
在这里插入图片描述

5、Firewalld区域配置(重点*)

systemctl start firewalld

firewall-cmd --get-default-zone
firewall-cmd --list-all
#下图显示的默认区域是public,绑定eth0和eth1网卡。`仅`允许访问ssh、dhcpv6-client

在这里插入图片描述

5.1多区域配合使用
#要求
使用firewalld各个区域规则结合配置
调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许。

1.将默认的public区域中的服务全部删除;
⒉.将来源地址来自于10.0.0.0/24统统都走白名单
#操作
firewall-cmd --remove-service=ssh
firewall-cmd --remove-service=dhcpv6-client
firewall-cmd --list-all

firewall-cmd --add-source=10.0.0.0/4 --zone=trusted
firewall-cmd --get-active-zone

在这里插入图片描述

在这里插入图片描述

6、Firewalld规则配置

#刚才上述的操作是临时的,如果是有重载,则刚才配置全部失效
firewall-cmd --reload
6.1配置端口规则
#单个 与 多个
firewall-cmd --add-port=80/tcp
firewall-cmd --add-port={80/tcp,8080/tcp}

#永久
firewall-cmd --add-port={80/tcp,8080/tcp} --permanet
firewall-cmd --reload

#查看放行端口
firewall-cmd --list-ports

#移除端口规则
firewall-cmd --remove-port={80/tcp,8080/tcp}

在这里插入图片描述

6.2配置服务规则
firewall-cmd -add-service=http
firewall-cmd -add-service={http,https}

在这里插入图片描述
可放行的服务列表

firewall-cmd --get-services

在这里插入图片描述

6.2.1 自定义放行的服务 (可略)
rpm -ql firewalld
cd /usr/lib/firewalld/services/
cp ssh.xml zabbix-agent.xml ;  vim zabbix-agent.xml
firewall-cmd --reload
firewall-cmd -add-service=zabbix-agent

在这里插入图片描述

8、Firewalld实现路由器功能

8.1 Firewalld-实现DNAT
#都开启ipv4转发 ,#添加下面一行
vim /etc/sysctl.conf
net.ipv4.ip_forward=1

#使内核修改生效
sysctl -p

#环境说明
#eth0可连接外部网络,eth1对应的网段是内网网段
Firewalld
	eth0:  10.0.0.200     5555端口
	eth1:  172.16.1.200    

web:
	eth1:  172.16.1.9     22端口

在这里插入图片描述

#实现外部网络访问内部资源
firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.9

#iptables写法
#iptables -t nat -I PREROUTING -d 10.0.0.200 -p tcp --dport 5555 -j DNAT --to-destination 172.16.1.9:22

在这里插入图片描述
测试操作
在这里插入图片描述

8.12Firewalld-实现SNAT

在指定的带有公网IP的服务器上启动Firewalld实现内部集群共享上网;
在这里插入图片描述

#firewalld机器操作。 确保firewalld端可以上网,配置开启masquerade 即可,暂不用写snat规则。
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

#客户端将网关指向firewalld服务器,配置DNS
#web03操作
cat /etc/sysconfig/network-scripts/ifcfg-eth1
GATEWAY=172.16.1.61
DNS1=223.5.5.5

nmcli connection reload
nmcli connection down eth1 && nmcli connection up eth1

firewalld端
在这里插入图片描述

web端
在这里插入图片描述

END

9、 Firewalld复规则Rule

firewalld中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号

源地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的。

语法:
在这里插入图片描述
rule执行顺序
在这里插入图片描述

9.1 示例1

在这里插入图片描述
在这里插入图片描述

#1.比如允许10.0.0.10主机能够访问http服务,允许172.16.1.0/24能访问22端口
firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.10/32 service name=http accept'
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh accept'
9.2 示例2

在这里插入图片描述

#⒉默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name="ssh" drop'
9.3 示例3

在这里插入图片描述

#2.使用firewalld,允许所有人能访问http, https服务,但只有10.0.0.1主机可以访问ssh服务
firewall-cmd --reload
firewall-cmd --remove-service=ssh
firewall-cmd --add-service={http,https}
firewall-cmd --add-rich-rule "rule family=ipv4 source address=10.0.0.1/32 port="22" protocol="tcp" accept "
9.4 示例4

在这里插入图片描述

#4.当用户来源卫地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.9的22端口
firewall-cmd --add-masquerade
firewall-cmd --add-rich-rule'rule family=ipv4 source address=10.0.0.1/32 forward-port port="5555"  protocol="tcp" to-port="22" to-addr="172.16.1.9"'

by oldxu
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值