CentOS7安裝iptables防火牆


轉載請注明出處:http://blog.csdn.net/l1028386804/article/details/50779761

 

CentOS7默認的防火牆不是iptables,而是firewalle.

 

安裝iptable iptable-service

#先檢查是否安裝了iptables 
service iptables status 
#安裝iptables 
yum install -y iptables 
#升級iptables 
yum update iptables  
#安裝iptables-services 
yum install iptables-services 

禁用/停止自帶的firewalld服務

#停止firewalld服務 
systemctl stop firewalld 
#禁用firewalld服務 
systemctl mask firewalld 

設置現有規則

#查看iptables現有規則 
iptables -L -n 
#先允許所有,不然有可能會杯具 
iptables -P INPUT ACCEPT 
#清空所有默認規則 
iptables -F 
#清空所有自定義規則 
iptables -X 
#所有計數器歸0 
iptables -Z 
#允許來自於lo接口的數據包(本地訪問) 
iptables -A INPUT -i lo -j ACCEPT 
#開放22端口 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
#開放21端口(FTP) 
iptables -A INPUT -p tcp --dport 21 -j ACCEPT 
#開放80端口(HTTP) 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
#開放443端口(HTTPS) 
iptables -A INPUT -p tcp --dport 443 -j ACCEPT 
#允許ping 
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT 
#允許接受本機請求之后的返回數據 RELATED,是為FTP設置的 
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT 
#其他入站一律丟棄 
iptables -P INPUT DROP 
#所有出站一律綠燈 
iptables -P OUTPUT ACCEPT 
#所有轉發一律丟棄 
iptables -P FORWARD DROP 

其他規則設定

#如果要添加內網ip信任(接受其所有TCP請求) 
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT 
#過濾所有非以上規則的請求 
iptables -P INPUT DROP 
#要封停一個IP,使用下面這條命令: 
iptables -I INPUT -s ***.***.***.*** -j DROP 
#要解封一個IP,使用下面這條命令: 
iptables -D INPUT -s ***.***.***.*** -j DROP 

保存規則設定

#保存上述規則 
service iptables save

開啟iptables服務

#注冊iptables服務 
#相當於以前的chkconfig iptables on 
systemctl enable iptables.service 
#開啟服務 
systemctl start iptables.service 
#查看狀態 
systemctl status iptables.service 

解決vsftpd在iptables開啟后,無法使用被動模式的問題

1.首先在/etc/sysconfig/iptables-config中修改或者添加以下內容

#添加以下內容,注意順序不能調換 
IPTABLES_MODULES="ip_conntrack_ftp" 
IPTABLES_MODULES="ip_nat_ftp" 

2.重新設置iptables設置

iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT 

以下為完整設置腳本

#!/bin/sh 
iptables -P INPUT ACCEPT 
iptables -F 
iptables -X 
iptables -Z 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
iptables -A INPUT -p tcp --dport 21 -j ACCEPT 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -p tcp --dport 443 -j ACCEPT 
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT 
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -P INPUT DROP 
iptables -P OUTPUT ACCEPT 
iptables -P FORWARD DROP 
service iptables save 
systemctl restart iptables.service


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM