防火牆配置html
CentOS 7默認使用的是firewall做爲防火牆,這裏改成iptables防火牆。bash
firewall操做:tcp
# service firewalld status; #查看防火牆狀態post
(disabled 代表 已經禁止開啓啓動 enable 表示開機自啓,inactive 表示防火牆關閉狀態 activated(running)表示爲開啓狀態)spa
# service firewalld start; 或者 #systemctl start firewalld.service;#開啓防火牆rest
# service firewalld stop; 或者 #systemctl stop firewalld.service;#關閉防火牆htm
# service firewalld restart; 或者 #systemctl restart firewalld.service; #重啓防火牆blog
# systemctl disable firewalld.service#禁止防火牆開啓自啓接口
# systemctl enable firewalld#設置防火牆開機啓動ip
#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 -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