Linux下iptables

Linux下iptables
Linux下iptables

Linux防火墙iptables学习笔记(一)入门要领

要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有

很多数据包进入,离开,或者经过我们的计算机。

首先我们要弄明白,防火墙将怎么对待这些数据包。这些数据包会经过一些相应的规则链,比如要进入你的计算机的数据包会首先进入INPUT链,从我们的计算机发出的数据包会经过OUTPUT链,如果一台计算机做一个网络的网

关(处于内网和外网两个网络连接的两台计算机,这两台计算机之间相互通讯的数据包会经过这台计算机,这台计算机即相当于一个路由器),可能会有很多数据经过这台计算机,那么这些数据包必经FORWARD链,FORWARD链即数据转发链。明白了这些“链”的概念我们才能进一步学习使用iptables。

现在我们再来分析一下iptables规则是如何工作的,假如我们要访问网站https://www.360docs.net/doc/2617399817.html,,我们要对https://www.360docs.net/doc/2617399817.html,发出请求,这些数据包要经过OUTPUT链,在请求发出前,Linux的内核会在OUTPUT链中检查有没有相应的规则适合这个数据包,如果没有相应的规则,OUTPUT链还会有默认的规则,或者允许,或者不允许(事实上,不允许有两种,一种是把请求拒绝,告诉发出请示的程序被拒绝;还有一种是丢弃,让请求发出者傻等,直到超时)。如果得到允许,请求就发出了,而https://www.360docs.net/doc/2617399817.html,服务器返回的数据包会经过INPUT链,当然,INPUT链中也会有相应的规则等着它。

下面我们介绍几个iptable的命令

iptables-L[-t filter]

这条命令是显示当前有什么已经设置好的防火墙规则,可能的显示结果如下: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 从这里我们可以看出,iptables有三个链分别是INPUT OUTPUT和FORWARD.

其中

INPUT是外部数据要进过我们主机的第一外关卡(当然你前面也可以再加硬件防火墙).

OUTPUT是你的主机的数据送出时要做的过绿卡

FORWARD是转发你在NAT时才会用到

要设置iptables主要是对这三条链进行设置,当然也包括-nat的另外三个链我们以后再说

你要用iptables你就得启到它启动命令service iptables restart iptables的默认设置为三条链都是ACCEPT如下:

iptables-P INPUT ACCEPT

iptables-P OUTPUT ACCEPT

iptables-P FORWARD ACCEPT

以上信息你可以用iptables-L看到

总体来说iptables可以有二种设置

1.默认允许,拒绝特别的

2.默认拒绝,允许特别的

二者都有自己有特点,从安全角度看个人偏向于第二种,就是默认拒绝,允许特别的.但iptalbes默认是第一种默认允许,拒绝特别的

你可以用命令改变默认值来达到我们的要求命令如下

iptables-P INPUT DROP

iptables-P OUTPUT DROP

iptables-P FORWARD DROP

你再用iptables-L查看一下就会觉得默认值以改了

先来谈炎几个参数XZFL

-F清除规则

-X清除链

-Z将链的记数的流量清零

一般来说再创建访问规则时都会将原有的规则清零这是一个比较好的习惯,因为某些规则的存在会影响你建的规则.

基本语法:

iptables[-t filter][-AI INPUT,OUTPUT,FORWARD][-io interface] [-p tcp,udp.icmp,all][-s ip/nerwork][--sport ports]

[-d ip/netword][--dport ports][-j ACCEPT DROP]

以上是iptables的基本语法

A是添加的意思

I是播入的意思

io指的是数据要进入或出去所要经过的端口如eth1eth0pppoe等

p你所要指定的协议

-s指源地址可是单个IP如192.168.2.6也可以是一个网络

192.168.2.0/24还可以是一个域名如https://www.360docs.net/doc/2617399817.html,如果你填写的域名系统会自动解析出他的IP并在iptables里显示

--sport来源端口

-d同-s相似只不过他指的是目标地址也可以是IP域名和网络

--dport目标端口

-j执行参数ACCEPT DROP

注意:如果以有参数存在则说明全部接受

1如我要来自己l0接口的数据全部接受,我们可以写成这样:

iptables-A INPUT-i lo-j ACCEPT

2如果我们想接受192.168.2.6这个IP地址传来的数据我们可以这样写iptablse-A INPUT-i eth1-p tcp-s192.168.2.6-j ACCEPT

3如果我们要拒绝来自己192.168.2.0/24这个网的telnet连接iptablse-A INPUT-i eth1-p udp-s192.168.2.0/24--sport23-j DROP

Linux防火墙iptables学习笔记(二)参数指令

iptables指令

语法:

iptables[-t table]command[match][-j target/jump]

-t参数用来指定规则表,内建的规则表有三个,分别是:nat、mangle和filter,当未指定规则表时,则一律视为是filter。个规则表的功能如下:

nat此规则表拥有Prerouting和postrouting两个规则链,主要功能为进行一对一、一对多、多对多等网址转译工作(SNATDNAT),由于转译工作的特性,需进行目的地网址转译的封包,就不需要进行来源网址转译,反之亦然,因此为了提升改写封包的率,在防火墙运作时,每个封包只会经过这个规则表一次。如果我们把封包过滤的规则定义在这个数据表里,将会造成无法对同一包进行多次比对,因此这个规则表除了作网址转译外,请不要做其它用途。mangle此规则表拥有Prerouting、FORWARD和postrouting三个规则链。

除了进行网址转译工作会改写封包外,在某些特殊应用可能也必须去改写封包(TTL、TOS)或者是设定MARK(将封包作记号,以进行后续的过滤),这时就必须将这些工作定义在mangle 规则表中,由于使用率不高,我们不打算在这里讨论mangle的用法。

filter这个规则表是预设规则表,拥有INPUT、FORWARD和OUTPUT三个规则链,这个规则表顾名思义是用来进行封包过滤的理动作(例如:DROP、LOG、ACCEPT或REJECT),我们会将基本规则都建立在此规则表中。

常用命令列表:

命令-A,--append

范例iptables-A INPUT...

说明新增规则到某个规则链中,该规则将会成为规则链中的最后一条规则。

命令-D,--delete

范例iptables-D INPUT--dport80-j DROP

iptables-D INPUT1

说明从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令-R,--replace

范例iptables-R INPUT1-s192.168.0.1-j DROP

说明取代现行规则,规则被取代后并不会改变顺序。

命令-I,--insert

范例iptables-I INPUT1--dport80-j ACCEPT

说明插入一条规则,原本该位置上的规则将会往后移动一个顺位。

命令-L,--list

范例iptables-L INPUT

说明列出某规则链中的所有规则。

命令-F,--flush

范例iptables-F INPUT

说明删除某规则链中的所有规则。

命令-Z,--zero

范例iptables-Z INPUT

说明将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式攻击不可或缺的工具。

命令-N,--new-chain

范例iptables-N allowed

说明定义新的规则链。

命令-X,--delete-chain

范例iptables-X allowed

说明删除某个规则链。

命令-P,--policy

范例iptables-P INPUT DROP

说明定义过滤政策。也就是未符合过滤条件之封包,预设的处理方式。

命令-E,--rename-chain

范例iptables-E allowed disallowed

说明修改某自订规则链的名称。

常用封包比对参数:

参数-p,--protocol

范例iptables-A INPUT-p tcp

说明比对通讯协议类型是否相符,可以使用!运算子进行反向比对,例如:-p!tcp,意思是指除tcp以外的其它类型,包含udp、icmp...等。如果要比对所有类型,则可以使用all关键词,例如:-p all。

参数-s,--src,--source

范例iptables-A INPUT-s192.168.1.1

说明用来比对封包的来源IP,可以比对单机或网络,比对网络时请用数字来表示屏蔽,例如:-s192.168.0.0/24,比对IP时可以使用!运算子进行反向比对,例如:-s!

192.168.0.0/24。

参数-d,--dst,--destination

范例iptables-A INPUT-d192.168.1.1

说明用来比对封包的目的地IP,设定方式同上。

参数-i,--in-interface

范例iptables-A INPUT-i eth0

说明用来比对封包是从哪片网卡进入,可以使用通配字符+来做大范围比对,例如:-i eth+表示所有的ethernet网卡,也以使用!运算子进行反向比对,例如:-i!eth0。

