学习 研究
探索 提升

CentOS7下配置 iptables及常用规则

 iptables也叫netfilter,是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,他的功能十分强大,使用也非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。

在有些OpenVZ的VPS里无法在Centos7上使用Firwalld,所以iptables成为了备选的方案,但是iptables在CentOS7的版本上已经被阉割掉了,我们需要自行安装,以下是在CentOS7下安装iptables和使用方式。

一、安装iptables
1.1、查看是否已经安装命令

systemctl status iptables

1.2、安装iptables

yum install iptables-services

1.3、检查是否安装成功

systemctl status iptables

1.4、启动iptables

systemctl start iptables.service

1.5启用iptables开机启动

systemctl enable iptables.service

1.6、关闭SELINUX
这里需要关闭SELINUX,因为当SELINUX不关闭时,iptables不读取配置文件,

二、命令
2.1、系统命令

systemctl start iptables #启动

systemctl status iptables #查看运行状态

systemctl restart iptables.service #重启

systemctl stop iptables.service #停止

systemctl enable iptables.service #设置开机启动

systemctl disable iptables.service #禁止开机启动

2.2、常用命令

iptables -h #查询帮助

iptables -L -n #列出(filter表)所有规则

iptables -L -n --line-number #列出(filter表)所有规则,带编号

iptables -L -n -t nat #列出(nat表)所有规则

iptables -F #清除(filter表)中所有规则

iptables -F -t nat #清除(nat表)中所有规则

service iptables save #保存配置(保存配置后必须重启iptables)

systemctl restart iptables.service #重启

三、语法
3.1、filter表解析

filter表是iptables默认使用的表,负责对流入、流出本机的数据包进行过滤,该表中定义了3个链,分别是:INPUT、OUTPUT、FORWARD

INPUT:过滤进入主机的数据包

OUTPUT:处理从本机出去的数据包

FORWARD:负责转发流经本机但不进入本机的数据包,起到转发作用

3.2、iptables常用语法
-A:追加到规则的最后一条

-D:删除记录

-I:添加到规则的第一条

-p:(proto)规定通信协议,常见的协议有:tcp、udp、icmp、all

-j:(jump)指定要跳转的目标,常见的目标有:ACCEPT(接收数据包)、DROP(丢弃数据包)、REJECT(重定向)三种,但是一般不适用重定向,会带来安全隐患

四、常见案例

4.1、IP过滤

禁止192.168.1.3 IP地址的所有类型数据接入

iptables -A INPUT ! -s 192.168.1.3 -j DROP

4.2、开放端口
开放端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放80端口

开放端口范围

iptables -I INPUT -p tcp --dport 22:80 -j ACCEPT #开发22-80范围的端口

不允许80端口流出

iptables -I OUTPUT -p tcp --dport 80 -j DROP

4.3、端口转发

如需IP转发,需要开启IP转发功能

echo 1 >/proc/sys/net/ipv4/ip_forward

默认值0是禁止ip转发,修改为1即开启ip转发功能。

把访问本机 8091 端口的请求转发到 8090端口

iptables -t nat -A PREROUTING -p tcp --dport 8091 -j REDIRECT --to-ports 8090

把访问本机 8093 端口的请求转发到 192.168.1.3 的 8090端口

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8093 -j DNAT --to 192.168.1.3:8090

放行GRE隧道

iptables -I INPUT -p gre -j ACCEPT

增加或修改配置后需要保存配置后重启iptables

service iptables save
service iptables restart
未经允许不得转载:HYBRID » CentOS7下配置 iptables及常用规则

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址