歡迎光臨
每天分享高質量文章

CentOS 7 上的防火牆設定簡明教程 | 以阿裡雲為例

作者Crystaleone

馬哥教育金牌助教,國內一線高階運維工程師,4年運維經驗,熟悉linux系統管理和python運維開發等;有獨特的自學秘籍,擅長總結知識化為實戰。


最近公司又上了一臺伺服器,以前都是用 CentOS 6 系統,這次選擇使用了 CentOS  7 系統的安裝映象,因為現在程式版本在 CentOS 7 上一般 php 預設就是 5.4 以上的,MySQL 也變成了 mariadb ,但使用都一樣而已, Apache 安裝的 httpd 程式也是 2.4 的版本,所以就算 yum 安裝基本服務也是比較新一些的版本吧。

公司撥款後就在阿裡雲後臺買了臺主機,直接 yum 裝的 LAMP ,新增虛擬主機的配置檔案這裡就不說了,網上一堆的配置檔案,只記錄下,在 CentOS 7 上遇到的坑。 

LAMP 環境都搭好,配置檔案也準備好了,域名指向也都做好了。開始做 iptbales 防火牆設定了,此時遇到坑了。本以為在 CentOS 7 上,只是使用 firewalld 控制 iptables 的啟動與停止等相關操作,不成想根本不是那麼回事,害的小弟我吭哧吭哧查半天問題。

要想在阿裡雲主機上使用 CentOS 7 的防火牆,預設的是 firewalld 程式,如果對此程式配置命令不熟悉,還是使用 iptables 的程式來控制防火牆吧。我是先把 firewalld 程式關閉了且禁止開機啟動:

# systemctl stop firewalld.service
# systemctl disable firewalld.service

然後就是,安裝 iptables 防火牆,開啟防火牆,進行配置即可。

否則,我一開始上來在 CentOS 7 上啟用:

systemctl start firewalld.service

然後,就用 iptables 添加了放行的各種規則, INPUT 預設設為 DROP , FORWARD 預設設為 DROP , OUTPUT 預設為 ACCEPT 。

iptables -P INPUT DROP

當設定後,網站就掛了,經過多次折騰,判斷就是這條紅色命令的問題,後來又是在網上一通查,最終問題的 firewalld 的問題,對 firewalld 不熟悉,只好安裝 CentOS 6 中通用的 iptables 查詢,來設定防火牆。

下麵就是網上找的在CentOS 7上設定防火牆方法,親測放心使用。

安裝iptables防火牆
yum install iptables-services #安裝
vi /etc/sysconfig/iptables #編輯防火牆配置檔案
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #儲存退出
systemctl restart iptables.service #最後重啟防火牆使配置生效
systemctl enable iptables.service #設定防火牆開機啟動

因為從網上找的檔案,也怕踩坑,所以,剛開始我還是使用 iptables 命令,一條條設定的規則,藉此機會,也說明下,阿裡雲設定防火牆遇到的坑。

為了方便說明,檢視序號的規則:

首先說明,預設規則:

INPUT鏈為DROP

FORWARD鏈為DROP

OUTPUT鏈為ACCEPT;

15條規則解釋如下:

1:80、8080埠是對外開放的web服務埠,22122為ssh埠;

2:開放本地127.0.0.1迴環介面,放行本地主機內部通訊;

3:放行icmp即允許ping通本機;

4:放行RELATED:相關聯的連線;放行ESTABLISHED:連線追蹤模板當中存在的記錄的連線;

註意:此條不新增,阿裡雲主機的安騎士功能agent會顯示離線;關於阿裡雲主機web頁面的相關設定,以後有空再做敘述。

5、6:放行阿裡雲dns伺服器的地址;

7、8:放行公司的ip訪問伺服器所有埠;

9-15:為阿裡雲提供的放行安騎士的ip和埠,連結為:https://help.aliyun.com/document_detail/31776.html?spm=5176.product28449.6.116.Llvb9n

按照上述方法,設定防火牆後,儲存規則即可。

本文作者Crystaleone,馬哥教育經授權後釋出,文章版權歸原創作者所有。

踐行開源精神,加入原創作者請聯絡:jinke.wang@magedu.com。

《Linux雲端計算及運維架構師高薪實戰班》2018年05月14日即將開課中,120天衝擊Linux運維年薪30萬,改變速約~~~~

    *宣告:推送內容及圖片來源於網路,部分內容會有所改動,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。

    – END –


    更多Linux好文請點選【閱讀原文】

    ↓↓↓

    贊(0)

    分享創造快樂