firewalld
1.火牆介紹
1.netfilter
2.iptables
3.iptables | firewalld
2.火牆管理工具切換
在rhe8中默認使用的是firewalld
firewalld 切換 iptables
# dnf install iptables-services.x86_64 -y 安裝
# systemctl stop firewalld.service
# systemctl disable firewalld.service 關閉firewalld並且開機關閉
# systemctl mask firewalld.service 爲確保關閉可以凍結
# systemctl enable --now iptables.service 開啓iptables並且開機啓動
3. iptables的使用
/etc/sysconfig/iptables 策略記錄文件(重啓服務後會重新讀取其內容)
永久保留策略
# service iptables save 永久保存策略
# iptables save > /etc/sysconfig/iptables 清空策略
4.火牆認證策略
默認策略中的5條鏈
默認的三張表
iptables命令
# iptables -t filter -I INPUT 1 -j REJECT 插入策略
# iptables -D INPUT 1 刪除策略
# iptables -t filter -R INPUT 1 -s 192.168.1.33 -p tcp --dport 80 -j ACCEPT 修改策略
# iptables -N westos 新建鏈
# iptables -E westos text 修改鏈名稱
# iptables -X text 刪除鏈
數據包狀態
# iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 允許連接過的、正在連接的
# iptables -t filter -A INPUT -m state --state NEW -i lo -j ACCEPT 允許本地迴環
# iptables -t filter -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT 允許端口80
# iptables -t filter -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT 允許端口53
# iptables -t filter -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT 允許端口443
# iptables -t filter -A INPUT -m state --state NEW ! -s 192.168.1.35 -p tcp --dport 22 -j ACCEPT 除了35以外的ip訪問
# iptables -t filter -A INPUT -m state --state NEW -j REJECT 不允許新的訪問
# service iptables save 永久保存
nat表中的snat 和 dnat
主機1 :192.168.1.35
主機2:雙網卡 192.168.1.32 172.25.254.32
主機3:172.25.254.33
# sysctl -a | grep ip_forward
snat:
# iptables -t nat -A POSTROUTING -o ens224 -j SNAT --to-source 192.168.1.32
測試:在主機1中連接主機3
# ssh -l root 172.25.254.33
dnat
# iptables -t nat -A PREROUTING -i ens224 -j DNAT --to-dest 172.25.254.32
測試:在主機3中連接主機1
# ssh -l root 192.168.1.35