CentOS默認(rèn)安裝了Firewalld,但沒有激活幌甘。
1潮售、啟動(dòng)和停止服務(wù)
sudo systemctl start firewalld #啟動(dòng)防火墻
sudo systemctl enable firewalld #設(shè)置開機(jī)啟動(dòng)
sudo systemctl stop firewalld #停止防火墻
sudo systemctl disable firewalld #取消開機(jī)啟動(dòng)
sudo firewall-cmd --reload #重啟服務(wù)
2、狀態(tài)檢查
sudo firewall-cmd --version #查看版本
sudo firewall-cmd --state #僅檢查是否運(yùn)行
sudo systemctl status firewalld #更詳細(xì)的運(yùn)行信息
3锅风、添加刪除規(guī)則
#永久添加或刪除服務(wù)酥诽,比如http, snmp 等
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --remove-service=http --permanent
#永久添加或刪除端口
sudo firewall-cmd --zone=public --add-port=123/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=123/tcp --permanent
#端口轉(zhuǎn)發(fā),同一臺(tái)主機(jī)或遠(yuǎn)程服務(wù)器
sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=1234
sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=xxx.xxx.xxx.xxx
#富規(guī)則,允許為任何端口皱埠、協(xié)議肮帐、地址和操作向任何區(qū)域 添加完全自定義的防火墻規(guī)則
#查看現(xiàn)有富規(guī)則
sudo firewall-cmd --list-rich-rules
#eg. 允許來自ip 192.168.0.255的所有ipv4流量
sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.0.255 accept'
#eg. 拒絕所有來自192.168.0.1的ipv4 ssh流量
sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.0.1" port port=22 protocol=tcp reject'
#eg. 允許來自10.0.0.1的80端口ipv4流量并轉(zhuǎn)發(fā)到12345端口
sudo firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=10.0.0.1 forward-port port=80 protocol=tcp to-port=12345'
4、配置案例:http服務(wù)器防火墻初始化
#查看默認(rèn)區(qū)域,默認(rèn)是public
sudo firewall-cmd --get-default-zone
#查看網(wǎng)卡所在區(qū)域
sudo firewall-cmd --get-active-zones
#查看區(qū)域防火墻配置
sudo firewall-cmd --zone=public --list-all
#查看所有防火墻配置
sudo firewall-cmd --list-all
#查看主機(jī)的所有服務(wù)
sudo firewall-cmd --get-services
#將默認(rèn)區(qū)域更改的dmz(該區(qū)域默認(rèn)ssh和icmp)
sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
#永久添加http和https規(guī)則
sudo firewall-cmd --zone=dmz --add-service=http --permanent
sudo firewall-cmd --zone=dmz --add-service=https --permanent
#重啟防火墻使配置生效
sudo firewall-cmd --reload
#配置完成后训枢,效果如下:
#默認(rèn)區(qū)域dmz
#應(yīng)用于eth0 接口中所有網(wǎng)絡(luò)的源地址和端口
#允許傳入 HTTP(80)托修、HTTPS(443)和 SSH(22)的流量( IPv4 和 IPv6)
#不允許IP 偽裝和端口轉(zhuǎn)發(fā)
#允許ICMP
#沒有豐富規(guī)則,允許所有出站流量
記得永久生效加 --permanent恒界, 添加規(guī)則后要reload生效