iptables

iptables

iptables:netfilter包过滤防火墙,内核态,不以程序或文件形式存在

:iptables命令程序,用户态,位于/sbin/iptables

iptables主要工作在OSI七层中的二、三、四层

iptables < 表 < 链 < 规则

/etc/sysconfig/iptables          //防火墙主配置文件

iptables-save  >  iptables.txt(/etc/sysconfig/iptables)

/etc/init.d/iptables save //永久保存防火墙配置信息

iptables  -A  INPUT  -i  lo  -j  ACCEPT   //禁ping后,可以让防火墙自己ping自己

 

1.1 工作流程

在链中从上至下匹配规则,匹配时,按顺序,遵循“匹配即停止”,如果没有规则与其匹配,则按默认规则处理

 

1.2 四表

filter:对数据包进行过滤,默认表

包含:INPUT  FORWARD  OUTPUT

 

nat:网络地址转换,源与目的IP和端口的转换(-t nat)

包含:PREROUTING  OUTPUT  POSTROUTING

 

mangle:修改数据包

包含:INPUT  FORWARD  OUTPUT  PREROUTING  POSTROUTING

 

raw:决定是否对数据包新型状态跟踪

包含:OUTPUT  PREROUTING

 

1.3 五链

INPUT:入站

FORWARD:转发

OUTPUT:出站

PREROUTING:进来时(对数据包进行改变)(外网---内网)路由之前,进行地址映射转换,把目标地址进行转换(目标公网地址==>目标变为私网地址

POSTROUTING:即将出去时(对数据包进行改变)(内网---外网)路由之后,进行地址映射转换,把源地址进行转换(源私网地址==>源公网地址

 

 

1.4 选项规格

iptables  [-t 表名]  选项 链名  [匹配条件]   -j  控制类型

-A //链的末尾添加一条新规则

-I //链的首行添加一条新规则

-D //删除某一条规则

-F //清空表中所有规则链

-n //以数字形式显示输出结果

-L //列出所有规则

-v //显示详细信息

--line-numbers //查看规则表时显示规则在链中的序号

iptables  -D  INPUT  1//删除INPUT链中序号为1的规则

-R //修改,替换指定链中的某一条规则

-X //清空自定义链配置

-Z    //清除防火墙计数器

-P //设置默认策略

 

1.5 匹配条件

通用匹配:

-p 协议名 //协议匹配

-s 源地址  /  -d 目标地址 //地址匹配

-i 接口名(入)  /  -o 接口名(出) //接口匹配

隐含匹配:

--sport  源端口 / --dport  目标端口 //端口匹配

--icmp-type  ICMP类型 //ICMP匹配

8 //请求

0 //回显

3 //不可达

显示匹配:

-m  multiport  --dports 20,21,22,80,443,3306(使用逗号分隔)

-m  multiport  --sports  多端口匹配(20:80   20到80端口)

-m  iprange  --dst-rang  10.0.0.0-10.0.10.0

-m  iprange  --src-rang  IP地址范围匹配

-m mac  --mac-source  MAC地址 MAC地址匹配

-m  state  --state  连接状态 状态匹配

 ESTABLISHED//响应请求或已建立的连接

 RELATED//与已有链接有相关性的

 NEW//新的,第一个包

 

 

1.6 控制类型

ACCEPT //允许

DROP //丢弃

REJECT //拒绝(会有拒绝访问的回馈信息)

LOG //在 /var/log/messages 文件中记录日子信息,然后传给下一条规则

 

1.7 SNAT

源地址转换:

iptables  -t  nat  -A  POSTROUTING  -s  172.16.1.0/24  -j  SNAT  --to-source  10.0.0.233

##172.16.1.0 网段主机访问外网时包映射出去的源地址是10.0.0.233

 

1.8 DNAT

iptables  -t  nat  -A  PREROUTING  -d  41.0.6.7  -p  tcp  --dport  80  -j  DNAT  --to-destination  192.168.1.100

##访问 41.0.6.7 的80端口时,映射(转接)到192.168.1.100上的80端口

 

1.9 

实例拓展:回复刚刚断掉的ssh连接

1. 去机房重启系统或者登陆服务器删除刚刚禁止的规则

2. 让机房人员重启服务器或让机房人员拿用户密码登陆进去

3. 通过服务器的远程管理卡(推荐)

4. 写一个定时任务,每五分钟就停止防火墙

5. 测试环境测试好,写成脚本,批量执行

 

路由选路基本原则:

1. 静态路由优先于动态路由

2. 直连路由优先于静态路由

 

开启路由转发

[root@localhost ~]# grep 'net.ipv4.ip_forward =' /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值