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

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)

    分享創造快樂