在外部訪問CentOS中部署應用時,需要透過防火牆管理軟體,開埠,或者直接關閉防火牆進行解決(不建議)

常用命令:

systemctl start firewalld #啟動

systemctl stop firewalld #停止

systemctl status firewalld #檢視狀態

systemctl disable firewalld #開機禁用

systemctl enable firewalld #開機啟動

開放或關閉埠:

firewall-cmd ——zone=public ——add-port=80/tcp ——permanent #開放80/tcp埠 (——permanent永久生效,沒有此引數重啟後失效)

firewall-cmd ——zone=public ——query-port=80/tcp #檢視80/tcp埠

firewall-cmd ——zone=public ——remove-port=80/tcp ——permanent #關閉80/tcp埠

批次開放或關閉埠:

firewall-cmd ——zone=public ——add-port=40000-45000/tcp ——permanent #批次開放埠,開啟從40000到45000之間的所有埠

firewall-cmd ——zone=public ——list-ports #檢視系統所有開放的埠

firewall-cmd ——zone=public ——remove-port=40000-45000/tcp ——permanent #批次關閉埠,關閉從40000到45000之間的所有埠

更新防火牆的設定:

firewall-cmd ——reload #更新防火牆的設定,使上面的修改生效

CentOS7 防火牆(firewall)的操作命令

安裝:yum

install firewalld

1、firewalld的基本使用

啟動: systemctl start firewalld

檢視狀態: systemctl status firewalld

禁用,禁止開機啟動: systemctl disable firewalld

停止執行: systemctl stop firewalld

2.配置firewalld-cmd

檢視版本: firewall-cmd ——version

檢視幫助: firewall-cmd ——help

顯示狀態: firewall-cmd ——state

檢視所有開啟的埠: firewall-cmd ——zone=public ——list-ports

更新防火牆規則: firewall-cmd ——reload

更新防火牆規則,重啟服務: firewall-cmd ——completely-reload

檢視已啟用的Zone資訊: firewall-cmd ——get-active-zones

檢視指定介面所屬區域: firewall-cmd ——get-zone-of-interface=eth0

拒絕所有包:firewall-cmd ——panic-on

取消拒絕狀態: firewall-cmd ——panic-off

檢視是否拒絕: firewall-cmd ——query-panic

3.信任級別,透過Zone的值指定

drop: 丟棄所有進入的包,而不給出任何響應

block: 拒絕所有外部發起的連線,允許內部發起的連線

public: 允許指定的進入連線

external: 同上,對偽裝的進入連線,一般用於路由轉發

dmz: 允許受限制的進入連線

work: 允許受信任的計算機被限制的進入連線,類似 workgroup

home: 同上,類似 homegroup

internal: 同上,範圍針對所有網際網路使用者

trusted: 信任所有連線

4.firewall開啟和關閉埠

以下都是指在public的zone下的操作,不同的Zone只要改變Zone後面的值就可以

新增:

firewall-cmd ——zone=public ——add-port=80/tcp ——permanent (——permanent永久生效,沒有此引數重啟後失效)

重新載入:

firewall-cmd ——reload

檢視:

firewall-cmd ——zone=public ——query-port=80/tcp

刪除:

firewall-cmd ——zone=public ——remove-port=80/tcp ——permanent

5.管理服務

以smtp服務為例, 新增到work zone

新增:

firewall-cmd ——zone=work ——add-service=smtp

檢視:

firewall-cmd ——zone=work ——query-service=smtp

刪除:

firewall-cmd ——zone=work ——remove-service=smtp

5.配置 IP 地址偽裝

檢視:

firewall-cmd ——zone=external ——query-masquerade

開啟:

firewall-cmd ——zone=external ——add-masquerade

關閉:

firewall-cmd ——zone=external ——remove-masquerade

6.埠轉發

開啟埠轉發,首先需要開啟IP地址偽裝 :

firewall-cmd ——zone=external ——add-masquerade

轉發 tcp 22 埠至 3753:

firewall-cmd ——zone=external ——add-forward-port=22:porto=tcp:toport=3753

轉發埠資料至另一個IP的相同埠:

firewall-cmd ——zone=external ——add-forward-port=22:porto=tcp:toaddr=192。168。1。112

轉發埠資料至另一個IP的 3753 埠:

firewall-cmd ——zone=external ——add-forward-port=22:porto=tcp::toport=3753:toaddr=192。168。1。112

6.systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體

啟動一個服務:systemctl start firewalld。service

關閉一個服務:systemctl stop firewalld。service

重啟一個服務:systemctl restart firewalld。service

顯示一個服務的狀態:systemctl status firewalld。service

在開機時啟用一個服務:systemctl enable firewalld。service

在開機時禁用一個服務:systemctl disable firewalld。service

檢視服務是否開機啟動:systemctl is-enabled firewalld。service

檢視已啟動的服務列表:systemctl list-unit-files|grep enabled

檢視啟動失敗的服務列表:systemctl ——failed