linux 进程防火墙连接管理,Linux系统管理初步(五)系统防火墙控制程序firewalld...
CentOS7中,系統(tǒng)自帶的netfilter操作程序由iptables變?yōu)閒irewalld。firewall有zone和service兩個(gè)概念,網(wǎng)口或者說nmcli下的conection可加入某個(gè)zone那么這個(gè)con來的數(shù)據(jù)就會(huì)遵循zone下的規(guī)則,而每個(gè)zone下又有一些service,這些service不受zone默認(rèn)規(guī)則的限制。可以通過con、zone、service的搭配來具體對(duì)某一業(yè)務(wù)進(jìn)行規(guī)劃,保證系統(tǒng)安全。
一、firewalld中的9個(gè)zone
firewalld中有9個(gè)zone,各個(gè)zone的說明如下
drop
Any incoming network packets are dropped; there is no reply. Only outgoing network connections are possible.
block
Any incoming network connections are rejected with an icmp-host-prohibited message for IPv4 and icmp6-adm-prohibited for IPv6. Only network connections initiated from within the system are possible.
public
For use in public areas. You do not trust the other computers on the network to not harm your computer. Only selected incoming connections are accepted.
external
For use on external networks with masquerading enabled, especially for routers. You do not trust the other computers on the network to not harm your computer. Only selected incoming connections are accepted.
dmz
For computers in your demilitarized zone that are publicly-accessible with limited access to your internal network. Only selected incoming connections are accepted.
work
For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
home
For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
internal
For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.
trusted
All network connections are accepted.
譯文:
由firewalld 提供的區(qū)域按照從不信任到信任的順序排序。
丟棄 drop
任何流入網(wǎng)絡(luò)的包都被丟棄,不作出任何響應(yīng)。只允許流出的網(wǎng)絡(luò)連接。
阻塞 block
任何進(jìn)入的網(wǎng)絡(luò)連接都被拒絕,并返回 IPv4 的 icmp-host-prohibited 報(bào)文或者 IPv6 的 icmp6-adm-prohibited 報(bào)文。只允許由該系統(tǒng)初始化的網(wǎng)絡(luò)連接。
公開 public
用以可以公開的部分。你認(rèn)為網(wǎng)絡(luò)中其他的計(jì)算機(jī)不可信并且可能傷害你的計(jì)算機(jī)。只允許選中的連接接入。
外部 external
用在路由器等啟用偽裝的外部網(wǎng)絡(luò)。你認(rèn)為網(wǎng)絡(luò)中其他的計(jì)算機(jī)不可信并且可能傷害你的計(jì)算機(jī)。只允許選中的連接接入。
隔離區(qū)dmz
用以允許隔離區(qū)(dmz)中的電腦有限地被外界網(wǎng)絡(luò)訪問。只接受被選中的連接。
工作 work
用在工作網(wǎng)絡(luò)。你信任網(wǎng)絡(luò)中的大多數(shù)計(jì)算機(jī)不會(huì)影響你的計(jì)算機(jī)。只接受被選中的連接。
家庭 home
用在家庭網(wǎng)絡(luò)。你信任網(wǎng)絡(luò)中的大多數(shù)計(jì)算機(jī)不會(huì)影響你的計(jì)算機(jī)。只接受被選中的連接。
內(nèi)部 internal
用在內(nèi)部網(wǎng)絡(luò)。你信任網(wǎng)絡(luò)中的大多數(shù)計(jì)算機(jī)不會(huì)影響你的計(jì)算機(jī)。只接受被選中的連接。
受信任的 trusted
允許所有網(wǎng)絡(luò)連接。
二、firewalld的應(yīng)用
操作前,我們看下當(dāng)前系統(tǒng)中應(yīng)用的是哪種防火墻程序。
systemctl list-units --all --type=service |egrep 'firewalld|ip6tables|iptables'
看active那一列,active的就是在用的程序,如果你看到firewalld那一行是inactive的,那我們就用下列命令把他啟動(dòng)
systemctl start firewalld #
systemctl enable firewalld #
如果iptables.service是active的那我們也要把他停用
systemctl stop iptables
systemctl disable iptables
都執(zhí)行完后可以再重復(fù)第一條命令看下服務(wù)狀態(tài)是否跟截圖一致。
firewall命令有點(diǎn)像一個(gè)英語句子,好理解,但是輸入有點(diǎn)煩
比如說
firewall-cmd --get-default-zone
firewall-cmd --set-default-zone=work
firewall-cmd --get-zone-interface=ens33
命令行操作
(一)操作網(wǎng)卡與zone的關(guān)系
1、查看新加接口默認(rèn)的zone
firewall-cmd --get-default-zone
2、設(shè)定新接口加入時(shí)的默認(rèn)zone
firewall-cmd --set-default-zone=work
3、查看接口所在的zone
firewall-cmd --get-zone-of-interface=ens33
4、給指定的網(wǎng)卡設(shè)置zone
firewall-cmd --zone=dmz --d-interface=ens33
5、更改某個(gè)網(wǎng)卡的zone
firewall-cmd --zone=public --change-interface=ens33
6、查看系統(tǒng)所有網(wǎng)卡所在的zone
firewall-cmd --get-active-zones
(二)操作zone的service
1、列出系統(tǒng)中存在的所有網(wǎng)絡(luò)服務(wù)(比如http、shttp、ssh等等)
firewall-cmd --get-services
2、列出默認(rèn)zone的service
firewall-cmd --list-service
3、列出特定zone的service
firewall-cmd --zone=trusted --list-service
4、將某個(gè)服務(wù)加入特定的zone
firewall-cmd --zone=work --add-service=ftp
相對(duì)的將某個(gè)service移出某個(gè)zone
firewall-cmd --zone=work --remove-service=ftp
5、將服務(wù)的改動(dòng)寫入配置文件重啟后也生效
firewall-cmd --zone=work --add-service=ftp --permanent #就是在末尾加個(gè)permanent參數(shù)
(三)、通過更改配置文件實(shí)現(xiàn)service的控制
firewalld的配置文件保存在,同時(shí)程序?yàn)槲覀冾A(yù)備了zone控制的模板與service的模板,其中zone模板保存在/usr/lib/firewalld/zones/下,而service的模板保存在/usr/lib/firewalld/services/目錄下,都是一些*.xml的文件。
模板路徑
控制文件路徑
zone
/usr/lib/firewalld/zones/
/etc/firewalld/zones
service
/usr/lib/firewalld/services/
/etc/firewalld/services
下面我們通過一個(gè)例子說明如何用模板控制zone下的service
需求:將FTP service的默認(rèn)端口改為1121,并且在work zone下放行
首先我們將ftp的模板拷貝到控制文件目錄中
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services
然后把默認(rèn)的21端口改為1121端口
sed -i 's/21/1121/g' ftp.xml
然后把work zone的模板拷貝到控制文件目錄下
cp -v /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones #建議加個(gè)-v參數(shù),方便檢查操作正誤
修改控制目錄下的work.xml 把ftp服務(wù)加入白名單
(玩?zhèn)€花活^^)
sed -i '7i \ \ ' work.xml
重載配置文件讓添加的規(guī)則生效
firewall-cmd --reload #重新加載firewalld配置文件
firewall-cmd --zone=work --list-services #檢查配置結(jié)果
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的linux 进程防火墙连接管理,Linux系统管理初步(五)系统防火墙控制程序firewalld...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle如何计算2个坐标的距离,百度
- 下一篇: linux获取明文密码,linux下抓取