centos6云服務器使用iptables防火墻的方法:1、打開centos6云服務器終端控制臺;2、輸入“yum install -t iptables”命令安裝iptables防火墻;3、安裝iptables防火墻成功后,設置防火墻規則即可。
具體內容如下:
我們需要先準備好一臺部署CentOS 6的云服務器,并確保可以用root賬戶登錄系統。
第一步:規劃iptables規則
在本文的演示環境中,這臺云服務器將提供網站服務,不提供其他服務,諸如FTP、郵件、IRC等。我們規劃的需要開啟的服務、協議和端口如下表,除此之外全部屏蔽。
服務 | 協議 | 端口 |
---|---|---|
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
SSH | TCP | 22 |
NTP | TCP | 123 |
DNS | TCP & UDP | 53 |
Ping | ICMP | All |
正如上文所述,iptables是由一系列的規則來控制網絡訪問的。當網絡數據包發送到云服務器上時,iptables將會依次按照這些規則來檢測并處理數據包。如果滿足某條規則,其他規則將被略過。如果沒有滿足任何規則,則使用iptables的默認規則來處理。
網絡數據包分為三類:INPUT、OUTPUT、FORWARD。對于這三類數據包,我們將采取不同的處理方式,這也作為iptables的默認規則使用。
INPUT:流入數據包可能是安全的,也可能是有害的,因此需要區別對待。
OUTPUT:流出數據包通常認為是安全的,因此設置為接受。
FORWARD:轉發數據包一般沒有用處,因此設置為丟棄。
第二步:創建iptables規則
好了,下面我們就根據規劃來設置iptables防火墻規則。以下命令都是用root賬戶登錄系統后執行的,請確保登錄賬戶有root權限。
查看當前規則:
iptables -L -n
清空當前規則:
iptables -F; iptables -X; iptables -Z
拒絕來自127.0.0.0/8的流量,除了loopback(回環流量)之外:
iptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -d 127.0.0.0/8 -j REJECT
阻止一些常見的攻擊:
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROPiptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
接受所有已建立的流入連接:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
接受HTTP和HTTPS連接:
iptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 443 -j ACCEPT
接受SSH連接:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
接受NTP連接:
iptables -A INPUT -p udp --dport 123 -j ACCEPT
接受DNS請求:
iptables -A INPUT -p udp --dport 53 -j ACCEPTiptables -A INPUT -p tcp --dport 53 -j ACCEPT
允許Ping:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
最后,設置iptables默認規則:
iptables -P INPUT DROPiptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
第三步:保存iptables規則
需要注意的是,雖然以上設置都是即時生效的,但并非永久有效。如果沒有保存,一旦系統重啟后,規則將會失效。因此我們還需要把剛才設置好的規則保存到云服務器硬盤中。保存iptables的規則是:
service iptables save
iptables的規則將被保存到/etc/sysconfig/iptables文件中,你可以直接查看或修改這個文件。
cat /etc/sysconfig/iptables
我被鎖在外面了,怎么辦?
因為iptables的規則都是即時生效的,所以我們一旦設置錯誤,就有可能把自己鎖在外面,無法遠程管理云服務器了,怎么辦呢?有兩種解決辦法。
如果你還沒保存iptables規則,那很簡單,只要到億速云管理中心=》業務管理=》云服務器管理中,執行重啟云服務器即可。
如果你已經保存了iptables規則,別忘了還可以通過控制臺管理云服務器。打開億速云管理中心=》業務管理=》云服務器管理=》控制臺,輸入用戶名和密碼進入系統后,執行iptables -F命令,清空所有iptables規則,就可以遠程進入系統了。