参数-o,--out-interface

范例iptables-A FORWARD-o eth0

说明用来比对封包要从哪片网卡送出,设定方式同上。

参数--sport,--source-port

范例iptables-A INPUT-p tcp--sport22

说明用来比对封包的来源埠号,可以比对单一埠,或是一个范围,例如:--sport22:80,表示从22到80埠之间都算是符合件,如果要比对不连续的多个埠,则必须使用--multiport 参数,详见后文。比对埠号时,可以使用!运算子进行反向比对。

参数--dport,--destination-port

范例iptables-A INPUT-p tcp--dport22

说明用来比对封包的目的地埠号,设定方式同上。

参数--tcp-flags

范例iptables-p tcp--tcp-flags SYN,FIN,ACK SYN

说明比对TCP封包的状态旗号,参数分为两个部分,第一个部分列举出想比对的旗号,第二部分则列举前述旗号中哪些有被设,未被列举的旗号必须是空的。TCP状态旗号包括:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)

PSH(强迫推送)等均可使用于参数中,除此之外还可以使用关键词ALL和NONE进行比对。比对旗号时,可以使用!运算子行反向比对。

参数--syn

范例iptables-p tcp--syn

说明用来比对是否为要求联机之TCP封包,与iptables-p tcp--tcp-flags SYN,FIN,ACK SYN的作用完全相同,如果使用!运算子,可用来比对非要求联机封包。

参数-m multiport--source-port

范例iptables-A INPUT-p tcp-m multiport--source-port22,53,80,110

说明用来比对不连续的多个来源埠号,一次最多可以比对15个埠,可以使用!运算子进行反向比对。

参数-m multiport--destination-port

范例iptables-A INPUT-p tcp-m multiport--destination-port22,53,80,110

说明用来比对不连续的多个目的地埠号,设定方式同上。

参数-m multiport--port

范例iptables-A INPUT-p tcp-m multiport--port22,53,80,110

说明这个参数比较特殊,用来比对来源埠号和目的埠号相同的封包,设定方式同上。注意:在本范例中,如果来源端口号为80目的地埠号为110,这种封包并不算符合条件。

参数--icmp-type

范例iptables-A INPUT-p icmp--icmp-type8

说明用来比对ICMP的类型编号,可以使用代码或数字编号来进行比对。请打iptables-p icmp--help来查看有哪些代码可用。

参数-m limit--limit

范例iptables-A INPUT-m limit--limit3/hour

说明用来比对某段时间内封包的平均流量,上面的例子是用来比对:每小时平均流量是否超过一次3个封包。除了每小时平均次外,也可以每秒钟、每分钟或每天平均一次,默认值为每小时平均一次,参数如后:/second、/minute、/day。除了进行封

数量的比对外,设定这个参数也会在条件达成时,暂停封包的比对动作,以避免因骇客使用洪水攻击法,导致服务被阻断。

参数--limit-burst

范例iptables-A INPUT-m limit--limit-burst5

说明用来比对瞬间大量封包的数量,上面的例子是用来比对一次同时涌入的封包是否超过5个(这是默认值),超过此上限的封将被直接丢弃。使用效果同上。

参数-m mac--mac-source

范例iptables-A INPUT-m mac--mac-source00:00:00:00:00:01

说明用来比对封包来源网络接口的硬件地址,这个参数不能用在OUTPUT和Postrouting 规则炼上,这是因为封包要送出到网后,才能由网卡驱动程序透过ARP通讯协议查出目的地的MAC地址,所以iptables在进行封包比对时,并不知道封包会送到个网络接口去。

参数--mark

范例iptables-t mangle-A INPUT-m mark--mark1

说明用来比对封包是否被表示某个号码,当封包被比对成功时,我们可以透过MARK处理动

作,将该封包标示一个号码,号码最不可以超过4294967296。

参数-m owner--uid-owner

范例iptables-A OUTPUT-m owner--uid-owner500

说明用来比对来自本机的封包,是否为某特定使用者所产生的,这样可以避免服务器使用root 或其它身分将敏感数据传送出,可以降低系统被骇的损失。可惜这个功能无法比对出来自其它主机的封包。

参数-m owner--gid-owner

范例iptables-A OUTPUT-m owner--gid-owner0

说明用来比对来自本机的封包,是否为某特定使用者群组所产生的,使用时机同上。

参数-m owner--pid-owner

范例iptables-A OUTPUT-m owner--pid-owner78

说明用来比对来自本机的封包,是否为某特定行程所产生的,使用时机同上。

参数-m owner--sid-owner

范例iptables-A OUTPUT-m owner--sid-owner100

说明用来比对来自本机的封包,是否为某特定联机(Session ID)的响应封包,使用时机同上。参数-m state--state

范例iptables-A INPUT-m state--state RELATED,ESTABLISHED

说明用来比对联机状态,联机状态共有四种:INVALID、ESTABLISHED、NEW和RELATED。INVALID表示该封包的联机编号(Session ID)无法辨识或编号不正确。ESTABLISHED表示该封包属于某个已经建立的联机。

NEW表示该封包想要起始一个联机(重设联机或将联机重导向)。

RELATED表示该封包是属于某个已经建立的联机,所建立的新联机。例如:FTP-DATA联机必定是源自某个FTP联机。

常用的处理动作:

-j参数用来指定要进行的处理动作,常用的处理动作包括:ACCEPT、REJECT、DROP、REDIRECT、MASQUERADE、LOG、DNAT、

SNAT、MIRROR、QUEUE、RETURN、MARK,分别说明如下:

ACCEPT将封包放行,进行完此处理动作后,将不再比对其它规则,直接跳往下一个规则炼(natostrouting)。

REJECT拦阻该封包,并传送封包通知对方,可以传送的封包有几个选择:ICMP

port-unreachable、ICMP echo-reply或是

tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。范例如下:

iptables-A FORWARD-p TCP--dport22-j REJECT--reject-with tcp-reset

DROP丢弃封包不予处理,进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。REDIRECT将封包重新导向到另一个端口(PNAT),进行完此处理动作后,将会继续比对其它规则。这个功能可以用来实作通透式

porxy或用来保护web服务器。例如:iptables-t nat-A PREROUTING-p tcp--dport80 -j REDIRECT--to-ports8080

MASQUERADE改写封包来源IP为防火墙NIC IP,可以指定port对应的范围,进行完此处理动作后,直接跳往下一个规则(mangleostrouting)。这个功能与SNAT略有不同,当

进行IP伪装时,不需指定要伪装成哪个IP,IP会从网卡直接读,当使用拨接连线时,IP通常是由ISP公司的DHCP服务器指派的,这个时候MASQUERADE特别有用。范例如下:iptables-t nat-A POSTROUTING-p TCP-j MASQUERADE--to-ports1024-31000 LOG将封包相关讯息纪录在/var/log中,详细位置请查阅/etc/syslog.conf组态档,进行完此处理动作后,将会继续比对其规则。例如:

iptables-A INPUT-p tcp-j LOG--log-prefix"INPUT packets"

SNAT改写封包来源IP为某特定IP或IP范围,可以指定port对应的范围,进行完此处理动作后,将直接跳往下一个规则(mangleostrouting)。范例如下:

iptables-t nat-A POSTROUTING-p tcp-o eth0-j SNAT--to-source

194.236.50.155-194.236.50.160:1024-32000

DNAT改写封包目的地IP为某特定IP或IP范围,可以指定port对应的范围,进行完此处理动作后,将会直接跳往下一个规炼(filter:input或filter:forward)。范例如下:iptables-t nat-A PREROUTING-p tcp-d15.45.23.67--dport80-j DNAT

--to-destination

192.168.1.1-192.168.1.10:80-100

MIRROR镜射封包,也就是将来源IP与目的地IP对调后,将封包送回,进行完此处理动作后,将会中断过滤程序。

QUEUE中断过滤程序,将封包放入队列,交给其它程序处理。透过自行开发的处理程序,可以进行其它应用,例如:计算联机费.......等。

RETURN结束在目前规则炼中的过滤程序,返回主规则炼继续过滤,如果把自订规则炼看成是一个子程序,那么这个动作,就相当提早结束子程序并返回到主程序中。

