centos 7下iptables 的安裝和使用

說明:Centos 7 默認的防火牆是 firewall ,鑑於 iptables 使用的比較廣,本文簡要介紹在 CentOS7.0 系統下 iptables 服務的安裝以及相關的使用方法。tcp

禁用 firewall 開機啓動


  • 爲了防止與 iptables 服務衝突,先禁用 firewall 開機啓動使用systemctl status firewalld
    查看服務狀態,active/inactive代表服務是運行/關閉狀態(以下圖)spa

systemctl status firewalldcode

圖片描述

  • 若是服務是運行狀態,先關閉 firewall 服務,命令以下:vps

systemctl stop firewalld接口

  • 中止之後而後執行下面命令禁用圖片

systemctl disable firewalldip


安裝 iptables


yum install -y iptables-services域名

啓動 iptables

systemctl start iptablesit

ortable

service iptables start

iptables簡單配置


清除已有iptables規則

iptables -F
iptables -X
iptables -Z

開放指定的端口

註釋:-A 從尾部添加 -I從開頭添加
容許本地迴環接口(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
容許已創建的或相關連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
容許全部本機向外的訪問
iptables -A OUTPUT -j ACCEPT
容許訪問22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
容許訪問80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
容許FTP服務的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
若是有其餘端口的話,規則也相似,稍微修改上述語句就行

禁止其餘未容許的規則訪問(注意:若是22端口未加入容許規則,SSH連接會直接斷開。)
1).用DROP方法
iptables -A INPUT -p tcp -j DROP
2).用REJECT方法
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
3).屏蔽IP
屏蔽單個IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
封IP段即從123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
4).查看已添加的iptables規則
iptables -L -n
v:顯示詳細信息,包括每條規則的匹配包數量和匹配字節數
x:在 v 的基礎上,禁止自動單位換算(K、M) vps偵探
n:只顯示IP地址和端口號,不將ip解析爲域名
5).刪除已添加的iptables規則

將全部iptables以序號標記顯示,執行:
iptables -L -n --line-numbers

好比要刪除INPUT裏序號爲8的規則,執行:
iptables -D INPUT 8
6).iptables的開機啓動及規則保存

CentOS上可能會存在安裝好iptables後,iptables並不開機自啓動,能夠執行一下:
chkconfig --level 345 iptables on
或者
systemctl enable iptables.service

將其加入開機啓動。CentOS上能夠執行:service iptables save保存規則

相關文章
相關標籤/搜索