一躲舌、下面是red hat/CentOs7關(guān)閉防火墻的命令!
1:查看防火狀態(tài)
systemctl status firewalld
service ?iptables?status
2:暫時(shí)關(guān)閉防火墻
systemctl stop firewalld
service ?iptables?stop
3:永久關(guān)閉防火墻
systemctl disable firewalld
chkconfig iptables off
4:重啟防火墻
systemctl restart firewalld.service
systemctl enable firewalld
service iptables restart??
5:永久關(guān)閉后重啟
//暫時(shí)還沒有試過(guò)
chkconfig iptables?on
二贷币、firewalld
Centos7默認(rèn)安裝了firewalld留量,如果沒有安裝的話蒜绽,可以使用?yum install firewalld firewalld-config進(jìn)行安裝摊鸡。
1.啟動(dòng)防火墻
systemctl start firewalld
2.禁用防火墻
systemctl stop firewalld
3.設(shè)置開機(jī)啟動(dòng)
systemctl enable firewalld
4.停止并禁用開機(jī)啟動(dòng)
sytemctl disable firewalld
5.重啟防火墻
firewall-cmd --reload
6.查看狀態(tài)
systemctl status firewalld或者 firewall-cmd --state
7.查看版本
firewall-cmd --version
8.查看幫助
firewall-cmd --help
9.查看區(qū)域信息
firewall-cmd --get-active-zones
10.查看指定接口所屬區(qū)域信息
firewall-cmd --get-zone-of-interface=eth0
11.拒絕所有包
firewall-cmd --panic-on
12.取消拒絕狀態(tài)
firewall-cmd --panic-off
13.查看是否拒絕
firewall-cmd --query-panic
14.將接口添加到區(qū)域(默認(rèn)接口都在public)
firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墻)
15.設(shè)置默認(rèn)接口區(qū)域
firewall-cmd --set-default-zone=public(立即生效孤里,無(wú)需重啟)
16.更新防火墻規(guī)則
firewall-cmd --reload或firewall-cmd --complete-reload(兩者的區(qū)別就是第一個(gè)無(wú)需斷開連接累舷,就是firewalld特性之一動(dòng)態(tài)
添加規(guī)則知纷,第二個(gè)需要斷開連接壤圃,類似重啟服務(wù))
17.查看指定區(qū)域所有打開的端口
firewall-cmd --zone=public --list-ports
18.在指定區(qū)域打開端口(記得重啟防火墻)
firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)
說(shuō)明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式為:端口/通訊協(xié)議
–permanent #永久生效琅轧,沒有此參數(shù)重啟后失效
19.查看防火墻開啟的端口
firewall-cmd --list-ports
在 CentOS 7 中伍绳,引入了一個(gè)新的服務(wù),Firewalld乍桂,下面一張圖冲杀,讓大家明確的了解 Firewall 與 iptables 之間的關(guān)系與區(qū)別。
安裝它睹酌,只需
# yum install firewalld
如果需要圖形界面的話权谁,則再安裝
# yum install firewall-config
一、介紹
防火墻守護(hù) firewalld 服務(wù)引入了一個(gè)信任級(jí)別的概念來(lái)管理與之相關(guān)聯(lián)的連接與接口憋沿。它支持 ipv4 與 ipv6闯传,并支持網(wǎng)橋,采用 firewall-cmd (command) 或 firewall-config (gui) 來(lái)動(dòng)態(tài)的管理 kernel netfilter 的臨時(shí)或永久的接口規(guī)則,并實(shí)時(shí)生效而無(wú)需重啟服務(wù)甥绿。
zone
Firewall 能將不同的網(wǎng)絡(luò)連接歸類到不同的信任級(jí)別字币,Zone 提供了以下幾個(gè)級(jí)別
drop: 丟棄所有進(jìn)入的包,而不給出任何響應(yīng)
block: 拒絕所有外部發(fā)起的連接共缕,允許內(nèi)部發(fā)起的連接
public: 允許指定的進(jìn)入連接
external: 同上洗出,對(duì)偽裝的進(jìn)入連接,一般用于路由轉(zhuǎn)發(fā)
dmz: 允許受限制的進(jìn)入連接
work: 允許受信任的計(jì)算機(jī)被限制的進(jìn)入連接图谷,類似 workgroup
home: 同上翩活,類似 homegroup
internal: 同上,范圍針對(duì)所有互聯(lián)網(wǎng)用戶
trusted: 信任所有連接
過(guò)濾規(guī)則
source: 根據(jù)源地址過(guò)濾
interface: 根據(jù)網(wǎng)卡過(guò)濾
service: 根據(jù)服務(wù)名過(guò)濾
port: 根據(jù)端口過(guò)濾
icmp-block: icmp 報(bào)文過(guò)濾便贵,按照 icmp 類型配置
masquerade: ip 地址偽裝
forward-port: 端口轉(zhuǎn)發(fā)
rule: 自定義規(guī)則
其中菠镇,過(guò)濾規(guī)則的優(yōu)先級(jí)遵循如下順序
source
interface
firewalld.conf
二、使用方法
#systemctl start firewalld# 啟動(dòng),
#systemctlenablefirewalld# 開機(jī)啟動(dòng)
#systemctl stop firewalld# 關(guān)閉
#systemctldisablefirewalld# 取消開機(jī)啟動(dòng)
具體的規(guī)則管理承璃,可以使用firewall-cmd利耍,具體的使用方法可以
$ firewall-cmd--help
--zone=NAME? ? ? ? ? ? ? ? ? ? ? ? # 指定 zone
--permanent? ? ? ? ? ? ? ? ? ? ? ? # 永久修改,--reload 后生效
--timeout=seconds? ? ? ? ? ? ? ? ? # 持續(xù)效果盔粹,到期后自動(dòng)移除隘梨,用于調(diào)試,不能與 --permanent 同時(shí)使用
1. 查看規(guī)則
查看運(yùn)行狀態(tài)
$ firewall-cmd--state
查看已被激活的 Zone 信息
$ firewall-cmd --get-active-zones
public
? interfaces: eth0 eth1
查看指定接口的 Zone 信息
$ firewall-cmd --get-zone-of-interface=eth0
public
查看指定級(jí)別的接口
$ firewall-cmd --zone=public--list-interfaces
eth0
查看指定級(jí)別的所有信息舷嗡,譬如 public
$firewall-cmd--zone=public--list-all
public(default,active)
interfaces:eth0
sources:
services:dhcpv6-clienthttpssh
ports:
masquerade:no
forward-ports:
icmp-blocks:
rich rules:
查看所有級(jí)別被允許的信息
$ firewall-cmd--get-service
查看重啟后所有 Zones 級(jí)別中被允許的服務(wù)轴猎,即永久放行的服務(wù)
$ firewall-cmd--get-service --permanent
2. 管理規(guī)則
#firewall-cmd --panic-on# 丟棄
#firewall-cmd --panic-off# 取消丟棄
#firewall-cmd --query-panic# 查看丟棄狀態(tài)
#firewall-cmd --reload# 更新規(guī)則,不重啟服務(wù)
#firewall-cmd --complete-reload# 更新規(guī)則进萄,重啟服務(wù)
添加某接口至某信任等級(jí)捻脖,譬如添加 eth0 至 public,永久修改
# firewall-cmd --zone=public--add-interface=eth0--permanent
設(shè)置 public 為默認(rèn)的信任級(jí)別
# firewall-cmd --set-default-zone=public
a. 管理端口
列出 dmz 級(jí)別的被允許的進(jìn)入端口
# firewall-cmd --zone=dmz --list-ports
允許 tcp 端口 8080 至 dmz 級(jí)別
# firewall-cmd --zone=dmz --add-port=8080/tcp
允許某范圍的 udp 端口至 public 級(jí)別中鼠,并永久生效
# firewall-cmd --zone=public --add-port=5060-5059/udp --permanent
b. 網(wǎng)卡接口
列出 public zone 所有網(wǎng)卡
# firewall-cmd --zone=public --list-interfaces
將 eth0 添加至 public zone郎仆,永久
# firewall-cmd --zone=public--permanent --add-interface=eth0
eth0 存在與 public zone,將該網(wǎng)卡添加至 work zone兜蠕,并將之從 public zone 中刪除
# firewall-cmd --zone=work --permanent --change-interface=eth0
刪除 public zone 中的 eth0,永久
# firewall-cmd --zone=public--permanent --remove-interface=eth0
c. 管理服務(wù)
添加 smtp 服務(wù)至 work zone
# firewall-cmd --zone=work --add-service=smtp
移除 work zone 中的 smtp 服務(wù)
# firewall-cmd --zone=work --remove-service=smtp
d. 配置 external zone 中的 ip 地址偽裝
查看
# firewall-cmd --zone=external --query-masquerade
打開偽裝
# firewall-cmd --zone=external --add-masquerade
關(guān)閉偽裝
# firewall-cmd --zone=external --remove-masquerade
e. 配置 public zone 的端口轉(zhuǎn)發(fā)
要打開端口轉(zhuǎn)發(fā)抛寝,則需要先
# firewall-cmd --zone=public --add-masquerade
然后轉(zhuǎn)發(fā) tcp 22 端口至 3753
# firewall-cmd --zone=public--add-forward-port=port=22:proto=tcp:toport=3753
轉(zhuǎn)發(fā) 22 端口數(shù)據(jù)至另一個(gè) ip 的相同端口上
# firewall-cmd --zone=public--add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
轉(zhuǎn)發(fā) 22 端口數(shù)據(jù)至另一 ip 的 2055 端口上
# firewall-cmd --zone=public--add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100
f. 配置 public zone 的 icmp
查看所有支持的 icmp 類型
# firewall-cmd --get-icmptypes
destination-unreachableecho-replyecho-request parameter-problem redirect router-advertisement router-solicitationsource-quench time-exceeded
列出
# firewall-cmd --zone=public --list-icmp-blocks
添加 echo-request 屏蔽
# firewall-cmd --zone=public--add-icmp-block=echo-request[--timeout=seconds]
移除 echo-reply 屏蔽
#firewall-cmd --zone=public --remove-icmp-block=echo-reply
g. IP 封禁
# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.222' reject"
當(dāng)然熊杨,我們?nèi)匀豢梢酝ㄟ^(guò) ipset 來(lái)封禁 ip
封禁 ip
# firewall-cmd --permanent --zone=public--new-ipset=blacklist --type=hash:ip
# firewall-cmd --permanent --zone=public--ipset=blacklist --add-entry=222.222.222.222
封禁網(wǎng)段
# firewall-cmd --permanent --zone=public--new-ipset=blacklist --type=hash:net
# firewall-cmd --permanent --zone=public--ipset=blacklist --add-entry=222.222.222.0/24
導(dǎo)入 ipset 的 blacklist 規(guī)則
# firewall-cmd --permanent --zone=public--new-ipset-from-file=/path/blacklist.xml
如果已經(jīng)存 blacklist,則需要先刪除
# firewall-cmd --get-ipsets
blacklist
# firewall-cmd --permanent --zone=public --delete-ipset=blacklist
然后封禁 blacklist
# firewall-cmd --permanent --zone=public--add-rich-rule='rule source ipset=blacklist drop'
重新載入以生效
# firewall-cmd --reload
查看 blacklist
# firewall-cmd --ipset=blacklist --get-entries
以上都是一些常用方法盗舰,更多高級(jí)方法晶府,請(qǐng)參考:
https://fedoraproject.org/wiki/FirewallD
轉(zhuǎn)載來(lái)自:https://blog.csdn.net/baidu_36124158/article/details/90603496
防火墻開啟特定端口:??https://blog.csdn.net/zll_0405/article/details/81208606