MARK将封包标上某个代号,以便提供作为后续过滤的条件判断依据,进行完此处理动作后,将会继续比对其它规则。范例如下:

iptables-t mangle-A PREROUTING-p tcp--dport22-j MARK--set-mark2

Linux防火墙iptables学习笔记(三)iptables命令详解和举例

网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能有所帮助。

网管员的安全意识要比空喊Linux安全重要得多。

iptables-F

iptables-X

iptables-F-t mangle

iptables-t mangle-X

iptables-F-t nat

iptables-t nat-X

首先,把三个表清空,把自建的规则清空。

iptables-P INPUT DROP

iptables-P OUTPUT DROP

iptables-P FORWARD ACCEPT

设定INPUT、OUTPUT的默认策略为DROP,FORWARD为ACCEPT。

iptables-A INPUT-i lo-j ACCEPT

iptables-A OUTPUT-o lo-j ACCEPT

先把“回环”打开,以免有不必要的麻烦。

iptables-A INPUT-i eth+-p icmp--icmp-type8-j ACCEPT

iptables-A OUTPUT-o eth+-p icmp--icmp-type0-j ACCEPT

在所有网卡上打开ping功能,便于维护和检测。

iptables-A INPUT-i eth0-s192.168.100.250-d192.168.100.1-p tcp--dport22-j ACCEPT

iptables-A OUTPUT-o eth0-d192.168.100.250-s192.168.100.1-p tcp--sport22 -j ACCEPT

打开22端口,允许远程管理。(设定了很多的附加条件:管理机器IP必须是250,并且必须从eth0网卡进入)

iptables-A INPUT-i eth0-s192.168.100.0/24-p tcp--dport3128-m state--state NEW,ESTABLISHED-j ACCEPT

iptables-A OUTPUT-o eth0-d192.168.100.0/24-p tcp--sport3128-m state

--state ESTABLISHED-j ACCEPT

iptables-A INPUT-i eth1-s192.168.168.0/24-p tcp--dport3128-m state--state NEW,ESTABLISHED-j ACCEPT

iptables-A OUTPUT-o eth1-d192.168.168.0/24-p tcp--sport3128-m state

--state ESTABLISHED-j ACCEPT

iptables-A INPUT-i eth2-p tcp--dport32768:61000-m state--state ESTABLISHED-j ACCEPT

iptables-A OUTPUT-o eth2-p tcp--sport32768:61000-m state--state

NEW,ESTABLISHED-j ACCEPT

iptables-A OUTPUT-o eth2-p udp--dport53-j ACCEPT

iptables-A INPUT-i eth2-p udp--sport53-j ACCEPT

上面这几句是比较头痛的,我做逐一解释。

iptables-A INPUT-i eth0-s192.168.100.0/24-p tcp--dport3128-m state--state NEW,ESTABLISHED-j ACCEPT

允许192.168.100.0/24网段的机器发送数据包从eth0网卡进入。如果数据包是tcp协议,而且目的端口是3128(因为REDIRECT已经把80改为3128了。nat表的PREROUTING 是在filter表的INPUT前面的。)的,再而且,数据包的状态必须是NEW或者ESTABLISHED 的(NEW代表tcp三段式握手的“第一握”,换句话说就是,允许客户端机器向服务器发出链接申请。ESTABLISHED表示通过握手已经建立起链接),通过。

iptables-A OUTPUT-o eth2-p tcp--sport32768:61000-m state--state

NEW,ESTABLISHED-j ACCEPT

我们先来看这一句。现在你的数据包已经进入到linux服务器防火墙上来了。squid需要代替你去访问,所以这时,服务器就成了客户端的角色,所以它要使用32768到61000的私有端口进行访问。(大家会奇怪应该是1024到65535吧。其实CentOS版的linux所定义的私有端口是32768到61000的,你可以通过cat/proc/sys/net/ipv4/ip_local_port_range,查看一下。)再次声明:这里是squid以客户端的身份去访问其他的服务器,所以这里的源端口是32768:61000,而不是3128!

iptables-A INPUT-i eth2-p tcp--dport32768:61000-m state--state ESTABLISHED-j ACCEPT

当然了,数据有去就有回。

iptables-A OUTPUT-o eth0-d192.168.100.0/24-p tcp--sport3128-m state

--state ESTABLISHED-j ACCEPT

数据包还得通过服务器,转到内网网卡上。请注意,这里,是squid帮你去访问了你想要访问的网站。所以在内网中,你的机器是客户端角色,而squid是服务器角色。这与刚才对外访问的过程是不同的。所以在这里,源端口是3128,而不是32768:61000。

iptables-A OUTPUT-o eth2-p udp--dport53-j ACCEPT

iptables-A INPUT-i eth2-p udp--sport53-j ACCEPT

当然,DNS是不可缺少的。

iptables-A INPUT-i eth+-p tcp--dport80-j LOG--log-prefix"iptables_80_alert" --log-level info

iptables-A INPUT-i eth+-p tcp--dport21-j LOG--log-prefix"iptables_21_alert" --log-level info

iptables-A INPUT-i eth+-p tcp--dport22-j LOG--log-prefix"iptables_22_alert" --log-level info

iptables-A INPUT-i eth+-p tcp--dport25-j LOG--log-prefix"iptables_25_alert" --log-level info

iptables-A INPUT-i eth+-p icmp--icmp-type8-j LOG--log-prefix

"iptables_icmp8_alert"--log-level info

当然了,来点日志记录会对网管员有所帮助。

iptables基本命令使用举例

一、链的基本操作

1、清除所有的规则。

1)清除预设表filter中所有规则链中的规则。

#iptables-F

2)清除预设表filter中使用者自定链中的规则。

#iptables-X

#iptables-Z

2、设置链的默认策略。一般有两种方法。

1)首先允许所有的包,然后再禁止有危险的包通过放火墙。

#iptables-P INPUT ACCEPT

#iptables-P OUTPUT ACCEPT

#iptables-P FORWARD ACCEPT

2)首先禁止所有的包,然后根据需要的服务允许特定的包通过防火墙。

#iptables-P INPUT DROP

#iptables-P OUTPUT DROP

#iptables-P FORWARD DROP

3、列出表/链中的所有规则。默认只列出filter表。

#iptables-L

4、向链中添加规则。下面的语句用于开放网络接口:

#iptables-A INPUT-i lo-j ACCEPT

#iptables-A OUTPUT-o lo-j ACCEPT

#iptables-A INPUT-i eth0-j ACEPT

#iptables-A OUTPUT-o eth1-j ACCEPT

#iptables-A FORWARD-i eth1-j ACCEPT

#iptables-A FORWARD-0eth1-j ACCEPT

注意:由于本地进程不会经过FORWARD链,因此回环接口lo只在INPUT和OUTPUT两个链上作用。

5、使用者自定义链。

#iptables-N custom

#iptables-A custom-s0/0-d0/0-p icmp-j DROP

#iptables-A INPUT-s0/0-d0/0-j DROP

二、设置基本的规则匹配

1、指定协议匹配。

1)匹配指定协议。

#iptables-A INPUT-p tcp

2)匹配指定协议之外的所有协议。

#iptables-A INPUT-p!tcp

2、指定地址匹配。

1)指定匹配的主机。

#iptables-A INPUT-s192.168.0.18

2)指定匹配的网络。

#iptables-A INPUT-s192.168.2.0/24

3)匹配指定主机之外的地址。

#iptables-A FORWARD-s!192.168.0.19

4)匹配指定网络之外的网络。

#iptables-A FORWARD-s!192.168.3.0/24

3、指定网络接口匹配。

1)指定单一的网络接口匹配。

#iptables-A INPUT-i eth0

#iptables-A FORWARD-o eth0

2)指定同类型的网络接口匹配。

#iptables-A FORWARD-o ppp+

4、指定端口匹配。

1)指定单一端口匹配。

#iptables-A INPUT-p tcp--sport www

#iptables-A INPUT-p udp–dport53

2)匹配指定端口之外的端口。

#iptables-A INPUT-p tcp–dport!22

3)匹配端口范围。

#iptables-A INPUT-p tcp–sport22:80

4)匹配ICMP端口和ICMP类型。

#iptables-A INOUT-p icmp–icimp-type8

5)指定ip碎片。

