Linux centos修改防火牆為iptables


防火牆配置

 CentOS 7默認使用的是firewall作為防火牆,這里改為iptables防火牆。

 firewall操作:

# service firewalld status; #查看防火牆狀態

 (disabled 表明 已經禁止開啟啟動 enable 表示開機自啟,inactive 表示防火牆關閉狀態 activated(running)表示為開啟狀態)

# service firewalld start;  或者 #systemctl start firewalld.service;#開啟防火牆

# service firewalld stop;  或者 #systemctl stop firewalld.service;#關閉防火牆

# service firewalld restart;  或者 #systemctl restart firewalld.service;  #重啟防火牆

# systemctl disable firewalld.service#禁止防火牆開啟自啟

 # systemctl enable firewalld#設置防火牆開機啟動

#yum remove firewalld#卸載firewall

 禁用/停止自帶的firewalld服務

systemctl stop firewalld  #停止firewalld服務  

systemctl mask firewalld  #禁用firewalld服務  

安裝iptables防火牆及操作:

service iptables status    #先檢查是否安裝了iptables  

yum install -y iptables   #安裝iptables  

yum update iptables   #升級iptables  

yum install iptables-services  #安裝iptables-services  

設置現有規則

iptables -L -n  #查看iptables現有規則  

iptables -P INPUT ACCEPT  #先允許所有,不然有可能會杯具  

iptables -F  #清空所有默認規則  

iptables -X  #清空所有自定義規則  

iptables -Z  #所有計數器歸0  

iptables -A INPUT -i lo -j ACCEPT  #允許來自於lo接口的數據包(本地訪問)  

iptables -A INPUT -p tcp --dport 22 -j ACCEPT  #開放22端口  

iptables -A INPUT -p tcp --dport 21 -j ACCEPT  #開放21端口(FTP)  

iptables -A INPUT -p tcp --dport 80 -j ACCEPT #開放80端口(HTTP)   

iptables -A INPUT -p tcp --dport 443 -j ACCEPT  #開放443端口(HTTPS)  

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  #允許ping  

iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT  #允許接受本機請求之后的返回數據 RELATED,是為FTP設置的  

iptables -P INPUT DROP  #其他入站一律丟棄  

iptables -P OUTPUT ACCEPT  #所有出站一律綠燈  

iptables -P FORWARD DROP  #所有轉發一律丟棄  

其他規則設定

iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT  #如果要添加內網ip信任(接受其所有TCP請求)  

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

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

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

保存規則設定

service iptables save  #保存上述規則  

開啟iptables服務

systemctl enable iptables.service  #注冊iptables服務  相當於以前的chkconfig iptables on  

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