firewalld火牆策略

目錄

 

第一部分: 基本信息

一. 火牆介紹

二. 火牆管理工具切換

1. firewalld----->iptables

2. iptales -------> fiewalld 

第二部分:iptables

一. iptables 的使用

二. 火牆默認策略

第三部分:firewalld 

 一. firewalld的開啓

二. 關於firewalld的域

三. 關於firewalld的設定原理及數據存儲

四. firewalld的管理命令

五. firewalld的高級規則

六. firewalld中的NAT 


第一部分: 基本信息

一. 火牆介紹


1.netfilter
2.iptables
3.iptables|firewalld

二. 火牆管理工具切換


在rhel8中默認使用的是firewalld
 

1. firewalld----->iptables


安裝 iptables
dnf install iptables-services -y

停止firewalld

systemctl stop firewalld
systemctl disable firewalld 
systemctl mask firewalld 

啓動iptables

systemctl enable --now iptables
 

2. iptales -------> fiewalld 


systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld

第二部分:iptables


一. iptables 的使用


/etc/sysconfig/iptables                 ##iptables 策略記錄文件
 
永久保存策略
iptables-save > /etc/sysconfig/iptables


service iptables save
 
 

二. 火牆默認策略


默認策略中的5條鏈
input                  ##輸入
output                ##輸出
forward              ##轉發
postrouting        ##路由之後
prerouting         ##路由之前
默認的3張表

filter                  ##經過本機內核的數據(input output forward)
nat                    ##不經過內核的數據(postrouting,prerouting,input,output)
mangle             ##當filter和nat表不夠用時使用(input output forward postrouting,prerouting)
 
iptables命令
iptables
                 -t                         ##指定表名稱
                 -n                        ##不做解析
                 -L                        ##查看
                 -A                        ##添加策略
                 -p                        ##協議
                 --dport                 ##目的地端口
                 -s                        ##來源
                 -j                         ##動作

ACCEPT##允許

DROP##丟棄

REJECT##拒絕

SNAT##源地址轉換

DNAT##目的地地址轉換

-N    ##新建鏈
-E    ##更改鏈名稱
-X    ##刪除鏈
-D    ##刪除規則
-I      ##插入規則
-R     ##更改規則
-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.1.18 -p tcp --dport 22 -j ACCEPT 
iptables -A INPUT -m state --state NEW -j REJECT
service iptables  save

[root@localhost ~]# iptables -A INPUT -m state --state RELAtED,EStABLISHED -j ACCEPT
[root@localhost ~]# iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
[root@localhost ~]# iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -m state --state NEW ! -s 192.168.1.18 -p tcp --dport 22 -j ACCEPT 
[root@localhost ~]# iptables -A INPUT -m state --state NEW -j REJECT


 
nat表中的dnat snat

內核路由需要開啓

查看內核路由狀態:

配置雙網卡:

ip1 : 192.168.1.10

ip2 : 172.25.254.20

兩臺不同網段的主機:

192.168.1.20

172.25.254.30

爲172.25.254.30 主機配置網關爲 172.25.254.20

在172.25.254.30中:

ping 192.168.1.20

ping 不通

設定火牆策略:

snat
iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.1.10
可以ping 通


dnat
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.30
 
在192.168.1.20 主機登陸 192.168.1.10 

實際登錄的是172.25.254.30
 
 
 

第三部分:firewalld 


 
一. firewalld的開啓


systemctl stop iptables
systemctl disable iptables
systemctl mask iptables 
 
 
systemctl unmask firewalld
systemctl enable --now 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   ##更改網絡接口到指定域

五. firewalld的高級規則

 

firewall-cmd --direct --get-all-rules                                  ##查看高級規則 
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.0/24 -p tcp --dport 22  -j ACCEPT

六. firewalld中的NAT 


SNAT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload 

[root@localhost ~]# firewall-cmd --permanent --add-masquerade
success
[root@localhost ~]# firewall-cmd --reload 
success

DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.30
firewall-cmd --reload

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章