[問題] firewalld擋10.20.1.x 但不擋10.20.1.9

看板Linux作者 (Rochelle)時間2年前 (2022/05/18 15:49), 2年前編輯推噓6(6013)
留言19則, 8人參與, 2年前最新討論串1/1
需求是firewalld擋10.20.1.x 但不擋 此網段某幾個ip 例如只擋 10.20.1.0-100 10.20.1.105-200 10.20.1.205-255 中間的ip不擋 其他網域也不擋 上網查只有擋整個網段 或 擋單個ip firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' service name ='ssh' source address='10.20.1.100' reject" firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' service name ='ssh' source address='10.20.1.0/24' reject" 難道我只能用窮舉法設定每個ip reject了嗎 請問有沒有更簡單的command來設定 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1652860162.A.C45.html

05/18 16:34, 2年前 , 1F
那先對放行的那幾個下 accept 最後對整段下 reject 呢
05/18 16:34, 1F

05/18 16:39, 2年前 , 2F
submask不要用24 ,用28 or 30看看
05/18 16:39, 2F

05/18 16:44, 2年前 , 3F

05/18 16:53, 2年前 , 4F
另外的想法是,用/28,切成16個網段,開1擋15
05/18 16:53, 4F

05/18 17:29, 2年前 , 5F
先設定要放行的,之後再擋網段呢?
05/18 17:29, 5F

05/18 20:49, 2年前 , 6F
看來2樓的方法可能是唯一解
05/18 20:49, 6F

05/18 20:50, 2年前 , 7F
mirc的方法我試過 失敗 整個網段reject
05/18 20:50, 7F

05/18 20:59, 2年前 , 8F
也是CP64的方法
05/18 20:59, 8F

05/18 22:16, 2年前 , 9F
iptables -L -v 先到accept target的方法是對的
05/18 22:16, 9F

05/19 01:41, 2年前 , 10F
不太確定 firewalld 底下的運作 看是先用樓上的方法
05/19 01:41, 10F

05/19 01:41, 2年前 , 11F
或是 nft list ruleset 看它生出來的 rule 是不是對的
05/19 01:41, 11F

05/19 10:32, 2年前 , 12F
我記得firewalld跟iptables一樣有先後順序 你有對嗎?
05/19 10:32, 12F
firewalld 我兩種順序都試過 都是整個網段被reject iptables的確照順序會成功 iptables還有--src-range的用法 但是要把其他規則移植到iptables 我寧用窮舉法

05/19 10:34, 2年前 , 13F
喔我看錯,50可能要48遮 100用96遮
05/19 10:34, 13F

05/19 11:39, 2年前 , 14F
維護一個iplist 作為放行白名單?
05/19 11:39, 14F

05/20 04:23, 2年前 , 15F
實際看了產出來的 rule, firewalld 會強制把 deny 放前面...
05/20 04:23, 15F

05/20 04:28, 2年前 , 16F
會需要在 accept 的 rule 裡加 priority=-1 往前拉
05/20 04:28, 16F
感謝 不過我的RHEL7 firewalld 0.6.3 剛剛測試似乎不支援priority ※ 編輯: roccqqck (101.12.100.160 臺灣), 05/20/2022 09:55:00

05/22 05:27, 2年前 , 17F
Rich-rule的參數似乎有rule-priority 可以用 可以試試
05/22 05:27, 17F

05/22 05:28, 2年前 , 18F
>0.7
05/22 05:28, 18F

05/22 05:28, 2年前 , 19F
先寫先執行,1F是正解。
05/22 05:28, 19F
firewalld一定要priority才行 照順序沒用 我另外找到一個很奇怪的方法 用firewall-cmd下iptables的規則 www.tecmint.com/block-ssh-and-ftp-access-to-specific-ip-and-network-range #--------------------- On IPtables Firewall --------------------- ``` iptables -I INPUT -s 192.168.1.100 -p tcp --dport ssh -j REJECT iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport ssh -j REJECT ``` #--------------------- On FirewallD --------------------- ``` firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 22 -j REJECT firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 22 -j REJECT ``` ``` firewall-cmd --reload #這規則用firewalld看不到 firewall-cmd --list-all-zones #用iptables才看得到 iptables -L -n --line-numbers ``` ※ 編輯: roccqqck (49.216.102.88 臺灣), 05/25/2022 15:22:33
文章代碼(AID): #1YXAK2n5 (Linux)
文章代碼(AID): #1YXAK2n5 (Linux)