在外部訪問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