个网络接口都有一个MTU(最大传输单元),这个参数定义了可以通过的数据包的最大尺寸。如果一个数据包大于这个参数值时,系统会将其划分成更小的数据包

(称为ip碎片)来传输,而接受方则对这些ip碎片再进行重组以还原整个包。这样会导致一个问题:当系统将大数据包划分成ip碎片传输时,第一个碎片含有

完整的包头信息(IP+TCP、UDP和ICMP),但是后续的碎片只有包头的部分信息(如源地址、目的地址)。因此,检查后面的ip碎片的头部(象有

TCP、UDP和ICMP一样)是不可能的。假如有这样的一条规则:

#iptables-A FORWARD-p tcp-s192.168.1.0/24-d192.168.2.100–dport80-j ACCEPT

并且这时的FORWARD的policy为DROP时,系统只会让第一个ip碎片通过,而余下的碎片因为包头信息不完整而无法通过。可以通过—fragment/-f选项来指定第二个及以后的ip碎片解决上述问题。#iptables-A FORWARD-f-s192.168.1.0/24-d192.168.2.100-j ACCEPT

注意现在有许多进行ip碎片攻击的实例,如DoS攻击,因此允许ip碎片通过是有安全隐患的,对于这一点可以采用iptables的匹配扩展来进行限制。

三、设置扩展的规则匹配(举例已忽略目标动作)

1、多端口匹配。

1)匹配多个源端口。

#iptables-A INPUT-p tcp-m multiport–sport22,53,80,110

2)匹配多个目的端口。

#iptables-A INPUT-p tcp-m multiport–dpoort22,53,80

3)匹配多端口(无论是源端口还是目的端口)

#iptables-A INPUT-p tcp-m multiport–port22,53,80,110

2、指定TCP匹配扩展

使用–tcp-flags选项可以根据tcp包的标志位进行过滤。

#iptables-A INPUT-p tcp–tcp-flags SYN,FIN,ACK SYN

#iptables-A FROWARD-p tcp–tcp-flags ALL SYN,ACK

上实例中第一个表示SYN、ACK、FIN的标志都检查,但是只有SYN匹配。第二个表示ALL(SYN,ACK,FIN,RST,URG,PSH)的标志都检查,但是只有设置了SYN和ACK的匹配。

#iptables-A FORWARD-p tcp--syn

选项—syn相当于”--tcp-flags SYN,RST,ACK SYN”的简写。

3、limit速率匹配扩展。

1)指定单位时间内允许通过的数据包个数,单位时间可以是/second、/minute、/hour、/day或使用第一个子母。

#iptables-A INPUT-m limit--limit300/hour

2)指定触发事件的阀值。

#iptables-A INPUT-m limit–limit-burst10

用来比对一次同时涌入的封包是否超过10个,超过此上限的包将直接丢弃。

3)同时指定速率限制和触发阀值。

#iptables-A INPUT-p icmp-m limit–-limit3/m–limit-burst3

表示每分钟允许的最大包数量为限制速率(本例为3)加上当前的触发阀值burst数。任何情况下,都可保证3个数据包通过,触发阀值burst相当于允许额外的包数量。

4)基于状态的匹配扩展(连接跟踪)

每个网络连接包括以下信息:源地址、目标地址、源端口、目的端口,称为套接字对(socket pairs);协议类型、连接状态(TCP协议)

和超时时间等。防火墙把这些信息称为状态(stateful)。状态包过滤防火墙能在内存中维护一个跟踪状态的表,比简单包过滤防火墙具有更大的安全性,命令格式如下:

iptables-m state–-state[!]state[,state,state,state]

其中,state表是一个逗号分割的列表,用来指定连接状态,4种:

>NEW:该包想要开始一个新的连接(重新连接或连接重定向)

>RELATED:该包是属于某个已经建立的连接所建立的新连接。举例:

FTP的数据传输连接和控制连接之间就是RELATED关系。

>ESTABLISHED:该包属于某个已经建立的连接。

>INVALID:该包不匹配于任何连接,通常这些包被DROP。

例如:

(1)在INPUT链添加一条规则,匹配已经建立的连接或由已经建立的连接所建立的新连接。即匹配所有的TCP回应包。

#iptables-A INPUT-m state–state RELATED,ESTABLISHED

(2)在INPUT链链添加一条规则,匹配所有从非eth0接口来的连接请求包。

#iptables-A INPUT-m state-–state NEW-i!eth0

又如,对于ftp连接可以使用下面的连接跟踪:

(1)被动(Passive)ftp连接模式。

#iptables-A INPUT-p tcp--sport1024:--dport1024:-m state–-state ESTABLISHED-j ACCEPT

#iptables-A OUTPUT-p tcp--sport1024:--dport1024:-m

state-–state ESTABLISHED,RELATED-j ACCEPT

(2)主动(Active)ftp连接模式

#iptables-A INNPUT-p tcp--sport20-m state–-state ESTABLISHED,RELATED-j ACCEPT #iptables-A OUTPUT-p tcp–OUTPUT-p tcp–dport20-m state--state ESTABLISHED-j ACCEPT

Linux防火墙iptables学习笔记(四)iptables实现NAT

1.概述

1.1什么是NAT

