日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

linux中的火墻策略優化

作者:野124 更新時間: 2022-07-12 編程語言

實驗環境:兩臺虛擬機,一臺雙網卡主機可以上外網,可以連接內網,一臺單網卡主機可以連接內網

1.火墻介紹

linux防火墻簡單來說是內核上數據包過濾的插件,主要工作在網絡層,屬于典型的包過濾防火墻。常用的有兩種火墻工具iptables和firewalld,但軟件本身其實并不具備防火墻功能,他們的作用都是在用戶空間中管理和維護規則,真正利用規則進行過濾是由內核netfilter完成的。netfilter IP 信息包過濾系統是一種功能強大的工具,可用于添加、編輯和除去規則,這些規則是在做信息包過濾決定時,防火墻所遵循和組成的規則。

1.netfilter

2.iptables

3.iptables|firewalld

2.火墻管理工具切換

在rhel8中默認使用的是firewalld

從firewalld切換到iptables的過程,先搭建好軟件倉庫,安裝iptables

dnf install iptables-services -y

systemctl stop firewalld

systemctl disable firewalld

systemctl mask firewalld

systemctl enable --now iptables

從iptales切換到fiewalld的過程

dnf install firewalld -y

systemctl stop iptables

systemctl disable iptables

systemctl mask iptables

systemctl enable --now firewalld

3. iptables 的使用

火墻策略的永久保存

/etc/sysconfig/iptables ???????是iptables 策略記錄文件

永久保存策略

iptales-save > /etc/sysconfig/iptables

service iptables save(建議使用)

?

4.火墻默認策略

默認策略中的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 nat -nL (-t指定表名)

iptables -t mangel –nL

? ? ? ? ? -n ??不做解析

? ? ? ? ? -L ???查看

? ?-A? ? ? ? ? ? 添加策略

? ?-p? ? ? ? ? ? 協議

? ?--dport???? 目的地端口

? ?-s? ? ? ? ? ? ?來源

? ?-j? ? ? ? ? ? ? 動作

? ? ? ? ? ?ACCEPT? ? ?允許

? ? ? ? ? ?DROP? ? ? ? 丟棄

? ? ? ? ? ?REJECT? ? ?拒絕

? ? ? ? ? ?SNAT? ? ? ? ?源地址轉換

? ? ? ? ? ?DNAT? ? ? ? ?目的地地址轉換

-N? ? 新建鏈

-E? ? 更改鏈名稱

-X? ? 刪除鏈

-D? ? 刪除規則

-I? ? ?插入規則

-R? ? 更改規則

-P? ? 更改默認規則

數據包狀態

RELATED? ? ? ? ? ?建立過連接的

ESTABLISHED ??正在連接的

NEW?????????? 新的

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

任何訪問本機80 端口的數據都讓他通過

iptables -I INPUT 1 -s 192.168.155.178 -p tcp --dport 80 -j REJECT

不允許192.1268.155.178訪問本機80端口

?

測試:用192.168.155.178主機?

?

iptables -R INPUT 1 -s 192.168.155.178 -p tcp --dport 80 -j ACCEPT

更改第一條使其允許192.168.155.178訪問本機80端口

?

策略優化

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 53 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT

ptables -A INPUT -m state --state NEW -j REJECT

?

原地址轉換

在雙網卡主機中設置

snat

iptable -t nat -A POSTROUTING -o ens192 -j SNAT --to-source 192.168.43.201?

在單網卡主機中連接雙網卡主機?

在雙卡主機中顯示是雙網卡主機的另一個ip?

?目的地地址轉換

dnat

iptables -t nat -A PREROUTING -i ens192 -j DNAT --to-dest 192.168.155.178

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-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

3.關于firewalld的設定原理及數據存儲

/etc/firewalld ??????????火墻配置目錄

/lib/firewalld ???????????火墻模塊目

4. firewalld的管理命令

firewall-cmd --state? ? ? ? ? ? ? ? ? ? ? ? ?查看火墻狀態

firewall-cmd --get-active-zones ?????查看當前火墻中生效的域

firewall-cmd --get-default-zone? ? ? ?查看默認域

firewall-cmd --list-all? ? ? ? ? ? ? ? ? ? ? ? 查看默認域中的火墻策略

?

firewall-cmd --set-default-zone=trusted ????設定默認域

firewall-cmd --list-all --zone=work? ? ? ? ? ? ? 查看指定域的火墻策略

?

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=192.168.155.178/24 --zone=block ????刪除自定域中的數據來源

?

?firewall-cmd --permanent --remove-interface=ens192 --zone=public

刪除指定域的網絡接口

firewall-cmd --permanent --add-interface=ens192 --zone=block ??添加指定域的網絡接口

firewall-cmd --permanent --change-interface=ens192 --zone=public

更改網絡接口到指定的域

5. firewalld的高級規則

服務器端

firewall-cmd --direct --get-all-rules ????????查看高級規則

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.250 -p tcp --dport 22 -j REJECT ?(拒絕192.168.155.178連接)

測試端

?

服務器端刪除后

?

測試端即可登錄

?

?6.firewalld中的NAT

SNAT

firewall-cmd --permanent --add-masquerade

firewall-cmd --reload

?DNAT

firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=192.168.155.178 firewall-cmd –reload

原文鏈接:https://blog.csdn.net/LRJ2034203479/article/details/125677702

欄目分類
最近更新