Linux学习记录(16)netfilter以及iptables概念及操作
2015-10-14 10:50
555 查看
今天学习了iptables以及netfilter相关的知识,这个两个功能是对访问或发出去的流量进行控制的,比如Linux服务器受到了攻击,那么这个服务器就可以根据攻击的IP地址,拒绝接受这个IP地址的流量,以达到不被攻击的目的,当然这只是其中一个作用。
首先说明一下这两者的关系:netfilter是Linux系统的内核的功能,但是用户不能直接对netfilter进行修改等操作,对用户来说,我们使用iptables这个程序来对netfilter进行控制,以达到我们拦截过滤的目的。
其中有几个概念要介绍一下:
1、chain(过滤点):所谓的过滤点,就是在数据发送传播的途中的“关卡”,一共有5个,分别是INPUT(输入),FORWARD(转发),OUTPUT(输出),PREROUTING(路由前),POSTROUTING(路由后)
2、tables(表):表只是一个名称,我们这里可以看做是“关卡”上的士兵,一共有三种士兵,他们管理的点和方向不一样。有filter,nat和mangle三种。
其中filter只能在INPUT,FORWARD,OUTPUT过滤拦截。
nat只能在OUTPUT,PREROUTING,POSTROUTING进行操作。
而mangle能对全部的过滤点进行操作。
表如下:
3、iptables规则:每个过滤条件称为一个“规则”。每个规则占用一行配置。在配置文件中,规则的顺序是一定要注意的,因为在进行条件匹配时,会根据规则的顺序匹配,比如有两个配置,一个是允许10.1.1.1的流量通过。一个是不允许10.*.*.*的流量通过,那么这两条规则的顺序改变了,最后的结果也是不一样的,因为他会在匹配到规则之后立即处理,而不管后边是否还有别的规则。
4、(注意,以下命令都是临时修改,重启后即消失)
若想永久保存配置,则要使用service iptables save命令永久保存
配置文件的位置在/etc/sysconfig/iptables文件中。
5、参数匹配
在新增配置时,不同的过滤参数对应的前缀也不同
(1)-s 原地址 -d 目标地址
(2)-i 从哪个接口(网卡)接收的 -o 从哪个接口(网卡)发送的
(3)-s '!' 排除该参数
(4)-p 协议名称--dport 端口号 数据的目标端口 -p 协议名称--sport 端口号 数据的来源端口
首先说明一下这两者的关系:netfilter是Linux系统的内核的功能,但是用户不能直接对netfilter进行修改等操作,对用户来说,我们使用iptables这个程序来对netfilter进行控制,以达到我们拦截过滤的目的。
其中有几个概念要介绍一下:
1、chain(过滤点):所谓的过滤点,就是在数据发送传播的途中的“关卡”,一共有5个,分别是INPUT(输入),FORWARD(转发),OUTPUT(输出),PREROUTING(路由前),POSTROUTING(路由后)
2、tables(表):表只是一个名称,我们这里可以看做是“关卡”上的士兵,一共有三种士兵,他们管理的点和方向不一样。有filter,nat和mangle三种。
其中filter只能在INPUT,FORWARD,OUTPUT过滤拦截。
nat只能在OUTPUT,PREROUTING,POSTROUTING进行操作。
而mangle能对全部的过滤点进行操作。
表如下:
chain | filter | nat | mangle |
INPUT | v | v | |
FORWARD | v | v | |
OUTPUT | v | v | v |
PREROUTING | v | v | |
POSTROUTING | v | v |
4、(注意,以下命令都是临时修改,重启后即消失)
//列出当前所有规则 iptables -L //添加规则 iptables -I 过滤点 排序位置 -p/s/d/i/o 过滤条件 -j 动作 //删除规则 iptables -D 过滤点 排序位置 //删除全部规则 iptables -F
若想永久保存配置,则要使用service iptables save命令永久保存
配置文件的位置在/etc/sysconfig/iptables文件中。
5、参数匹配
在新增配置时,不同的过滤参数对应的前缀也不同
(1)-s 原地址 -d 目标地址
(2)-i 从哪个接口(网卡)接收的 -o 从哪个接口(网卡)发送的
(3)-s '!' 排除该参数
(4)-p 协议名称--dport 端口号 数据的目标端口 -p 协议名称--sport 端口号 数据的来源端口
相关文章推荐
- linux的那些坑爹事
- 学习日志---linux打卡9
- linux 解决非root用户用SSH不能无密码登陆本机问题。
- 在SD卡上安装树莓派的操作系统 - Linux版
- linux下杀死进程(kill)的N种方法
- linux 线程学习之条件变量
- [国嵌笔记][011][Linux密码破解]
- Centos下如何截图
- CentOS用host、dig、nslookup查询DNS命令
- VMware中CentOS设置静态IP
- I.MX6 Linux U-boot 环境变量解析
- centos 64位系统安装
- 【Linux常识篇(2)】理解inode
- 【Linux高频命令专题(19)】vi/vim
- Linux集群系统Heartbeat
- linux下mysql的root密码忘记解决方
- centos7 搭建ntp时钟服务
- Linux安装Git及详细使用
- centos7 搭建本地yum源
- centos7 搭建本地yum源