iptables学习笔记

1. iptables官网及名称

官网

iptables全称为netfilter/iptables,是linux平台下自带的开源包过滤防火墙

2. iptables功能

  • 包过滤(重点)
  • NAT(重点)
  • 协助实现策略路由和流量控制(拓展)
  • 包标记(拓展)

3. iptables组成

1. 规则

iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为"如果数据包头符合这样的条件,就这样处理这个数据包".

规则存储在内核空间的数据包过滤表中,这些规则分别制定了源地址、目的地址、传输协议(TCP,UDP,ICMP)和服务类型(HTTPFTP)等。

当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,比如放行(ACCEPT)、拒绝(REJECT)、丢弃(DROP)等

2. 链

当客户端访问服务器端的WEB服务时,客户端发送访问请求报文至网卡,而TCP/IP协议栈是属于内核的一部分,所以,客户端的请求报文会通过内核的TCP协议传输到用户空间的WEB服务,而客户端报文的目标地址为WEB服务器所监听的套接字(IP:PORT)上,当web服务器响应客户端请求时,web服务所回应的响应报文的目标地址为客户端地址,我们说过,netfilter才是真正的防火墙,属于内核的一部分,所以,我们要想让netfilter起到作用,我们就需要在内核中设置关口,所以进出的数据报文都要通过这些关口,经检查,符合放行条件的准许放行,符合阻拦条件的则被阻止,于是就出现了inputoutput关口,然而在iptables中我们把关口叫做链。

3. 五条链

  • INPUT
  • OUTPUT
  • FORWARD
  • PREROUTING
  • POSTROUTING

4. 四张表

  • filter: 实现对数据包的过滤
  • nat: 主要修改数据包的地址和端口,例如源地址或目标地址
  • mangle:对数据包进行修改,例如给数据包打标机MARK
  • raw: 主要做连接追踪

4. iptables-service安装

只要有iptables命令就可以写规则,但是在centos7上软件包不安装完全,是没有iptables服务的(主要安装iptables-services软件包)

yum -y install iptables-services
# 设置开机自启
systemctl enable iptables.service
systemctl start iptables.service

# 查看状态
systemctl status iptables

5. iptables策略管理

-A	增加一条规则,后接链名,默认是加到规则的最后面
-D	删除
-L	列出规则
-n	以数值显示
-I	在最前面插入规则
-v	显示统计数据,与-L一起用,看到的信息更多

-F	清空规则
-z	清空计数器
-x	清空自定义链

-t	后接表名
-P	policy,默认策略
-p	protocol,后接协议名
--dport	目标端口
--sport	源端口
-d	description,目标地址
-s	source,源地址
-i	接网卡接口,进入的网卡接口
-o	接网卡接口,出去的网卡接口
-j	后接动作

动作的分类:

ACCEPT		接收数据包
DROP		丢弃数据包
REJECT		拒绝数据包,和DROP的区别就是REJECT会返回错误信息,DROP不会
MASQUEREAD	IP地址伪造,使用NAT转换成外网IP,可以PPP拨号(外网IP不规定情况)
SNAT		源地址转换,它与MASQUEREAD的区别是SNAP是接一个固定IP
DNAT		目标地址转换
LOG			记录日志

查看规则

注意:不指定表,默认为filter表

iptables -L
iptables -t filter -L
iptables -t nat -L
iptables -t mangle -L
iptables -t raw -L

清空默认规则

这三张表可能有默认的规则,我们先把规则清除掉

iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

保存规则

service iptables save

6. iptables示例

仅允许80端口放行,其他访问都拒绝

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 80 -i ACCEPT
service iptables save

推荐文章

iptables详解

posted @ 2020-05-08 11:43  if年少有为  阅读(373)  评论(0编辑  收藏  举报