如何编写IPtables的基础规则

上一篇博文说明了iptable的一些常识

这里简明再复述一下

linux的防火墙包含了2部分,分别是存在于内核空间的netfilte和用户空间的iptables

而iptable可以定义4类规则

filter:防火墙核心所在

nat:地址转换

mangle:实现数据包修改;如TTL

raw:不常用,这里不做多解释

优先级次序:raw-mangle-nat-filter

在iptable中定义的规则要输送到内核中的netfilte才能生效

 

定义防火墙规则一般有2种模式。一种是比较严格的,只放行允许通过的数据包,其余数据包全部阻止。还有一种比较宽松的,只阻止不允许通过的数据包。在企业应用中,一般使用第一种,根据业务需要放行对应的数据包。

Iptable定义规则的一般机制(更加具体的语法参照man文档)

iptable  [-t table]  sub_command  CHAIN [num] [cretiria] [-j ACCTION]

-t:

默认没有指定是filter,也可以指定mangle,nat,raw

sub_command:

rule:

-A(append):追加

-I(insert):插入,如 -I INPUT 3

-D(delete):删除,指定标准或者num 如 -D OUTPUT 8

-R(replace):替换 -R FORWARD 6

chain:

-F(flush):清空链

-N(new):新增一条链

-X:删除用户自定义的空链

-Z:清空计数器

关于计数器:每条规则都有2条计数器

1:记录被本条规则匹配到的包个数

2:记录匹配到本条规则到的包的体积之和

-E:重命名链

policy:

-P    chain {ACCEPT|DROP}

exsample:

将INPUT链的默认策略修改为DROP

iptables -t filter -P INTPUT DROP

view:

-L 显示定义的规则

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Network/Firewall/

-n:使用这个选项,就不会去反向解析IP地址的主机名,加快察看速度

-v:详细信息,可以多加几个v,越多越详细

-x:精确显示数据包体积

--line-numbers

匹配条件:

通用匹配:

-s IP/NETWORK:源地址

-d IP/NETWORK:目标地址

-p {tcp|udp|icmp}:指定协议

-i input interface:指定数据包进入的接口

-o output interface:指定数据包出去的接口

example:

禁止192.168.1.0/24网段ping192.168.2.1主机

iptables -t fliter -A INTUP -s 192.168.1.0/24 -d 192.168.2.1 -p icmp -j DROP

扩展匹配

隐式扩展:指对-p选项中指定的协议进行的扩展

-p {tcp|udp|icmp}

--sport portnum 源端口

--dport portnum    目标端口   

--tcpflags 针对tcp的标志位

--icmp-type icmp的包类型。

扩展上面的exapmle

iptables -t fliter -A INTUP -s 192.168.1.0/24 -d 192.168.2.1 -p icmp –icmp-type 8 -j DROP

这里明确拒绝了192.168.1.0/24网段的icmp-request包,8是icmp-request包,0是icmp-echo包

example:

拒绝192.168.2.1主机访问本机的web服务

iptables -t fliter -A INPUT -s 192.168.2.1 -p --dport 80 -j DROP

iptables -t fliter -A INPUT -s 192.168.2.1 -p --dport 443 -j DROP

规则的写法有多种,也可以写在OUTPUT链上,不过效率没有INPUT上高,而如果写在OUTPUT上 ,应该这样写

iptables -t fliter -A OUTPUT -d 192.168.2.1 -p –sport 80 -j DROP

iptables -t fliter -A OUTPUT -d 192.168.2.1 -p –sport 443 -j DROP

具体写法要按照需求,分析数据包的走向而定

显式扩展:使用-m指定要加载的扩展(下一章具体描述)

-j    TARGET:跳转到到的链常见的有以下3种

ACCEPT

DROP

REJECT

基本的用法先到这里,下一篇将具体说说显式扩展

时间: 2024-10-18 13:14:31

如何编写IPtables的基础规则的相关文章

使用Python编写一个最基础的代码解释器的要点解析_python

