CentOS 7 下使用 Firewalld
在 CentOS 7 中,引入了一個新的服務,Firewalld,下面一張圖,讓大家明確的瞭解 Firewalld 與 iptables 之間的關係與區別。
安裝它,只需
yum install firewalld
如果需要圖形介面的話,則再安裝
yum install firewall-config
一、介紹
防火牆守護 firewalld 服務引入了一個信任級別的概念來管理與之相關聯的連線與介面。它支援 ipv4 與 ipv6,並支援網橋,採用 firewall-cmd (command) 或 firewall-config (gui) 來動態的管理 kernel netfilter 的臨時或永久的介面規則,並實時生效而無需重啟服務。
zone
Firewall 能將不同的網路連線歸類到不同的信任級別,Zone 提供了以下幾個級別
- drop: 丟棄所有進入的包,而不給出任何響應
- block: 拒絕所有外部發起的連線,允許內部發起的連線
- public: 允許指定的進入連線
- external: 同上,對偽裝的進入連線,一般用於路由轉發
- dmz: 允許受限制的進入連線
- work: 允許受信任的計算機被限制的進入連線,類似 workgroup
- home: 同上,類似 homegroup
- internal: 同上,範圍針對所有網際網路使用者
- trusted: 信任所有連線
過濾規則
- source: 根據源地址過濾
- interface: 根據網絡卡過濾
- service: 根據服務名過濾
- port: 根據埠過濾
- icmp-block: icmp 報文過濾,按照 icmp 型別配置
- masquerade: ip 地址偽裝
- forward-port: 埠轉發
- rule: 自定義規則
其中,過濾規則的優先順序遵循如下順序
- source
- interface
- firewalld.conf
二、使用方法
# systemctl start firewalld # 啟動, # systemctl enable firewalld # 開機啟動 # systemctl stop firewalld # 關閉 # systemctl disable firewalld # 取消開機啟動
具體的規則管理,可以使用firewall-cmd
,具體的使用方法可以
$ firewall-cmd --help --zone=NAME # 指定 zone --permanent # 永久修改,--reload 後生效 --timeout=seconds # 持續效果,到期後自動移除,用於除錯,不能與 --permanent 同時使用
1. 檢視規則
檢視執行狀態
$ firewall-cmd --state
檢視已被啟用的 Zone 資訊
$ firewall-cmd --get-active-zones public interfaces: eth0 eth1
檢視指定介面的 Zone 資訊
$ firewall-cmd --get-zone-of-interface=eth0 public
檢視指定級別的介面
$ firewall-cmd --zone=public --list-interfaces eth0
檢視指定級別的所有資訊,譬如 public
$ firewall-cmd --zone=public --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client http ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:
檢視所有級別被允許的資訊
$ firewall-cmd --get-service
檢視重啟後所有 Zones 級別中被允許的服務,即永久放行的服務
$ firewall-cmd --get-service --permanent
2. 管理規則
# firewall-cmd --panic-on # 丟棄 # firewall-cmd --panic-off # 取消丟棄 # firewall-cmd --query-panic # 檢視丟棄狀態 # firewall-cmd --reload # 更新規則,不重啟服務 # firewall-cmd --complete-reload # 更新規則,重啟服務
新增某介面至某信任等級,譬如新增 eth0 至 public,永久修改
# firewall-cmd --zone=public --add-interface=eth0 --permanent
設定 public 為預設的信任級別
# firewall-cmd --set-default-zone=public
a. 管理埠
列出 dmz 級別的被允許的進入埠
# firewall-cmd --zone=dmz --list-ports
允許 tcp 埠 8080 至 dmz 級別
# firewall-cmd --zone=dmz --add-port=8080/tcp
允許某範圍的 udp 埠至 public 級別,並永久生效
# firewall-cmd --zone=public --add-port=5060-5059/udp --permanent
b. 網絡卡介面
列出 public zone 所有網絡卡
# firewall-cmd --zone=public --list-interfaces
將 eth0 新增至 public zone,永久
# firewall-cmd --zone=public --permanent --add-interface=eth0
eth0 存在與 public zone,將該網絡卡新增至 work zone,並將之從 public zone 中刪除
# firewall-cmd --zone=work --permanent --change-interface=eth0
刪除 public zone 中的 eth0,永久
# firewall-cmd --zone=public --permanent --remove-interface=eth0
c. 管理服務
新增 smtp 服務至 work zone
# firewall-cmd --zone=work --add-service=smtp
移除 work zone 中的 smtp 服務
# firewall-cmd --zone=work --remove-service=smtp
d. 配置 external zone 中的 ip 地址偽裝
檢視
# firewall-cmd --zone=external --query-masquerade
開啟偽裝
# firewall-cmd --zone=external --add-masquerade
關閉偽裝
# firewall-cmd --zone=external --remove-masquerade
e. 配置 public zone 的埠轉發
要開啟埠轉發,則需要先
# firewall-cmd --zone=public --add-masquerade
然後轉發 tcp 22 埠至 3753
# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=3753
轉發 22 埠資料至另一個 ip 的相同埠上
# firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
轉發 22 埠資料至另一 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-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-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"
轉自:http://www.cnblogs.com/suidouya/p/5718026.html
相關推薦
CentOS 7 下使用 Firewalld
在 CentOS 7 中,引入了一個新的服務,Firewalld,下面一張圖,讓大家明確的瞭解 Firewalld 與 iptables 之間的關係與區別。 安裝它,只需 yum install firewalld 如果需要圖形介面的話,則再安裝 yum i
CentOS 7下安裝使用Github
git push 文件 rep ica not 使用 管理系統 非root oba 在虛擬機安裝了QT以後,想把工程代碼放在版本管理系統軟件裏面,免得一遍遍創建checkpoint麻煩的要死。又因為虛擬機跟物理機數據很難交互,只好借助github了。搜了搜安裝配置方法,記錄
centos 7 下安裝Matplotlib
matplotlib[[email protected]/* */ bin]# [[email protected]/* */ bin]# [[email protected]/* */ bin]# [[email protected]/* */ bin]# p
centos 7 下多網卡綁定
add ima 鏈接 刪除 維護 謝謝 學習總結 drive 查看 一、前言 CentOS7之前系統提供給用戶的是bonding driver來實現鏈路聚合,實際上bonding適用於大多數應用。Bonding driver的架構是由內核空間完全控制、管理。 Team d
[CentOS 7系列]firewalld
firewalld1、開啟firewalld服務[[email protected]/* */ ~]# systemctl disable iptables Removed symlink /etc/systemd/system/basic.target.wants/iptables.servic
Linux CentOS 7 下jdk安裝
$path 環境變量 創建 mkdir jdk1.8 jdk .tar.gz file 設置環境變量 1.在/usr/目錄下創建java目錄 [[email protected]/* */ ~]# mkdir /usr/java[[email prot
[轉] CentOS 7 為firewalld添加開放端口及相關資料
span 查看版本 復制代碼 rman usr 開放端口 script centos 7 閱讀 轉自http://www.cnblogs.com/hubing/p/6058932.html 1、運行、停止、禁用firewalld 啟動:# systemctl start
CentOS 7下新建用戶並設置為可提升為ROOT權限
linux root 權限 第一步:添加用戶命令:#adduser tom <!--此處以用戶tom為例-->第二步:修改密碼命令:#passwd tom根據提示輸入兩次密碼,完成密碼設置。第三步:設置用戶權限 方法一:修改 /etc/sudoers 文件(推薦方法) 命
修改Linux/Centos 7下的默認網卡名
linux centos eth0 在使用linux/Centos 7時可能大家會發現在安裝好系統後默認的網卡名是一個隨機數,在使用的過程中使用極為不便,linux/Centos 7的這種改變是因為在systemd和udev中引入新的網卡命名技術,可以在舊硬件壞了後更換新硬件後可以重命名設備
CentOS 7下搭建高可用集群
default pacemaker local 時間同步 use 告訴 -c ddr 目標 一 、安裝集群軟件 必須軟件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相關服務,也要安裝對應的軟件。 二、配置防火墻1、禁止防火墻和
CentOS 7 下安裝 Nginx
表達 dev 默認 tro 二次 編譯 stc style idc CentOS 7 下安裝 Nginx [日期:2016-09-05] 來源:Linux社區 作者:mafly [字體:大 中 小] 轉載:http://www.linu
CentOS 7下修改默認網卡名為eth0的兩種方法
修改網卡eth0第一種方式這種方式適合在安裝操作系統的時候進行設置,點擊 Tab,打開kernel啟動選項,增加內核參數: net.ifnames=0 biosdevname=0--->Enter回車第二種方式修改網卡配置文件中的 DEVICE= 參數的關於 eth0[root@ansheng ~]
關於linux-Centos 7下mysql 5.7.9的rpm包的安裝方式
mysql 5.7.9的rpm包的安裝方環境介紹>>>>>>>>>>>>>>>>>>操作系統:Centos 7.1mysql數據庫版本:mysql5.7.9mysql官方網站:http://www.my
centos 7 關閉firewalld開啟iptables
start stat sel tar bsp linux 開機 reject 系統 1: 關閉系統高級防火墻firewalld systemctl stop firewalld.service #停止firewall systemctl disable firewall
Centos 7 下安裝 samba 服務
創建 oba art man rect 匿名訪問 登陸 sys 工作站 yum install samba 配置文件在:/etc/samba/smb.conf [global] #添加下面這句 map to guest = Bad User #這個選項是保證匿名
CentOS 7下tomcat應用服務簡易安裝部署
grep cat -s syn disable home from normal term 依賴基礎軟件:1、 CentOS7.2 64位操作系統2、 ORACLE JDK 1.8 64位 3、 APACHE Tomcat 8.5.6 首先部署安裝centos操作系統
CentOS 7下搭建配置SVN服務器
col 目錄 賬號密碼 .cn .html 亂碼 錯誤 dmi cal 原文鏈接:https://www.cnblogs.com/tdalcn/p/6937714.html 同步:http://blog.csdn.net/u011884440/article/details
linux-Centos 7下bond與vlan技術的結合
bond與vlan技術服務器eno1與eno2作bonding,捆綁成bond0接口,服務器對端交換機端口,同屬於301、302號vlan接口vlan 100: 10.104.100.253/24 vlan 101: 10.104.101.253/241.交換機端沒有打
Linux運維高級篇—CentOS 7下Postfix郵件服務器搭建
linux下構建postfix郵件服務器第一章 實驗環境 硬件環境:Linux服務器一臺,IP地址:192.168.80.10;WIN7客戶端一臺,擁有OUTLOOK2013,測試用,與服務器在同一局域網內。 Linux系統環境,如下圖: 第二章 實驗內容一:搭建DNS服務器二:搭建postfix服務