在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC地址以外,路由器不会对转发的数据包做任何修改。NAT(Network Address Translation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址、目的ip地址、源端口、目的端口进行改写的操作。

1.2为什么要进行NAT

我们来看看再什么情况下我们需要做NAT。

假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息,这时候我们就可以通过NAT来提供这种服务了。我们可以再防火墙的外部网卡上绑定多个合法IP地址,然后通过NAT技术使发给其中某一个IP 地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP 发出的包。

再比如使用拨号上网的网吧,因为只有一个合法的IP地址,必须采用某种手段让其他机器也可以上网,通常是采用代理服务器的方式,但是代理服务器,尤其是应用层代理服务器,只能支持有限的协议,如果过了一段时间后又有新的服务出来,则只能等待代理服务器支持该新应用的升级版本。如果采用NAT来解决这个问题,

因为只在应用层以下进行处理,不但可以获得很高的访问速度,而且可以无缝的支持任何新的服务或应用。

还有一个方面的应用就是重定向,也就是当接收到一个包后,不是转发这个包,而是将其重定向到系统上的某一个应用程序。最常见的应用就是和squid配合使用成为透明代理,在对http流量进行缓存的同时,可以提供对Internet的无缝访问。

1.3NAT的类型

在linux2.4的NAT-HOWTO中,作者从原理的角度将NAT分成了两种类型,即源NAT(SNAT)和目的NAT(DNAT),顾名思义,所谓SNAT就是改变转发数据包的源地址,所谓DNAT就是改变转发数据包的目的地址。

2.原理

下图是linux2.4的原理图:

在“用iptales实现包过虑型防火墙”一文中我们说过,netfilter是Linux核心中一个通用架构,它提供了一系列的"表"(tables),每个表由若干"链"(chains)组成,而每条链中可以有一条或数条规则(rule)组成。并且系统缺省的表是"filter"。但是在使用NAT的时候,我们所使用的表不再是"filter",而是"nat"表,所以我们必须使用"-t nat"选项来显式地指明这一点。因为系统缺省的表是"filter",所以在使用filter 功能时,我们没有必要显式的指明"-t filter"。

同filter表一样,nat表也有三条缺省的"链"(chains),这三条链也是规则的容器,它们分别是:

PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip 地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT; POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。

OUTPUT:定义对本地产生的数据包的目的NAT规则。

3.操作语法

如前所述,在使用iptables的NAT功能时,我们必须在每一条规则中使用"-t nat"显示的指明使用nat 表。然后使用以下的选项:

3.1对规则的操作

加入(append)一个新规则到一个链(-A)的最后。

在链内某个位置插入(insert)一个新规则(-I),通常是插在最前面。

在链内某个位置替换(replace)一条规则(-R)。

在链内某个位置删除(delete)一条规则(-D)。

删除(delete)链内第一条规则(-D)。

3.2指定源地址和目的地址

通过--source/--src/-s来指定源地址(这里的/表示或者的意思,下同),通过--destination/--dst/-s来指定目的地址。可以使用以下四中方法来指定ip地址:

使用完整的域名,如“https://www.360docs.net/doc/2617399817.html,”;

使用ip地址,如“192.168.1.1”;

用x.x.x.x/x.x.x.x指定一个网络地址,如“192.168.1.0/255.255.255.0”;

用x.x.x.x/x指定一个网络地址,如“192.168.1.0/24”这里的24表明了子网掩码的有效位数,这是UNIX 环境中通常使用的表示方法。缺省的子网掩码数是32,也就是说指定192.168.1.1等效于

192.168.1.1/32。

3.3指定网络接口

可以使用--in-interface/-i或--out-interface/-o来指定网络接口。从NAT的原理可以看出,对于PREROUTING链,我们只能用-i指定进来的网络接口;而对于POSTROUTING和OUTPUT我们只能用-o指定出去的网络接口。

3.4指定协议及端口

可以通过--protocol/-p选项来指定协议,如果是udp和tcp协议,还可--source-port/--sport和

--destination-port/--dport来指明端口。

4.准备工作

4.1编译内核,编译时选中以下选项,具体可参看“用iptales实现包过虑型防火墙”一文:

Full NAT

MASQUERADE target support

REDIRECT target support

4.2要使用NAT表时,必须首先载入相关模块:

modprobe ip_tables

modprobe ip_nat_ftp

iptable_nat模块会在运行时自动载入。

5.使用实例

5.1源NAT(SNAT)

比如,更改所有来自192.168.1.0/24的数据包的源ip地址为1.2.3.4:

iptables-t nat-A POSTROUTING-s192.168.1.0/24-o eth0-j SNAT--to1.2.3.4

这里需要注意的是,系统在路由及过虑等处理直到数据包要被送出时才进行SNAT。

有一种SNAT的特殊情况是ip欺骗,也就是所谓的Masquerading,通常建议在使用拨号上网的时候使用,或者说在合法ip地址不固定的情况下使用。比如

#iptables-t nat-A POSTROUTING-o ppp0-j MASQUERADE

可以看出,这时候我们没有必要显式的指定源ip地址等信息。

5.2目的SNAT(DNAT)

比如,更改所有来自192.168.1.0/24的数据包的目的ip地址为1.2.3.4:

iptables-t nat-A PREROUTING-s192.168.1.0/24-i eth1-j DNAT--to1.2.3.4

这里需要注意的是,系统是先进行DNAT,然后才进行路由及过虑等操作。

有一种DNAT的特殊情况是重定向,也就是所谓的Redirection,这时候就相当于将符合条件的数据包的目的ip地址改为数据包进入系统时的网络接口的ip地址。通常是在与squid配置形成透明代理时使用,假设squid的监听端口是3128,我们可以通过以下语句来将来自192.168.1.0/24,目的端口为80的数据包重定向到squid监听端口:

iptables-t nat-A PREROUTING-i eth1-p tcp-s192.168.1.0/24--dport80-j REDIRECT

--to-port3128

6.综合例子

6.1使用拨号带动局域网上网

小型企业、网吧等多使用拨号网络上网,通常可能使用代理,但是考虑到成本、对协议的支持等因素,建议使用ip欺骗方式带动区域网上网。

成功升级内核后安装iptables,然后执行以下脚本:

#载入相关模块

modprobe ip_tables

modprobe ip_nat_ftp

#进行ip伪装

iptables-t nat-A POSTROUTING-o ppp0-j MASQUERADE

6.2ip映射

假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息。我们可以再防火墙的外部网卡上绑定多个合法IP地址,然后通过ip映射使发给其中某一个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。

我们假设以下情景:

该ISP分配给A单位www服务器的ip为:

伪ip:192.168.1.100

真实ip:202.110.123.100

该ISP分配给B单位www服务器的ip为:

伪ip:192.168.1.200

真实ip:202.110.123.200

linux防火墙的ip地址分别为:

内网接口eth1:192.168.1.1

外网接口eth0:202.110.123.1

然后我们将分配给A、B单位的真实ip绑定到防火墙的外网接口,以root权限执行以下命令:

ifconfig eth0add202.110.123.100netmask255.255.255.0

ifconfig eth0add202.110.123.200netmask255.255.255.0

成功升级内核后安装iptables,然后执行以下脚本:

#载入相关模块

modprobe ip_tables

modprobe ip_nat_ftp

首先,对防火墙接收到的目的ip为202.110.123.100和202.110.123.200的所有数据包进行目的NAT(DNAT):

iptables-A PREROUTING-i eth0-d202.110.123.100-j DNAT--to192.168.1.100 iptables-A PREROUTING-i eth0-d202.110.123.200-j DNAT--to192.168.1.200

其次,对防火墙接收到的源ip地址为192.168.1.100和192.168.1.200的数据包进行源NAT(SNAT):

iptables-A POSTROUTING-o eth0-s192.168.1.100-j SNAT--to202.110.123.100 iptables-A POSTROUTING-o eth0-s192.168.1.200-j SNAT--to202.110.123.200

这样,所有目的ip为202.110.123.100和202.110.123.200的数据包都将分别被转发给

192.168.1.100和192.168.1.200;而所有来自192.168.1.100和192.168.1.200的数据包都将分别被伪装成由202.110.123.100和202.110.123.200,从而也就实现了ip映射。

Linux防火墙iptables学习笔记(五)linux+iptables构筑防火墙实例

本文旨在用为公司做防火墙的实例,让大家对Linux+iptables做防火墙的安装和配置有一个大致的了解,希望能起到抛砖引玉的作用。

系统环境与网络规化

先了解一下公司的环境,公司利用2M ADSL专线上网,电信分配公用IP为

218.4.62.12/29,网关为218.4.62.13,公司有电脑五十多台,使用DHCP,IP是

192.168.2.XXX,DHCP Server建在iptables Server上;另公司有一电脑培训中心,使用指定固定IP,IP为192.168.20.XXX,为了更加快速的浏览网页,我们架了一台Squid Server,所有电脑通过Squid Server浏览网页,公司还另有一台WEB Server+Mail Server+Ftp Server。其IP为218.4.62.18。以上电脑和服务器要求全架在防火墙内。我们规化如下:

Iptables Server上有三块网卡,eth0上加有二个IP,218.4.62.14和218.4.62.18。

其中218.4.62.14为共享上网,218.4.62.18为WEB Server专用,Eth1的IP为192..168.2.9;为了使培训中心PC与公司PC之间互不访问,所以直接从Iptables Server 接到Switch-B,eth2接至Switch-A,连接培训中心PC和Squid Server,Web Server。

网络规化好了后,就开始装服务器了,Iptables Server用的系统为Redhat Linux V7.3。在装服务器时要注意选上防火墙的安装包。

IPTABLES基础

Iptables语法:

Iptables[-t TABLE]ACTION[PATTERN][-j TARGET]

TABLE:

有filter,nat,mangle;若无指定,预设为filter table.

ACTION(对Chains执行的动作):

ACTION说明

-L Chain显示Chain中的所有规则

-A Chain对Chain新增一条规则

-D Chain删除Chain中的一条规则

-I Chain在Chain中插入一条规则

-R Chain替换Chain中的某一条规则

-P Chain对Chain设定的预设的Policy

-F Chain清除Chain中的所有规则

-N Chain自订一个Chain

-X清除所有的自订Chain

CHAINS:

Iptables有五条默认的Chains(规则链),如下表:Chains发生的时机

PREROUTING数据包进入本机后,进入Route Table前INPUT数据包通过Route Table后,目地为本机OUTPUT由本机发出,进入Route Table前

FORWARD通过Route Table后,目地不是本机时POSTROUTING通过Route Table后,送到网卡前PATTERN(设定条件部份):

参数内容说明

-p Protocol通讯协议,如tcp,udp,icmp,all等。。。

-s Address指定的Source Address为Address

-d Address指定的Destination Address为Address

-I Interface指定数据包进入的网卡

-o Interface指定数据包输出的网卡

-m Match指定高级选项,如mac,state,multiport等。。。TARGET(常用的动作):

TARGET说明

linux防火墙iptables配置(Linux下多网段Nat实现与应用)

Linux下多网段Nat实现与应用 Iptables/netfilter是一个可以替代价格昂贵的商业防火墙的网络安全保护解决方案,能够实现数据包过滤、数据包重定向和网络地址转换(NAT)等多种功能。 准备: 操作系统安装光盘:CentOS-6.1版本 硬件要求:dell poweredge 410(需双网卡) 实现功能: 192.168.11.0/24、192.168.10.0/24网段通过防火墙NAT转换访问外网,并实现数据包过滤。 过程: 步骤#1. 安装操作系统(最基本安装即可) 步骤#2. 设置网卡地址 外网eth0 IP:xx.xx.xx.xx 内网eth1 IP:172.16.1.254 网卡路径:/etc/sysconfig/network-scripts DEVICE=eth0 HWADDR=00:0e:0c:3a:74:c4 NM_CONTROLLED=yes ONBOOT=yes TYPE=Ethernet BOOTPROTO=none IPV6INIT=no USERCTL=no IPADDR=xx.xx.xx.xx NETMASK=255.255.255.252 DEVICE=eth1 HWADDR=00:0e:0c:3a:74:c4 NM_CONTROLLED=yes ONBOOT=yes TYPE=Ethernet BOOTPROTO=none IPV6INIT=no USERCTL=no IPADDR=172.16.1.254 NETMASK=255.255.255.0 步骤#3. 添加路由 把路由写到 /etc/rc.d/rc.local文件里,这样每次启动就不用重新设置了。 route add -net 172.16.1.0 netmask 255.255.255.0 gw 172.16.1.1 route add -net 192.168.11.0 netmask 255.255.255.0 gw 172.16.1.1 route add -net 192.168.10.0 netmask 255.255.255.0 gw 172.16.1.1 route add default gw 60.190.103.217 172.16.1.1是交换机与Linux的内网网卡接口的地址

iptables防火墙架构实验报告

iptables防火墙架构实验报告 班级:10网工三班学生姓名:谢昊天学号:1215134046 实验目的和要求: 1、熟悉和掌握TCP/IP协议的基础概念和方法; 2、掌握防火墙的概念、功能分类及实现方法; 3、掌握Linux系统防火墙和基于iptables的防火墙的配置方法。 4、参考课本课本P201,图9-2,完整实现SNAT的功能。 实验内容与分析设计: 防火墙在实施安全的过程中是至关重要的。一个防火墙策略要符合四个目标,而每个目标通常都不是一个单独的设备或软件来实现的。大多数情况下防火墙的组件放在一起使用以满足公司安全目的需求。防火墙要能满足以下四个目标: 1> 实现一个公司的安全策略 防火墙的主要意图是强制执行你的安全策略,比如你的安全策略需要对MAIL服务器的SMTP流量做限制,那么你要在防火墙上强制这些策略。 2> 创建一个阻塞点 防火墙在一个公司的私有网络和分网间建立一个检查点。这种实现要求所有的流量都要经过这个检查点。一旦检查点被建立,防火墙就可以监视,过滤和检查所有进出的流量。网络安全中称为阻塞点。通过强制所有进出的流量都通过这些检查点,管理员可以集中在较少的地方来实现安全目的。 3> 记录internet活动 防火墙还能强制记录日志,并且提供警报功能。通过在防火墙上实现日志服务,管理员可以监视所有从外部网或互联网的访问。好的日志是适当网络安全的有效工具之一。 4> 限制网络暴露 防火墙在你的网络周围创建了一个保护的边界。并且对于公网隐藏了内部系统的一些信息以增加保密性。当远程节点侦测你的网络时,他们仅仅能看到防火墙。远程设备将不会知道你内部网络的布局以及都有些什么。防火墙提高认证功能和对网络加密来限制网络信息的暴露。通过对所能进入的流量进行检查,以限制从外部发动的攻击。

利用Iptables实现网络黑白名单防火墙怎么设置

利用Iptables实现网络黑白名单防火墙怎么设置 防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。这篇文章主要介绍了详解Android 利用Iptables实现网络黑白名单(防火墙),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 具体步骤 二、Iptables网络黑白名单(防火墙)实现细节 因为考虑到一些权限的问题所以在实现方法上采用的是创建一个systemserver来运行这些方法。并提供出manager到三方应用,这样在调用时可以排除一些权限的限制。同时本文只是做一个简单的参考概述,所以在后文中只提供了增加黑白名单的方法和iptables规则,并没有提供相应的删除规则等,原理类似大家可自行补充添加。

2.1、创建systemserver 2.1.1、在/system/sepolicy/service.te中添加 type fxjnet_service, system_api_service, system_server_service, service_manager_type; 2.2.2、在/system/sepolicy/service_contexts中添加如下, fxjnet u:object_r:fxjnet_service:s0 2.2.3、在frameworks/base/core/java/android/content/Context.java中添加 也可以不添加这个,只不过为了后面调用方便所以添加了。如果跳过此步,那么后面出现Context.FXJNET_SERVICE的地方都用字串代替即可。 public static final String FXJNET_SERVICE="fxjnet";

2018Linux防火墙iptables配置详解

2018-Linux防火墙iptables配置详解 一、开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n 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 Chain RH-Firewall-1-INPUT (0 references) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口. 如果你在安装linux时没有选择启动防火墙,是这样的 [root@tp ~]# iptables -L -n 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 什么规则都没有. (2)清除原有规则. 不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则. [root@tp ~]# iptables -F清除预设表filter中的所有规则链的规则 [root@tp ~]# iptables -X清除预设表filter中使用者自定链中的规则 我们在来看一下

Linux6 防火墙配置

linux配置防火墙详细步骤(iptables命令使用方法) 通过本教程操作,请确认您能使用linux本机。如果您使用的是ssh远程,而又不能直接操作本机,那么建议您慎重,慎重,再慎重! 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n 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 Chain RH-Firewall-1-INPUT (0 referenc es) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 ACCEPTah--0.0.0.0/00.0.0.0/0 ACCEPTudp--0.0.0.0/0224.0.0.251udpdpt:5353 ACCEPTudp--0.0.0.0/00.0.0.0/0udpdpt:631 ACCEPTall--0.0.0.0/00.0.0.0/0stateRELATED,ESTABLISHED ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:22 ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:80 ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:25 REJECTall--0.0.0.0/00.0.0.0/0reject-withicmp-host-prohibited

Linux防火墙 iptables详细介绍

周旭光unixzhou@https://www.360docs.net/doc/2617399817.html, Linux防火墙iptables 周旭光 unixzhou@https://www.360docs.net/doc/2617399817.html, 2011年5月10日 目录 1、Linux防火墙基础 (2) 1、iptables的规则表、链结构 (2) 1.1 规则表 (2) 1.2 规则链 (2) 2、数据包的匹配流程 (2) 2.1 规则表之间的优先级 (2) 2.2 规则链之间的优先级 (2) 2.3 规则链内部各防火墙规则之间的优先顺序 (3) 2、管理和设置iptables规则 (3) 2.1 iptables的基本语法格式 (3) 2.2 管理iptables规则 (3) iptables命令的管理控制项 (3) 2.3 条件匹配 (5) 2.3.1 通用(general)条件匹配 (5) 2.3.2 隐含(implicit)条件匹配 (6) 2.3.3 显示(explicit)条件匹配 (6) 2.4 数据包控制 (7) 3、使用防火墙脚本 (8) 3.1 导出、导入防火墙规则 (8) 3.2 编写防火墙脚本 (8)

1、Linux防火墙基础 1、iptables的规则表、链结构 1.1 规则表 iptables管理4个不同的规则表,其功能由独立的内核模块实现。 filter表:包含三个链INPUT , OUTPUT , FORWARD nat表:PREROUTING , POSTROTING , OUTPUT mangle表:PREROUTING , POSTROUTING , INPUT , OUTPUT , FORWARD raw表:OUTPUT , PREROUTING 1.2 规则链 INPUT链当收到访问防火墙本机的数据包(入站)时,应用此链中的规则 OUTPUT链当防火墙本机向外发送数据包(出站)时,应用此链中的规则 FORWARD链收到需要通过防火墙发送给其他地址的数据包,应用此链 PREROUTING链做路由选择之前,应用此链 POSTROUTING链对数据包做路由选择之后,应用此链中的规则 2、数据包的匹配流程 2.1 规则表之间的优先级 Raw mangle nat filter 2.2 规则链之间的优先级 入站数据流向:来自外界的数据包到达防火墙,首先呗PREROUTING规则链处理(是否被修改地址),之后会进行路由选择(判断该数据包应该发往何处),如果数据包的目标地址是防火墙本机,那么内核将其传递给INPUT 链进行处理,通过以后再交给上次的应用程序进行响应 转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后进行路由选择,如果数据包的目标地址是其他外部地址,则内核将其传递给FPRWARD链进行处理,然后再交给POSTROUTIING 规则链(是否修改数据包的地址等)进行处理。 出站数据流向:防火墙本身向外部地址发送数据包,首先被OUTPUT规则链处理,之后进行路由选择,然后

iptables配置

netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。 虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。 netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。 iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。 iptables包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度。 4个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。 filter:一般的过滤功能 nat:用于nat功能(端口映射,地址映射等) mangle:用于对特定数据包的修改 raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能 5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。 PREROUTING:数据包进入路由表之前

(完整版)linux下各种服务进程之iptables详解

linux下IPTABLES配置详解 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n 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 Chain RH-Firewall-1-INPUT (0 references) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口. 如果你在安装linux时没有选择启动防火墙,是这样的 [root@tp ~]# iptables -L -n 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

Linux 防火墙iptables 禁止某些 IP访问

Linux 防火墙iptables 禁止某些 IP 访问 https://www.360docs.net/doc/2617399817.html, 编辑:phper 来源:转载 在Linux下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。 方法一,过滤一些IP访问本服务器 要封停一个IP,使用下面这条命令: 代码如下复制代码iptables -I INPUT -s ***.***.***.*** -j DROP 要解封一个IP,使用下面这条命令: 代码如下复制代码iptables -D INPUT -s ***.***.***.*** -j DROP 参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT 表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。 此外,还可以使用下面的命令来查看当前的IP规则表: 代码如下复制代码iptables -list 比如现在要将123.44.55.66这个IP封杀,就输入: 代码如下复制代码iptables -I INPUT -s 123.44.55.66 -j DROP 要解封则将-I换成-D即可,前提是iptables已经有这条记录。如果要想清空封掉的IP地址,可以输入:

代码如下复制代码iptables -flush 要添加IP段到封停列表中使用下面的命令: 代码如下复制代码iptables -I INPUT -s 121.0.0.0/8 -j DROP 其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。 方法二,使用脚本来进行屏蔽 1.先下载ip地址文件 我们先到IPdeny下载以国家代码编制好的ip地址列表,比如下载cn.zone: wget https://www.360docs.net/doc/2617399817.html,/ipblocks/data/countries/cn.zone 现在有了国家的所有IP地址,要想屏蔽这些IP 就很容易了,直接写个脚本逐行读取cn.zone文件并加入到iptables中: iptables屏蔽某个国家ip段 代码如下复制代码#!/bin/bash # Block traffic from a specific country # written by https://www.360docs.net/doc/2617399817.html, COUNTRY = "cn" IPTABLES = /sbin/iptables EGREP = /bin/egrep if [ "$(id -u)" != "0" ]; then echo "you must be root" 1>&2 exit 1 fi resetrules() {

RHEL5配置iptables防火墙

RHEL5.4配置iptables防火墙 关于linux下面配置iptables防火墙的讨论, Iptables与netfilter模块关系 在linux下面的防火墙并不是一个服务,而是一个加载到内核中的模块。这个模块就是netfilter模块(网络过滤模块),我们使用iptables工具来管理这个netfilter 模块。 Iptables的模式 Enabled 默认拒绝所有 Disabled 默认允许所有 我们可以通过system-config-securitylevel这条命令通过图形界面修改, 这里可以选择enabled模式和disabled模式。 关于netfilter表和netfilter链

这张图就很清楚的显示了netfilter表和netfilter链。 Filter table里面有三条链: INPUT 目的地是访问防火墙本身的数据包 OUTPUT 源地址是防火墙出去的数据包 FORWARD 数据包的源地址和目的地址都不是防火墙的数据包Nat table里面也有三条链: OUTPUT 数据包在出网关之前被丢给代理服务器PREROUTING 做目的NAT转换(路由判断之前) POSTROUTING 做源NAT转换(路由判断之后) Mangle talbe里面有五条链: INPUT OUTPUT FORWARD PREROUTING POSTROUTING 关于iptables数据包的流程 这张图就显示了整个iptables防火墙在工作时候的数据包流程。 关于iptables的访问控制规则

当数据包要经过iptables防火墙,首先读取第一条策略,如果第一条策略匹配,则执行,不在读取下面的策略。如果第一条策略没有匹配,则读取第二条策略,如果匹配到第二条策略,则执行,不在读取下面的策略。如果数据包没有匹配到任何策略,则匹配默认策略。默认策略是允许或者拒绝可以由用户自己定义。 关于iptables的匹配规则 -s 192.168.0.0/24 源地址为192.168.0.0/24的网段 -d 192.168.0.10 目的地址为192.168.0.10的主机 -i eth0 从eht0进来的数据包 -o eth0 从eth0出去的数据包 ‘!’ 192.168.0.10 反向选择 -p tcp --dport 80 协议的类型,目标端口是80 -p udp --sport 53 协议类型,源端口是53 关于iptables的规则目标 DROP 拒绝 ACCEPT 允许 LOG 日志,匹配到这条策略后,还是会继续往下面读取策略。REJECT 拒绝,但是会给用户回应的信息。 关于iptables基本链操作 Iptables -L 查看iptables table(默认显示filter table) Iptables -nL 以IP地址的方式显示 Iptables -L --line-numbers 显示策略条目的行号 Iptables -vL 查看iptables table(显示更具体的信息) Iptables -A 追加iptables的策略条目(默认会追加策略的最后面) Iptables -I 插入iptables的策略条目(默认插入到策略的最前面) Iptables -I INPUT 2 插入成iptables策略条目的第二条策略 Iptables -D INPUT 2 删除iptables策略条目的第二条策略

LINUX下防火墙iptables的日志管理心得

LINUX下防火墙iptables的日志管理心得 LINUX下防火墙iptables的日志管理心得 iptables的日志(log)由syslogd纪录和管理。初始存放在/var/log/messages里面。自动采取循环纪录(rotation)的方式记录。但是由于混在messages中,对于管理和监视产生了不便。这里,我简单介绍一下我的iptables日志的管理,循环,和自动报告生成的经验: 由于iptables是linux的内核本身的.功能,由dmesg或syslogd 的facility结合内核管理。iptables的日志的初始值是[warn(=4)],需要修改syslog.conf。 --------------------------------------------------------------- : kern.=warn/var/log/kern-warn-log←可以自己决定文件名 --------------------------------------------------------------- 这里,facility在[kern]是priority的[warn],日志将被记录在/var/log/kern-warn-log。 日志循环的设置方法: 在/etc/logrotated.d/syslog中追加以下语句: ------------------------------------------------------- 1/ 3

------- : /var/log/kern-warn-log{ rotate50剩余文件数 postrotate /bin/kill-HUP`cat/var/run/syslogd.pid2>/dev/null`2>/dev/null||true endscript } -------------------------------------------------------------- /etc/logrotate.conf的初始设置是每周一进行一次log的循环。所以每周的日志将被存在/var/log/kern-warn-log中,之前的旧日志将被顺次存储在kern-warn-log.1-----kern-warn-log.50中。 另外还有一种方法就是通过iptables直接获取日志:(一般不用)#iptables-AINPUT-s127.0.0.1-picmp-jLOG--log-prefix"iptablesicmp-localhost"←保存从eth0进入的packet纪录 #iptables-AINPUT-s127.0.0.1-picmp-jDROP←废除从eth0进入的packet纪录 这样一来,/var/log/kern-warn-log的内容将如下所示: Sep2310:16:14hostnamekernel:iptablesicmp- 2/ 3

Linux防火墙的配置实例

Linux防火墙的配置实例 我们该如何利用Linux操作系统自带的防火墙来提高网络的管理控制功能呢?具体的来说,我们可以分三步走。一是先在Linux服务器上开一个后门,这个后门是专门给我们网络管理员管理服务器用的。二是把所有的进站、出站、转发站接口都关闭,此时,只有通过我们上面开的后门,管理员才能够远程连接到服务器上,企图任何渠道都不能连接到这台主机上。三是根据我们服务器的用途,把一些需要用到的接口开放出去。 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后复原 开启: service iptables start 关闭: service iptables stop 清除原有规则. 不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则. [root@tp ~]# iptables -F 清除预设表filter中的所有规则链的规则 [root@tp ~]# iptables -X 清除预设表filter中使用者自定链中的规则 我们在来看一下 [root@tp ~]# iptables -L -n 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 什么都没有了吧,和我们在安装linux时没有启动防火墙是一样的.(提前说一句,这些配置就像用命令配置IP一样,重起就会失去作用),怎么保存. [root@tp ~]# /etc/rc.d/init.d/iptables save

linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)

linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链) 一、iptables:从这里开始 删除现有规则 iptables -F (OR) iptables --flush 设置默认链策略 iptables的filter表中有三种链:INPUT, FORWARD和OUTPUT。默认的链策略是ACCEPT,你可以将它们设置成DROP。 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP 你需要明白,这样做会屏蔽所有输入、输出网卡的数据包,

除非你明确指定哪些数据包可以通过网卡。 屏蔽指定的IP地址 以下规则将屏蔽BLOCK_THIS_IP所指定的IP地址访问本地主机: BLOCK_THIS_IP="x.x.x.x" iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP (或者仅屏蔽来自该IP的TCP数据包) iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP 允许来自外部的ping测试 iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT 允许从本机ping外部主机 iptables -A OUTPUT -p icmp --icmp-type echo-request -j

iptables命令大全

数据包经过防火墙的路径 图1比较完整地展示了一个数据包是如何经过防火墙的,考虑到节省空间,该图实际上包了三种情况: 来自外部,以防火墙(本机)为目的地的包,在图1中自上至下走左边一条路径。 由防火墙(本机)产生的包,在图1中从“本地进程”开始,自上至下走左边一条路径 来自外部,目的地是其它主机的包,在图1中自上至下走右边一条路径。 图1 如果我们从上图中略去比较少用的mangle表的图示,就有图2所显示的更为清晰的路径图.

