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

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

linux中的火墻策略優(yōu)化

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

實驗環(huán)境:兩臺虛擬機,一臺雙網(wǎng)卡主機可以上外網(wǎng),可以連接內(nèi)網(wǎng),一臺單網(wǎng)卡主機可以連接內(nèi)網(wǎng)

1.火墻介紹

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

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

轉發(fā)

postrouting

路由之后

prerouting

路由之前

默認的3張表

Filter

經(jīng)過本機內(nèi)核的數(shù)據(jù)(input output forward)

nat

不經(jīng)過內(nèi)核的數(shù)據(jù)(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? ? ? ? ? ? 協(xié)議

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

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

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

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

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

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

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

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

-N? ? 新建鏈

-E? ? 更改鏈名稱

-X? ? 刪除鏈

-D? ? 刪除規(guī)則

-I? ? ?插入規(guī)則

-R? ? 更改規(guī)則

-P? ? 更改默認規(guī)則

數(shù)據(jù)包狀態(tài)

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

ESTABLISHED ??正在連接的

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

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

任何訪問本機80 端口的數(shù)據(jù)都讓他通過

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

?

策略優(yōu)化

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

?

原地址轉換

在雙網(wǎng)卡主機中設置

snat

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

在單網(wǎng)卡主機中連接雙網(wǎng)卡主機?

在雙卡主機中顯示是雙網(wǎng)卡主機的另一個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? ? ? ? ? ?接受所有的網(wǎng)絡連接

home? ? ? ? ? ? ?用于家庭網(wǎng)絡,允許接受ssh mdns ipp-client samba-client dhcp-client

work? ? ? ? ? ? ? 工作網(wǎng)絡 ssh ipp-client dhcp-client

public? ? ? ? ? ? 公共網(wǎng)絡 ssh dhcp-client

dmz? ? ? ? ? ? ? 軍級網(wǎng)絡 ssh block ##拒絕所有

drop? ? ? ? ? ? ?丟棄 所有數(shù)據(jù)全部丟棄無任何回復

internal? ? ? ? 內(nèi)部網(wǎng)絡 ssh mdns ipp-client samba-client dhcp-client

external ??????ipv4網(wǎng)絡地址偽裝轉發(fā) sshd

3.關于firewalld的設定原理及數(shù)據(jù)存儲

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

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

4. firewalld的管理命令

firewall-cmd --state? ? ? ? ? ? ? ? ? ? ? ? ?查看火墻狀態(tài)

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

指定數(shù)據(jù)來源訪問指定域

firewall-cmd --reload firewall-cmd --permanent --remove-source=192.168.155.178/24 --zone=block ????刪除自定域中的數(shù)據(jù)來源

?

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

刪除指定域的網(wǎng)絡接口

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

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

更改網(wǎng)絡接口到指定的域

5. firewalld的高級規(guī)則

服務器端

firewall-cmd --direct --get-all-rules ????????查看高級規(guī)則

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

欄目分類
最近更新