CentOS7安装iptables防火墙

CentOS7默认的防火墙不是iptables,而是firewalle.mysql

使用方法以下:sql

>>> 关闭防火墙tcp

systemctl stop firewalld.service             #中止firewall
systemctl disable firewalld.service        #禁止firewall开机启动接口

>>> 开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
 命令含义:
--zone #做用域
--add-port=80/tcp #添加端口,格式为:端口/通信协议
--permanent #永久生效,没有此参数重启后失效
>>> 重启防火墙
firewall-cmd --reloadip

经常使用命令介绍
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                               ##查看帮助作用域

更多命令,使用  firewall-cmd --help 查看帮助文件rem

>>>  CentOS 7.0默认使用的是firewall做为防火墙,使用iptables必须从新设置一下
一、直接关闭防火墙
systemctl stop firewalld.service           #中止firewall
systemctl disable firewalld.service     #禁止firewall开机启动get

 

二、安装iptable iptable-servicecmd

#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables(安装的最新版本则不须要)
yum update iptables 
#安装iptables-services
yum install iptables-servicestable

三、禁用/中止自带的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

八、映射端口(如将mysql默认的3306端口映射成1306对外提供服务)

iptables -t mangle -I PREROUTING -p tcp --dport 1306 -j MARK --set-mark 883306  iptables -t nat -I PREROUTING -p tcp --dport 1306 -j REDIRECT --to-ports 3306  iptables -I INPUT -p tcp --dport 3306 -m mark --mark 883306 -j ACCEPT

相关文章
相关标签/搜索