admin管理员组

文章数量:1642476

    • 一、火墙介绍
    • 二、火墙管理工具切换
    • 三、 firewalld
      • firewalld中的NAT
    • 四、iptables的使用
    • 五、防火墙默认策略
      • nat表中的dnat snat

一、火墙介绍

netfileter
iptables
iptables|firewalld

二、火墙管理工具切换

在rhel8中默认使用的是firewalld
firewalld -----> iptables
dnf install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now firewalld

iptables -----> firewalld
dnf install firewalld -y
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld

三、 firewalld

1.firewalld的开启
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask firewalld
systemctl enable --now firewalld

2.关于firewalld的域
trusted 接受所有的网络连接
home 用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp
work 工作网络 ssh ipp-client dhcp-client
public 公用网络 ssh dhcp-client
dmz 军级网络 ssh
block 拒绝所有
drop 丢弃 所有数据全部丢弃,无任何回复
internal内部网络 ssh mdns ipp-client samba-client dhcp-clientexternalipv4网络地址伪装转发sshd 3.关于firewalld的设定原理及数据存储/etc/firewalld防火墙配置目录/lib/firewalld防火墙模块目录 4.firewalld的管理命令firewall-cmd --state` 查看防火墙状态

[root@node126 ~]# systemctl stop firewalld.service 
[root@node126 ~]# firewall-cmd --state 

[root@node126 ~]# systemctl start firewalld.service 
[root@node126 ~]# 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-zon=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 --direct --get-all-rules

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 192.168.26.26 -j REJECT 拒绝192.168.26.26的80端口

192.168.26.26
firefox 80
ssh 22

172.25.254.126

firewall-cmd --permanent --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 192.168.26.26 -j REJECT 移除拒绝

iptables 命令

[root@node126 ~]# systemctl disable --now firewalld.service 
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@node126 ~]# systemctl mask firewalld.service 
Created symlink /etc/systemd/system/firewalld.service → /dev/null.
[root@node126 ~]# dnf install iptables-services

[root@node126 ~]# systemctl unmask iptables
[root@node126 ~]# systemctl enable --now  iptables.service 
Created symlink /etc/systemd/system/basic.target.wants/iptables.service → /usr/lib/systemd/system/iptables.service.
[root@node126 ~]# 
[root@node126 ~]# systemctl status  iptables

firewalld中的NAT

SNAT 真机操作后,虚拟机设置网关后可上网。
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
DNAT测试不能用本机,本机走回环接口
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.30

firewall-cmd --reload

四、iptables的使用

防火墙策略的永久保存
/etc/sysconfig/iptables ##iptables 策略记录文件
永久保存策略
iptables-save > /etc/sysconfig/iptables
service iptables save

五、防火墙默认策略

默认策略中的5条链
input 输入
output 输出
forward 转发
postrouting 路由之后
prerouting 路由之前

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

iptables -L 查看

iptables -n 不做解析

[root@node126 ~]# cat  /etc/sysconfig/iptables   ##防火墙文件

[root@node126 ~]# service iptables save 	##保存当前iptables表

[root@node126 ~]# iptables-save > /etc/sysconfig/iptables

iptables -F 清除当前防火墙表

[root@node126 ~]# systemctl restart iptables.service

iptables -t指定表名称

iptables -n 不做解析
iptables -L 查看
iptables -A 添加策略
iptables -p 协议
iptables --dport 目的地端口
iptables -s 来源
iptables -j 动作
iptables -j ACCEPT 允许
iptables -j DROP 丢弃
iptables -j REJECT 拒绝
iptables -j SNAT 源地址转换
iptables -j DNAT 目的地地址转换
iptables -N 新建链
iptables -E 更改名称
iptables -X 删除链
iptables -D 删除规则
iptables -I 插入规则
iptables -R 更改规则
iptables -P 更改默认规则

iptables -t指定表名称

[root@node126 ~]# iptables -t filter -nL


iptables -A 添加策略 按顺序添加
iptables -p 协议
iptables --dport 目的地端口
iptables -j 动作
iptables -j ACCEPT 允许
iptables -j DROP 丢弃
iptables -j REJECT 拒绝

[root@node126 ~]# iptables -F
[root@node126 ~]# iptables -A INPUT  -p tcp --dport 22 -j ACCEPT
[root@node126 ~]# iptables -nL

[root@node126 ~]# iptables -A INPUT -p tcp --dport 22 -j REJECT 
[root@node126 ~]# iptables -nL

iptables -s 来源

[root@node126 ~]# iptables -A INPUT -s 192.168.1.26 -p tcp --dport 22 -j REJECT

iptables -I 插入规则

[root@node126 ~]# iptables -I INPUT -s 192.168.1.26 -p tcp --dport 22 -j REJECT

iptables -j SNAT 源地址转换
iptables -j DNAT 目的地地址转换
iptables -N 新建链

iptables -E 更改名称

iptables -X 删除链

iptables -D 删除规则

iptables -R 更改规则

iptables -P 更改默认规则

数据包状态
RELATED         ##建立过连接的
ESTABLISHED     ##正在连接的
NEW             ##新的

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW ! -s 192.168.0.10 -p tcp --dport 22 -j ACCEPT
ptables -A INPUT -m state --state NEW -j REJECT
service iptables  save

nat表中的dnat snat

snat
iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.0.20

dnat
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.30

本文标签: 防火墙策略Linux