图2 禁止端口的实例 禁止ssh端口 只允许在192.168.62.1上使用ssh远程登录,从其它计算机上禁止使用ssh #iptables -A INPUT -s 192.168.62.1 -p tcp --dport 22 -j ACCEPT #iptables -A INPUT -p tcp --dport 22 -j DROP

?禁止代理端口 #iptables -A INPUT -p tcp --dport 3128 -j REJECT ?禁止icmp端口 除192.168.62.1外,禁止其它人ping我的主机 #iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type echo-request -j ACCEPT #iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request –j ?DROP 或 #iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type 8 -j ACCEPT #iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP 注:可以用iptables --protocol icmp --help查看ICMP类型 还有没有其它办法实现? ?禁止QQ端口 #iptables -D FORWARD -p udp --dport 8000 -j REJECT 强制访问指定的站点

防火墙工具 iptables

Linux firewall 进展过程
Ipchains (Linux 2.2 Kernel). Iptables (Linux 2.4 kernel).
防火墙工具 iptables
防火墙基本上是设定防火墙规则( RULES ) 规范封包的处. iptables 将同的规则集合起,放进同的链( CHAINS ). iptables 的三个内建链 ( Built-in Chains ) 分别是:INPUTOUTPUT 与 FORWARD. iptables 工具主要具备三个 tables, table 中包含 chains, chains 面包 含的就是 rules 和 policies. Iptable 结构示意图