一直以来都对编译器和解析器有着很大的兴趣,也很清楚一个编译器的概念和整体的框架,但是对于细节部分却不是很了解.我们编写的程序源代码实际上就是一串字符序列,编译器或者解释器可以直接理解并执行这个字符序列,这看起来实在是太奇妙了.本文会用Python实现一个简单的解析器,用于解释一种小的列表操作语言(类似于python的list).其实编译器.解释器并不神秘,只要对基本的理论理解之后,实现起来也比较简单(当然,一个产品级的编译器或解释器还是很复杂的). 这种列表语言支持的操作: veca = [1,

实现高效Java编程规范的十一条基础规则

编程|规范 本文介绍的Java规则的说明分为5个级别,级别1是最基本也是最重要的级别,在今后将陆续写出其他的规则.遵守了这些规则可以提高程序的效率.使代码有更好的可读性等. (1) 避免使用NEW关键字来创建String对象 把一个String常量copy到String 对象中通常是多余.浪费时间的. Public class test{ Public void method(){ System.out.print (str); } private String str = new String

提醒:编写非法网站采集规则也违法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 编注:看来无论是做网站还是提供制作方法采集数据,都是违法的.提醒大家在严打期间,一定不要接触与它们有关的任何东西. 采集淫秽信息数据视同参与色情 受QQ朋友之托编写网站格式.采集转移数据,传播淫秽图片.影像吸引网民,以刊载各类性用品广告牟利.日前,经达州警方数天缜密侦查,抓获制作淫秽色情网站嫌疑人.      法网恢恢疏而不漏    4月18

js 编写规范_基础知识

在一个项目中大量使用js,工程项目与网站开发有一些不一样,在我接触的工程项目中普遍使用js 不够多,大部分客户端可做事,交给了服务端,而且在使用js时不够规范,很容易造成代码难以阅读.内存泄漏问题,不注意js 输写方式.而在网站开发中(尤其一些大网站,js输出的非常漂亮.完美无论使用jquery,还是prototype 框架,还是不用框架,都有自己良好一套东东可用) js输写最好还是可以面向对象方式 用类方向进行包装 js输写两种方式 闭包 原型 闭包:(借用的一个例子) 复制代码 代码如下:

asp组件编写准备工作_ASP基础

最近在尝试用组件写asp,一些心得如下,不对之处请指正 经常要重启IIS,所以需要一个批处理的文件,将下面两行代码存为xxx.bat net stop w3svc net start w3svc 经常需要注册.卸载dll,所以需要在右键菜单中添加两行注册和反注册DLL项,将下面几行代码存为xxx.reg,注入注册表 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\dllfile\shell] [HKEY_CLASSES_ROOT\d

linux系统防火墙iptables命令规则及配置

防火墙概述: 在互联网上我们的主机随时都有被攻击的可能,因此我们需要用到防火墙机制来保护我们互联网上的主机,在我们主机上面,防火墙主要是通过一些规则来限制一些不安全因素的网络信息传输,准确的说,防火墙就是制定一些有顺序的规则,来管理所负责的范围内的主机数据封包的一种机制,通过防火墙我们能够分析和过滤进出主机或者网络的封包数据,从而将一些不安全因素的包隔离开. iptables与netfilter: Linux上的防火墙是由iptables/netfilter组成,iptables是基于netfi

构建高安全电子商务网站:Linux服务器iptables规则列表全攻略

服务器的安全性,一直是网站的首要考虑的任务.针对安全性有多种多样的解决方案.Linux服务器防火墙,最常用到的当然要数iptables防火墙.iptables是Linux上常用的防火墙软件,规则也非常灵活,应该最广泛. 对应要构建高安全电子商务网站,任何一台服务器少不了的安全软件,当然是iptables防火墙.规则灵活多变,功能应该之广泛,这个也是Linux系统管理员首选.iptables表链中每条规则的顺序很重要,如果首条是accept all,那末所有的数据包都会被允许通过firewall,

floating ip如何能解除iptables规则呢?

问题描述 floatingip如何能解除iptables规则呢?是手动进入数据解除吗?还有其他的方法吗? 解决方案 解决方案二:具体什么意思?解决方案三:他的问题应该是解除iptables规则,让公网IP能访问这个FLOATINGIP(floatingip也是公网IP)这个问题我也想知道啊,我现在就是这个情况.有没有高手?解决方案四:不确定你们问的是不是这个:用命令找到当前的secgroup:novasecgroup-list默认是default.然后在default这个group加入规则允许p

linux下IPTABLES配置详解

转自:http://www.cnblogs.com/duanxz/p/3994846.html 一.检查iptablesservice iptables status若提示为iptables:unrecognized service,则需要安装.VPS.GL提供的Linux系统都已经安装了iptables防火墙.同时,为了适应广大使用Linux朋友的需要,这里就告诉大家安装步骤.二.快速安装iptables apt-get install iptables  //Debian,Ubuntu使用此