centos7防火牆firewalld及iptable配置命令

firewalld

firewalld常用命令

firewall-cmd --state                           ##查看防火牆狀態,是否是running
firewall-cmd --reload                          ##重新載入配置,比如添加規則之後,需要執行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服務,在列表中的服務是放行的
firewall-cmd --query-service ftp               ##查看ftp服務是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##臨時開放ftp服務
firewall-cmd --add-service=ftp --permanent     ##永久開放ftp服務
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服務
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看規則,這個命令是和iptables的相同的
man firewall-cmd                                ##查看幫助

更多命令,使用  fire  wall-cmd --help 查看幫助文件

firewalld命令用法實例

開啓80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:
--zone               #作用域
--add-port=80/tcp    #添加端口,格式爲:端口/通訊協議
--permanent          #永久生效,沒有此參數重啓後失效
開啓防火牆
systemctl start firewalld.service         #啓動防火牆
關閉防火牆
systemctl stop firewalld.service          #停止firewall
systemctl disable firewalld.service       #禁止firewall開機啓動
重啓防火牆
firewall-cmd --reload
查看防火牆狀態
systemctl status firewalld.service
查看防火牆規則
iptables -L -n

iptables

CentOS 7.0默認使用的是firewall作爲防火牆,使用iptables必須重新設置一下

1、直接關閉firewalld防火牆
systemctl stop firewalld.service           #停止firewall
systemctl disable firewalld.service     #禁止firewall開機啓動
2、安裝 iptables service
yum -y install iptables-services
如果要修改防火牆配置,如增加防火牆端口3306
vi /etc/sysconfig/iptables 
增加規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出後
systemctl restart iptables.service #重啓防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啓動
最後重啓系統使設置生效。

iptables配置

查看iptables配置:iptables -L -n
添加常用端口規則:
#允許對外請求的返回包
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#允許icmp包通過
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
#允許來自於lo接口的數據包,如果沒有此規則,將不能通過127.0.0.1訪問本地服務
iptables -A INPUT -i lo -j ACCEPT
 
#常用端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

#過濾所有非以上規則的請求
iptables -P INPUT DROP

#如果要添加內網ip信任(接受其所有TCP請求)
#注:(**.**.**.**)爲IP,下同
iptables -A INPUT -p tcp -s **.**.**.** -j ACCEPT

#要封停一個IP,使用下面這條命令
iptables -I INPUT -s **.**.**.** -j DROP
#要解封一個IP,使用下面這條命令
iptables -D INPUT -s **.**.**.** -j DROP

保存重啓防火牆
/etc/init.d/iptables save
service iptables restart

學習博客:

https://blog.csdn.net/qq_43308140/article/details/90443818
https://www.cnblogs.com/xxoome/p/7115614.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章