A. 解释此命令:iptables -t nat -A PREROUTING -i eth0 -s 192.16.0.0/24 -j DROP 求解释啊!!!详细一点
iptables -t nat "-t nat"为选择nat表,iptables有四个表与五个链,
4个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。
filter:一般的过滤功能
nat:用于nat功能(端口映射,地址映射等)
mangle:用于对特定数据包的修改
raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
-A 向PREROUTING末端添加一条规则
5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARDING:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外转发
POSTROUTIONG:发送到网卡接口之前
-i -进入的(网络)接口
-s 指定源地址
-j 指定规则的目标
DROP 拒绝
B. iptables命令详解是什么
禁止进入本机的,源地址为所有,目的地址为所有,目的端口为TCP端口13,的数据包。
iptables--静态防火墙。iptables是复杂的,它集成到linux内核中。用户通过iptables,可以对进出你的计算机的数据包进行过滤。通过iptables命令设置规则,来把守计算机网络——哪些数据允许通过,哪些不能通过,哪些通过的数据进行记录(log)。
(2)iptables五元组过滤扩展阅读:
iptables传输数据包的过程
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
C. iptables详解
netfilter/iptables (简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
iptables和netfilter的关系:
这是第一个要说的地方,Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。
规则 (rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
过程图如下:
Iptables采用“表”和“链”的分层结构。
表 (tables)提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。
(1)filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包 内核模块:iptables_filter.
(2)Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
(3)Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
(4)Raw表——两个链:OUTPUT、PREROUTING
作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
Raw——mangle——nat——filter
链 (chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定 义的默认策略来处理数据包。
(1)INPUT——进来的数据包应用此规则链中的策略
(2)OUTPUT——外出的数据包应用此规则链中的策略
(3)FORWARD——转发数据包时应用此规则链中的策略
(4)PREROUTING——对数据包作路由选择前应用此链中的规则
(记住!所有的数据包进来的时侯都先由这个链处理)
(5)POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)
从外界到达防火墙的数据包,先被PREROUTING规则链处理(是否修改数据包地址等),之后会进行路由选择(判断该数据包应该发往何处),如果数据包 的目标主机是防火墙本机(比如说Internet用户访问防火墙主机中的web服务器的数据包),那么内核将其传给INPUT链进行处理(决定是否允许通 过等),通过以后再交给系统上层的应用程序(比如Apache服务器)进行响应。
来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其它外部地址(比如局域网用户通过网 关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数据包的地 址等)进行处理。
防火墙本机向外部地址发送的数据包(比如在防火墙主机中测试公网DNS服务器时),首先被OUTPUT规则链处理,之后进行路由选择,然后传递给POSTROUTING规则链(是否修改数据包的地址等)进行处理。
iptables-save把规则保存到文件中,再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables)自动装载
使用命令iptables-save来保存规则。一般用
iptables-save > /etc/sysconfig/iptables
生成保存规则的文件 /etc/sysconfig/iptables,
也可以用
service iptables save
它能把规则自动保存在/etc/sysconfig/iptables中。
当计算机启动时,rc.d下的脚本将用命令iptables-restore调用这个文件,从而就自动恢复了规则。
删除INPUT链的第一条规则:
1.拒绝进入防火墙的所有ICMP协议数据包
2.允许防火墙转发除ICMP协议以外的所有数据包
说明:使用“!”可以将条件取反。
3.拒绝转发来自192.168.1.10主机的数据,允许转发来自192.168.0.0/24网段的数据
说明:注意要把拒绝的放在前面不然就不起作用了啊。
4.丢弃从外网接口(eth1)进入防火墙本机的源地址为私网地址的数据包
5.封堵网段(192.168.1.0/24),两小时后解封。
说明:这个策略咱们借助crond计划任务来完成,就再好不过了。
[1] Stopped at now 2 hours
6.只允许管理员从202.13.0.0/16网段使用SSH远程登录防火墙主机。
说明:这个用法比较适合对设备进行远程管理时使用,比如位于分公司中的SQL服务器需要被总公司的管理员管理时。
7.允许本机开放从TCP端口20-1024提供的应用服务。
8.允许转发来自192.168.0.0/24局域网段的DNS解析请求数据包。
9.禁止其他主机ping防火墙主机,但是允许从防火墙上ping其他主机
10.禁止转发来自MAC地址为00:0C:29:27:55:3F的和主机的数据包
说明:iptables中使用“-m 模块关键字”的形式调用显示匹配。咱们这里用“-m mac –mac-source”来表示数据包的源MAC地址。
11.允许防火墙本机对外开放TCP端口20、21、25、110以及被动模式FTP端口1250-1280
说明:这里用“-m multiport –dport”来指定目的端口及范围
12.禁止转发源IP地址为192.168.1.20-192.168.1.99的TCP数据包。
说明:此处用“-m –iprange –src-range”指定IP范围。
13.禁止转发与正常TCP连接无关的非—syn请求数据包。
说明:“-m state”表示数据包的连接状态,“NEW”表示与任何连接无关的,新的嘛!
14.拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包
说明:“ESTABLISHED”表示已经响应请求或者已经建立连接的数据包,“RELATED”表示与已建立的连接有相关性的,比如FTP数据连接等。
15.只开放本机的web服务(80)、FTP(20、21、20450-20480),放行外部主机发住服务器其它端口的应答数据包,将其他入站数据包均予以丢弃处理。
D. iptables的简单使用方法
mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由。
定义允许或者不允许的
iptables -t filter -A INPUT -j DROP -p tcp --dport 8081
过滤发往本机的8081端口的所有包被丢弃
用途:网络地址转换;修改目的端口或目的地址以及原地址
iptables -t nat -A PREROUTING -p tcp --dport 7788 -j DNAT --to 192.168.0.11:7799
iptables -t nat -A POSTROUTE -p tcp -d 192.168.0.11 --dport 7799 -j SNAT --to 192.168.0.12
1. “四表” 是指,iptables的功能——filter, nat, mangle, raw.
filter, 控制数据包是否允许进出及转发(INPUT、OUTPUT、FORWARD),可以控制的链路有input, forward, output
nat, 控制数据包中地址转换,可以控制的链路有prerouting, input, output, postrouting
mangle,修改数据包中的原数据,可以控制的链路有prerouting, input, forward, output, postrouting
raw,控制nat表中连接追踪机制的启用状况,可以控制的链路有prerouting, output
注:在centos7中,还有security表,不过这里不作介绍
2. “五链” 是指内核中控制网络的NetFilter定义的五个规则链,分别为
PREROUTING, 路由前
INPUT, 数据包流入口
FORWARD, 转发管卡
OUTPUT, 数据包出口
POSTROUTING, 路由后
3 .堵通策略 是指对数据包所做的操作,一般有两种操作——“通(ACCEPT)”、“堵(DROP)”,还有一种操作很常见REJECT.
谈谈REJECT和DROP之间的区别,Ming写了一封信,向Rose示爱。Rose如果不愿意接受,她可以不回应Ming,这个时候Ming不确定Rose是否接到了信;Rose也可以同样写一封信,在信中明确地拒绝Ming。前一种操作就如同执行了DROP操作,而后一种操作就如同REJECT操作。
4.iptables命令的语法规则
iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION
-t table,是指操作的表,filter、nat、mangle或raw, 默认使用filter
COMMAND,子命令,定义对规则的管理
chain, 指明链路
CRETIRIA, 匹配的条件或标准
ACTION,操作动作
例如,不允许10.8.0.0/16网络对80/tcp端口进行访问,
iptables -t filter -A INPUT -s 10.8.0.0/16 -d 172.16.55.7 -p tcp --dport 80 -j DROP
查看iptables列表
iptables -nL
5.链管理
-N, --new-chain chain:新建一个自定义的规则链;
-X, --delete-chain [chain]:删除用户自定义的引用计数为0的空链;
-F, --flush [chain]:清空指定的规则链上的规则;
-E, --rename-chain old-chain new-chain:重命名链;
-Z, --zero [chain [rulenum]]:置零计数器;
-P, --policy chain target, 设置链路的默认策略
6.规则管理
-A, --append chain rule-specification:追加新规则于指定链的尾部;
-I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部;
-R, --replace chain rulenum rule-specification:替换指定的规则为新的规则;
-D, --delete chain rulenum:根据规则编号删除规则;
7.查看规则
-L, --list [chain]:列出规则;
-v, --verbose:详细信息;
-vv, -vvv 更加详细的信息
-n, --numeric:数字格式显示主机地址和端口号;
-x, --exact:显示计数器的精确值;
--line-numbers:列出规则时,显示其在链上的相应的编号;
-S, --list-rules [chain]:显示指定链的所有规则;
查看规则的一般内容:
E. Linux免费防火墙iptables,
Iptables是Linux自带的防火墙,包过滤防火墙,他自带有三个表,每个表上都有相应的链,链上有一条到多条规则。规则可以是基于IP,端口,协议这些就是访问条件。
F. iptables命令详解是什么
iptables的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者经该设备转发、路由时,都可以使用iptables进行控制。
iptables命令的语法规则:
iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION;
-t table,是指操作的表,filter、nat、mangle或raw, 默认使用filter;
COMMAND,子命令,定义对规则的管理;
chain:指明链路;
CRETIRIA:匹配的条件或标准;
ACTION:操作动作;
命令说明
Iptables 是用来设置、维护和检查Linux内核的IP包过滤规则的。
可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用户定义的链。
以上内容参考:网络-IPTABLES
G. 如何用Iptables实现URL过滤
iptables的配置文件保存在/etc/sysconfig/iptables-config下,书写了iptables规则以后如果需要保存规则,则可以使用命令:iptables-save,使专用此命令保存的属规则位置可以是任意的,此时保存的规则在重启机器后无法自动生效,需要使用命令iptables
H. 什么是iptables
IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。
防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。
netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它。
I. linux下iptables如何过滤同一网段的连续几个IP
过滤源地址范围:
iptables -A INPUT -m iprange --src-range 192.168.1.2-192.168.1.7 -j DROP
过滤目标地址范围:
iptables -A INPUT -m iprange --dst-range 192.168.1.2-192.168.1.7 -j DROP
J. linux/unix -shell值iptables基础知识
原文参考:
iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工 作原理,你会发现其实它很简单。
首先介绍iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而chains又由rules组成。如下图所示。 [图片上传失败...(image-ba5408-1536195185275)]
图: IPTables Table, Chain, and Rule Structure
一、iptables的表与链
iptables具有Filter, NAT, Mangle, Raw四种内建表:
1. Filter表
Filter表示iptables的默认表,因此如果你没有自定义表,那么就默认使用filter表,它具有以下三种内建链:
2. NAT表
NAT表有三种内建链:
3. Mangle表
Mangle表用于指定如何处理数据包。它能改变TCP头中的QoS位。Mangle表具有5个内建链:
4. Raw表
Raw表用于处理异常,它具有2个内建链:
5.小结
下图展示了iptables的三个内建表:
[图片上传失败...(image-753d8c-1536195185272)]
图: IPTables 内建表
二、IPTABLES 规则(Rules)
牢记以下三点式理解iptables规则的关键:
目标值(Target Values)
下面是你可以在target里指定的特殊值:
如果你执行iptables –list你将看到防火墙上的可用规则。下例说明当前系统没有定义防火墙,你可以看到,它显示了默认的filter表,以及表内默认的input链, forward链, output链。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
查看mangle表:
查看NAT表:
查看RAW表:
!注意:如果不指定 -t 选项,就只会显示默认的 filter 表。因此,以下两种命令形式是一个意思:
(or)
以下例子表明在filter表的input链, forward链, output链中存在规则:
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all — 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all – 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain RH-Firewall-1-INPUT (2 references)
num target prot opt source destination
1 ACCEPT all – 0.0.0.0/0 0.0.0.0/0
2 ACCEPT icmp – 0.0.0.0/0 0.0.0.0/0 icmp type 255
3 ACCEPT esp – 0.0.0.0/0 0.0.0.0/0
4 ACCEPT ah – 0.0.0.0/0 0.0.0.0/0
5 ACCEPT udp – 0.0.0.0/0 224.0.0.251 udp dpt:5353
6 ACCEPT udp – 0.0.0.0/0 0.0.0.0/0 udp dpt:631
7 ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
8 ACCEPT all – 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
9 ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
10 REJECT all – 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
以上输出包含下列字段:
三、清空所有iptables规则
在配置iptables之前,你通常需要用iptables –list命令或者iptables-save命令查看有无现存规则,因为有时需要删除现有的iptables规则:
iptables –flush
或者
iptables -F
这两条命令是等效的。但是并非执行后就万事大吉了。你仍然需要检查规则是不是真的清空了,因为有的linux发行版上这个命令不会清除NAT表中的规则,此时只能手动清除:
iptables -t NAT -F
四、永久生效
当你删除、添加规则后,这些更改并不能永久生效,这些规则很有可能在系统重启后恢复原样。为了让配置永久生效,根据平台的不同,具体操作也不同。下面进行简单介绍:
1.Ubuntu
首先,保存现有的规则:
iptables-save > /etc/iptables.rules
然后新建一个bash脚本,并保存到 /etc/network/if-pre-up.d/ 目录下:
iptables-restore < /etc/iptables.rules
这样,每次系统重启后iptables规则都会被自动加载。
!注意:不要尝试在.bashrc或者.profile中执行以上命令,因为用户通常不是root,而且这只能在登录时加载iptables规则。
2.CentOS, RedHat
service iptables save
service iptables stop
service iptables start
查看当前规则:
cat /etc/sysconfig/iptables
五、追加iptables规则
可以使用iptables -A命令追加新规则,其中 -A 表示 Append 。因此, 新的规则将追加到链尾。
一般而言,最后一条规则用于丢弃(DROP)所有数据包。如果你已经有这样的规则了,并且使用 -A 参数添加新规则,那么就是无用功。
1.语法
iptables -A chain firewall-rule
2.描述规则的基本参数
以下这些规则参数用于描述数据包的协议、源地址、目的地址、允许经过的网络接口,以及如何处理这些数据包。这些描述是对规则的基本描述。
-p 协议(protocol)
-s 源地址(source)
-d 目的地址(destination)
-j 执行目标(jump to target)
-i 输入接口(input interface)
-o 输出(out interface)
3.描述规则的扩展参数
对规则有了一个基本描述之后,有时候我们还希望指定端口、TCP标志、ICMP类型等内容。
–sport 源端口(source port)针对 -p tcp 或者 -p udp
–-dport 目的端口(destination port)针对-p tcp 或者 -p udp
-–tcp-flags TCP标志 针对-p tcp
-–icmp-type ICMP类型 针对-p icmp
4.追加规则的完整实例:仅允许SSH服务
本例实现的规则将仅允许SSH数据包通过本地计算机,其他一切连接(包括ping)都将被拒绝。
iptables -F
iptables -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -j DROP
六、更改默认策略
上例的例子仅对接收的数据包过滤,而对于要发送出去的数据包却没有任何限制。本节主要介绍如何更改链策略,以改变链的行为。
1. 默认链策略
/!警告 :请勿在远程连接的服务器、虚拟机上测试!
当我们使用-L选项验证当前规则是发现,所有的链旁边都有 policy ACCEPT 标注,这表明当前链的默认策略为ACCEPT:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
DROP all – anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
这种情况下,如果没有明确添加DROP规则,那么默认情况下将采用ACCEPT策略进行过滤。除非:
a)为以上三个链单独添加DROP规则:
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
iptables -A FORWARD -j DROP
b)更改默认策略:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
糟糕!!如果你严格按照上一节的例子配置了iptables,并且现在使用的是SSH进行连接的,那么会话恐怕已经被迫终止了!
为什么呢?因为我们已经把OUTPUT链策略更改为DROP了。此时虽然服务器能接收数据,但是无法发送数据:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp – anywhere anywhere tcp dpt:ssh
DROP all – anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
七、配置应用程序规则
尽管5.4节已经介绍了如何初步限制除SSH以外的其他连接,但是那是在链默认策略为ACCEPT的情况下实现的,并且没有对输出数据包进行限 制。本节在上一节基础上,以SSH和HTTP所使用的端口为例,教大家如何在默认链策略为DROP的情况下,进行防火墙设置。在这里,我们将引进一种新的 参数-m state,并检查数据包的状态字段。
1.SSH
iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT
如果服务器也需要使用SSH连接其他远程主机,则还需要增加以下配置:
iptables -A OUTPUT -o eth0 -p tcp –dport 22 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT
2.HTTP
HTTP的配置与SSH类似:
iptables -A INPUT -i eth0 -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT
3.完整的配置
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –dport 22 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT
References
[1] Linux Firewall Tutorial: IPTables Tables, Chains, Rules Fundamentals
[2] IPTables Flush: Delete / Remove All Rules On RedHat and CentOS Linux
[3] Linux IPTables: How to Add Firewall Rules (With Allow SSH Example)
[4] Linux IPTables: Incoming and Outgoing Rule Examples (SSH and HTTP)
[5] 25 Most Frequently Used Linux IPTables Rules Examples
[6] man 8 iptables