IP datagram 在 Kernel 中处的态图

The IP datagram is received. (1) If the datagram is for this machine, it is processed locally. (2) Forward (3) Datagrams from local processes are sent to the routing software for forwarding to the appropriate interface. (4) The IP datagram is transmitted. (5) Input rule is applied at flow 2. Output rule is applied at flow 4.

iptables系统配置防火墙和NAT功能的实例学习

iptables系统配置防火墙和NAT功能的实例学习 来源: ChinaUnix博客日期:2007.11.01 11:55(共有0条评论) 我要评论 关于Slackware 9.1.0 的配置说明 ********************************************************* * * *******关于防火墙系统恢复操作和启动方法说明******************* * * ********************************************************* 该系统主要作用就是对内部服务器作静态nat映射和端口访问控制。 在防火墙中,系统启动时已经自动启动了以上防火墙脚本,启动位置为:/etc/rc.d/rc.local文件中,sh /etc/rc.d/nat_firewall.sh #在系统启动时自动启动该脚本 如果需要手动启用防火墙和静态nat映射功能,操作以下步骤即可。 cd /etc/rc.d/ ./portnat.sh 如果用户不需要对内部服务器作任何端口控制,只需要作静态nat映射,只要执行以下文件,即可恢复不设防火墙状态。 cd /etc/rc.d/ ./no_firewall.sh ********************************************************** * * ****关于Slackware 9.1.0 系统配置防火墙和NAT功能的配置说明***** ****(nat_firewall.sh) * **********************************************************

CentOS系统中squid透明代理+iptables防火墙详细配置

CentOS系统中squid透明代理+iptables防火墙详细配置 2015-03-02 16:12:04| 分类:http | 标签:|举报|字号大中小订阅 看到很多人都在不停地问iptables+squid做透明代理的问题,鄙人不才,斗胆在此做统一解答。如有任何纰漏还望各位批评指教。=================================== 看到很多人都在不停地问iptables+squid做透明代理的问题,鄙人不才,斗胆在此做统一解答。如有任何纰漏还望各位批评指教。 ===================================================================== 相关资源: https://www.360docs.net/doc/2617399817.html,,左下角有iptables的man,仔细看看。 系统: CentOS4.2,三块网卡,两个内网,一个外网。双至强,2GHz,2GB内存。服务器主要开了squid,sshd,其他的一律闭掉了。 eth0:192.168.100.1 eth1:192.168.168.12 eth2:A.B.C.D ―― 外网地址 ===================================================================== squid设定可以根据自己的情况来,我们假设其端口为3128,在三块网卡上都有监听(不要绑定某一个IP 或网卡)。 /etc/squid/squid.conf http_port 3128 cache_mem 1000 MB cache_swap_low 90 cache_swap_high 95 cache_dirufs /opt/cache/squid 8000 16 256 cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log dns_nameservers 210.77.192.88 maximum_object_size 409600 KB maximum_object_size_in_memory 64000 KB emulate_httpd_log on ipcache_size 1024 ipcache_low 90 ipcache_high 95 fqdncache_size 1024 forwarded_for off coredump_dir /opt/cache/squid/coredumphttpd_accel_port 80 httpd_accel_host virtual httpd_accel_with_proxy on httpd_accel_single_host off httpd_accel_uses_host_header on

CentOS下配置iptables防火墙

在Linux中设置防火墙,以CentOS为例,打开iptables的配置文件: 1.vi /etc/sysconfig/iptables 2. 通过/etc/init.d/iptables status命令查询是否有打开80端口,如果没有可通过两种方式处理: 1.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口 1.-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 2. 2.关闭/开启/重启防火墙 1./etc/init.d/iptables stop 2. 3.#start 开启 4. 5.#restart 重启 6. 3.永久性关闭防火墙 1.chkconfig --level 35 iptables off 2. 3./etc/init.d/iptables stop 4. 5.iptables -P INPUT DROP 6. 4.打开主动模式21端口 1.iptables -A INPUT -p tcp --dport 21 -j ACCEPT 2. 5.打开被动模式49152~65534之间的端口 1.iptables -A INPUT -p tcp --dport 49152:65534 -j ACCEPT 2. 3.iptables -A INPUT -i lo -j ACCEPT 4. 5.iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 6.

Linux关闭防火墙命令

L i n u x关闭防火墙命令公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

(1)重启后永久性生效:开启:chkconfig iptables on 关闭:chkconfig iptables off (2)即时生效,重启后失效: 开启:service iptables start 关闭:service iptables stop 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。 在开启了防火墙时,做如下设置,开启相关端口, 修改/etc/sysconfig/iptables 文件,添加以下内容: -A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 22 -j ACCEPT 或者:

/etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。 /etc/rc.d/init.d/iptables stop 关闭防火墙 最后: 在根用户下输入setup,进入一个图形界面,选择Firewall configuration,进入下一界面,选择Security Level为Disabled,保存。重启即可。 ====================================================== fedora下 /etc/init.d/iptables stop ======================================================= ubuntu下: 由于UBUNTU没有相关的直接命令 请用如下命令 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT

相关文档
最新文档