firewalld & iptables

本文介绍了Firewalld防火墙的不同区域及其配置方法,包括常见命令和实验示例。同时,还深入探讨了Iptables的工作原理、规则组成及常用命令,提供部署指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

firewalld==============================================================

zone:
丢弃 drop
任何流入网络的包都被丢弃,不作出任何响应。只允许流出的网络连接。
阻塞 block
任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。
公开 public
用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
外部 external
用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
隔离区dmz
用以允许隔离区(dmz)中的电脑有限地被外界网络访问。只接受被选中的连接。
工作 work
用在工作网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
家庭 home
用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
内部 internal
用在内部网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
受信任的 trusted
允许所有网络连接。 

===================================================================
火墙的安装与启用

yum install firewalld firewall-config-y
systemctl start firewalld
systemctl enable firewalld

firewalld常见命令=========================================================

firewall-config &           #打开图形界面
firewall-cmd --list-all         #可监控

firewall-cmd --state            #查看火墙状态
firewall-cmd --get-active-zones     #查看当前活动的区域,附带接口列表
firewall-cmd --get-default-zone     #查看默认区域
firewall-cmd --get-zones        #所有可开启的区域
firewall-cmd --zone=public --list-all   #列出区域下的详细信息
firewall-cmd --get-services     #区域下的所有服务
firewall-cmd --list-all-zones       #全部区域的详细信息
firewall-cmd --set-default-zone=... #修改状态

===================================================================
实验:

firewall-cmd --add-source=172.25.254.102 --zone=trusted         #102过来的数据包trisetd全部信任
firewall-cmd --permanent --remove-interface=eth1 --zone=success     #eth1 从succes上移除
firewall-cmd --permanent --add-interface=eth1 --zone=...            #把eth1安装上...

这里写图片描述


添加火墙策略查看策略是否添加成功
这里写图片描述
这里写图片描述


把eth1网卡从public(公开)网络上移除放到block(阻塞网络任何网络连接都拒绝,因此只要是想访问eth1的网络的话都会被拒绝)
这里写图片描述
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

firewall-cmd --zone=public --add-service=http               #在public上添加http服务(临时添加)
firewall-cmd --permanent --zone=public --add-service=http       #永久添加
firewall-cmd --permanent --zone=public --remove-service=http        #删除public上http服务(永久)

这里写图片描述

这里写图片描述

这里写图片描述

想要永久添加的话只用加–permanent就可以了

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

firewall-cmd --permanent --add-source=172.25.254.1 --zone=block     
firewall-cmd --reload                           #不中断连接
firewall-cmd --complete-reload                      #中断所有连接从新加载火墙策略

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

firewall-cmd --direct --get-all-rules           #查看策略
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.102 -p tcp --dport 22 -j REJECT
                            |      |   |                   |          |          |
                      表里添加   第一个端口       协议     端口号       拒绝

这里写图片描述
这里写图片描述
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.27        #谁连我主机我把他转到27
firewall-cmd --add -masquerade                                  #开启伪装

这里写图片描述

iptables==============================================================

一、iptables:将规则组成一个列表,实现绝对详细的访问控制功能。其实就是一个定义规则的工具,让在内核空间当中的netfilter(网络过滤器)读取这些规则。从而实现防火墙功能。
监控路径:
1).内核空间中:从一个网络接口进来,到另一个网络接口去的
2).数据包从内核流入用户空间的
3).数据包从用户空间流出的
4).进入/离开本机的外网接口
5).进入/离开本机的内网接口
二、netfilter是Linux操作系统核心层内部的一个数据模块。
三、Hook point (5条链)
数据包在Netfilter中的挂载点。数据包在网络层会经过挂载点,就有机会对数据包做操作处理。
四、规则组成
四张表+五张链+规则
这里写图片描述
1.Iptables中的4表5链:
4张表:filter表(过滤)、nat表(修改源、目标或端口)、mangle表(标记)、raw表(状态跟踪)
5条链:PRE_ROUTING(路由前)、INPUT(数据包流入口)、FORWARD(转发关卡)、OUTPUT(数据包流出口)、POST_ROUTING(路由后)
2.规则:
数据包访问控制:ACCEPT、DROP、REJECT、LOG
数据包改写:SNAT、DNAT
五、iptables命令(规则)
1.iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
这里写图片描述
-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空规则链
-L 查看规则链(列出已有规则)(-n 显示IP数字 默认会反向解析成域名)
-A 在规则链末尾加新规则
-I INPUT/… num 在规则链头部加入新规则
-D INPUT/… num 删除某一规则
-s 匹配来源地址IP/MASK(!取反)
-d 匹配目标地址
-i 网卡名 匹配从这块网卡流入的数据
-o 网卡名 匹配从这块网卡流出的数据
-p 匹配协议(tcp,udp,icmp)
–dport num 匹配目标端口
–sport num 匹配来源端口
注:
1.没指定规则表默认为filter表
2.不指定规则链则指表内所有规则链
3.匹配会按照顺序(由上往下)匹配规则,保证允许规则在拒绝规则之上
4.iptables执行规则策略仅当前生效,永久生效执行service iptables save(/etc/sysconfig/iptables)
5.设置默认的策略(iptables -L 命令显示 policy里面的默认策略的”ACCEPT” 一般不要用-P命令行来改 远程登录改后会直接掉线)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
部署iptables

yum install iptables-services.x86_64 -y
systemctl stop firewalld.service 
systemctl disable firewalld.service 
systemctl start iptables.service 
systemctl enable iptables.service 
/etc/sysconfig/iptables             #策略文件

===================================================================

iptables -t filter  -nL             #查看火墙策略
iptables -F                     #临时刷掉所有策略
service iptables save               #保存策略
iptavles -A INPUT -i lo -j ACCEPT
iptables -D INPUT 4             #删除第四条
iptables -N westos              #新建策略表格
iptables -E westos linux            #改变策略表格名字
iptables -X linux               #删除表格
-P                      #策略
-p                      #协议
-I                      #插入
-j                      #动作接受还是拒绝
-R                      #修改
-s                      #数据来源
--dport                             
--sport
-o                      #出
-i                      #进
-m                      #状态
-A                      #添加

===================================================================

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j REJECT
iptables -nL

这里写图片描述

===================================================================

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.101
iptables -t nat -nL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值