Linux-iptables初识
Linux-iptables初识
了解
- iptables是与Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好的控制IP信息包过滤和防火墙配置。
- netfilter/iptables IP信息包过滤系统是一种强大的工具,可用于添加、编辑和去除规则,这些规则是在做信息包过滤决定时,防火墙所遵守和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。虽然netfilter/iptables IP信息包过滤系统被称为单个实体,但它实际上由两个组建netfilter和iptables组成。
* netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
* ipitables组件是一种工具,也是用户空间(userspace),它使插入、修改和除去信息包过滤表中规则变得容易。 - iptables包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度。
* 四个表:filter、nat、mangle、raw,默认表是filter(没有指定表的时候就是filter表)
filter:一般的过滤功能
nat:端口映射、地址映射等
mangle:用于对特定数据包的修改
raw:优先级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
优先级:raw>mangle>nat>filter
* 五个链:PREROUTING、
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后,目的地为本机
FORWARD:通过路由表后,目的地不是本机
OUTPUT:由本机产生,向外转发
POSTROUTING:发送到网卡接口之前
基本命令
1.查看iptables的四张表
cat /proc/net/ip_tables_names
2.查看iptables表中的规则
iptables -t nat/raw/mangle/filter –L
3.查看iptables中共有哪些target
cat /proc/net/ip_tables_targets
4.清空链中的rule。清空所选链。这等于把所有规则一个个的删除
iptables –t raw/mangle/nat/filter –F
5.删除每个非内建的链
iptables –t /raw/mangle/nat/filter –X
6.查看链中的rule
iptables –t /raw/mangle/nat/filter –L
7.查看iptables的帮助文件
iptables --help
表与链
1.Filter
iptables -L | more
当不指定表明的时候,默认指filter表。more与|连用:可用“空格”翻页,上下箭头翻行
Filter表中的INPUT、FORWARD、OUTPUT三个链
2.NAT
当内网要公布web服务器时,可以使用prerouting链做dnat映射
当内网用户想上网时,可以用postrouting链做snat映射
该NAT表中链有PREROUTING、POSTROUTING、OUTPUT
3.Mangle
主要作用是修改封包的内容。修改IP包头的TTL值,这样也可以保护我们的主机,比如我们将Linux主机送出的封包内的TTL值该为128,让Cracker误以为是Windows系统。另外,TTL(生存周期,每经过一个路由器将减少1.mangle可以修改此值设定TTL要被增加的值,比如–ttl-inc 。假设一个进来的包的TTL是53,那么当它离开我们这台机子时,TTL应是多少呢?是56,原因同–ttl-dec。使用这个选项可以使我们的 防火墙更加隐蔽,而不被trace-routes发现,方法就是设置–ttl-inc 1。原因应该很简单了,包每经过一个设备,TTL就要自动减1,但在我们的防火墙里这个1又被补上了,也就是说,TTL的值没变,那么trace- routes就会认为我们的防火墙是不存在的)。修改IP包头的DSCP值,在网络应用中,有时候需要对某些特定通信协议会有特殊的需求,例如在网络电话的应用环境里,我们会希望VOIP的封包都要能在不延迟的情况下传输出去。因此就有了QOS(Quality of Service)机制
Mangle表中有链PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
4.Raw
Raw表只使用在PREROUTING、OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前处理。一旦用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了
RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度
Filter表基本实验
1.清空指定表中的所有规则
iptables -F #清空filter表中的所有链(默认不指定则表明filter表,可以使用-t参数指定表)
2.不允许本机telnet到其他机子
iptables -A OUTPUT -p tcp --dport 23 -j DROP
3.不允许别人ping通自己
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
4.指定telnet禁止的具体的源与目的
iptables -A INPUT -p tcp -s 192.168.100.20/24 -d 192.168.100.55/24 -dport 23 -j DROP
往input输入链中添加一条过滤防火墙规则:凡是来源主机是192.168.100.20,telnet到目的主机192.168.100.55的数据包就丢弃
5.保存和恢复规则集
$iptables-save > /etc/fwdump #保存规则集到指定文件
$iptables-restore < /etc/fwdump #恢复规则集
$cat /etc/rc.local
/sbin/iptables-restore < /etc/fwdump
转载于:https://www.cnblogs.com/cherishry/p/5677108.html
Linux-iptables初识相关推荐
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
- Linux iptables防火墙设置与NAT服务配置
Linux iptables防火墙设置与NAT服务配置 - 摘要: linux教程,NAT服务器,iptables防火墙设置与NAT服务配置, 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组 ...
- linux iptables 数据流程详解 4表5链的关系
目录 iptables基础 iptables和netfilter的关系: iptables传输数据包的过程 iptables的规则表和链: 规则表: 1.Filter表--三个链:INPUT.FORW ...
- 去掉一个linux的ip,linux – iptables删除除一个IP之外的所有传入ICMP请求
目前,我有类似的东西: iptables -A INPUT -p ICMP --icmp-type 8 -j DROP iptables -A INPUT -s x.x.x.x -p ICMP --i ...
- Linux iptables用法与NAT
1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...
- linux防火墙ddos,Linux iptables防火墙详解 + 配置抗DDOS***策略实战
Linux iptables防火墙详解 + 配置抗DDOS***策略实战 Linux 内核中很早就实现了网络防火墙功能,在不同的Linux内核版本中,使用了不同的软件实现防火墙功能. 在2.0内核中, ...
- Linux IPTables:如何添加防火墙规则
摘要:本文介绍了如何使用"iptables -A"命令添加 iptables 防火墙规则. 本文分享自华为云社区<Linux IPTables:如何添加防火墙规则(使用允许 ...
- Linux iptables 防火墙常用规则
2019独角兽企业重金招聘Python工程师标准>>> 米扑博客 总结了 Linux iptables 防火墙常用规则,分享出来. iptables 安装 yum install i ...
- 初次远程做Linux Iptables规则注意事项
在远程putty到linux主机上首次做iptables规则时需按以下步骤,以免造成远程断开再也登不了远程linux主机的麻烦. 1.清除原有filter规则. [root@linux ~]# ipt ...
- Linux Iptables 语法大全
Linux Iptables 语法还是比较重要的,让我们来看看有些值得我们关注. 1. 对链的操作 建立一个新链 (-N). 删除一个空链 (-X). 改变一个内建链的原则 (-P). 列出一个链中的 ...
最新文章
- CentOS系统安装(上):图形/文本界面安装
- 3D建模如何学习,小白6个月入门工作?3D建模要学多久才能接外包私活?
- android执行lua脚本的方法,从Android应用程序调用Lua脚本
- 谁将掌控中国的金融?(上)
- 关于解决“用系统U盘安装win7却提示‘缺少所需的CD/DVD驱动器设备驱动程序’”的问题
- FusionCharts图表右键菜单的各种典型示例
- iOS多线程之5.GCD的基本使用
- I2C总线协议/地址详解
- bat脚本打开cmd执行命令
- 字节(B)、千字节(KB)、兆字节(MB)、积 (GB)字节之间的换算
- 关于央行新推数字货币的综述
- mysql多表查询分页面_mysql多表联合查询分点经验给大家
- 【图解版】B2C电商平台解决方案
- 超强悍抓包工具和万能视频下载工具
- 企业微信怎么输入服务器id,微信企业号的agentid怎么查看?如何获取?
- WPF 使用 Composition API 做高性能渲染
- 具有中国风的传统颜色(炫酷)
- BZOJ 4466 [Jsoi2013]超立方体【模拟
- 熬夜给女朋友搭建了一个网站~
- 宋棠敏——瘦-腰-瘦-腿-瘦-肚-子