2022
我们一起努力

iptables防火墙规则,iptables防火墙规则隐藏

目录:

  • 1、启用iptables防火墙规则,修改哪个文件?
  • 2、iptables详解
  • 3、iptables防攻击
  • 4、linux/unix -shell值iptables基础知识
  • 5、linux中iptables防火墙怎么设置?

启用iptables防火墙规则,修改哪个文件?

iptables的规则是保存在/etc/sysconfig/iptables中的,你可以使用

iptables-save 文件名来自定义规则的保存位置,使用iptables-restore

文件名来恢复

启动iptables :service iptables start

查看当前设置:iptables -L -n

iptables详解

netfilter/iptables (简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

iptables和netfilter的关系:

这是第一个要说的地方,Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/**in/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),放行外部主机发住服务器其它端口的应答数据包,将其他入站数据包均予以丢弃处理。

iptables防攻击

如果处于半开放状态的连接绑定服务器上的资源,则可能通过向服务器大量发送SYN消息来占用所有这些资源。Syn flood是常见的攻击,可以通过以下iptables规则进行阻挡:

所有进入的连接是允许的,直到达到极限:

-limit 1/s:以秒为单位的最大平均匹配率

-limit-burst 3:要匹配的包的最大初始数量

举例1:限制 ssh连接数

假设您需要限制到ssh服务器(端口22)的传入连接在10分钟内不超过10个连接:

举例2:防范DoS攻击

上面的iptables规则将帮助您防止拒绝服务(DoS)攻击您的web服务器。

在上面的例子中:

-m limit:它使用limit iptables扩展名

–limit 25/minute:这限制了每分钟最多25个连接。根据您的具体需求更改此值

-limit-burst 100:这个值表示只有当连接总数达到了limit-burst级别时才会执行limit/min。

举例3:限制每个IP /主机的SSH连接

每个客户端主机只允许3个ssh连接:

举例4:限制每个IP /主机的HTTP连接

如果IP在100秒内尝试了10次以上的80端口连接(将规则添加到iptables shell脚本中),下面的示例将删除传入的连接

如何测试防火墙规则

使用下面的shell脚本连接到202.1.2.3托管的web服务器:

nc命令是一个功能强大的网络工具,通过它不仅可以探测端口,还能作为客户端连接服务。

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

linux中iptables防火墙怎么设置?

一,安装并启动防火墙

[root@linux ~]# /etc/init.d/iptables start

当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以CentOS为例,文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了。

1.加载模块

/**in/modprobe ip_tables

2.查看规则

iptables -L -n -v

3.设置规则

#清除已经存在的规则

iptables -F

iptables -X

iptables -Z

#默认拒绝策略(尽量不要这样设置,虽然这样配置安全性高,但同时会拒绝包括lo环路在内的所#有网络接口,导致出现其他问题。建议只在外网接口上做相应的配置)

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

#ssh 规则

iptables -t filter -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT

iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 22 -j ACCEPT

#本地还回及tcp握手处理

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

#www-dns 规则

iptables -I INPUT -p tcp –sport 53 -j ACCEPT

iptables -I INPUT -p udp –sport 53 -j ACCEPT

iptables -t filter -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT

iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 80 -j ACCEPT

#ICMP 规则

iptables -A INPUT -p icmp –icmp-type echo-request-j ACCEPT

iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT

iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT

iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT

二,添加防火墙规则

1,添加filter表

1.[root@linux ~]# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT //开放21端口

出口我都是开放的iptables -P OUTPUT ACCEPT,所以出口就没必要在去开放端口了。

2,添加nat表

1.[root@linux ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE

将源地址是 192.168.10.0/24 的数据包进行地址伪装

3,-A默认是插入到尾部的,可以-I来插入到指定位置

1.[root@linux ~]# iptables -I INPUT 3 -p tcp -m tcp --dport 20 -j ACCEPT

2.[root@linux ~]# iptables -L -n --line-number

3.Chain INPUT (policy DROP)

4.num target prot opt source destination

5.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

6.2 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8

7.3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 //-I指定位置插的

8.4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

9.5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

10.6 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

11.7 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID,NEW

12.8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 //-A默认插到最后

13.Chain FORWARD (policy ACCEPT)

14.num target prot opt source destination

15.Chain OUTPUT (policy ACCEPT)

16.num target prot opt source destination

三,查下iptable规则

1,查看filter表

1.[root@linux ~]# iptables -L -n --line-number |grep 21 //--line-number可以显示规则序号,在删除的时候比较方便

2.5 ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:21

如果不加-t的话,默认就是filter表,查看,添加,删除都是的

2,查看nat表

1.[root@linux ~]# iptables -t nat -vnL POSTROUTING --line-number

2.Chain POSTROUTING (policy ACCEPT 38 packets, 2297 bytes)

3.num pkts bytes target prot opt in out source destination

4.1 0 0 MASQUERADE all -- * * 192.168.10.0/24 0.0.0.0/0

四,修改规则

1.[root@linux ~]# iptables -R INPUT 3 -j DROP //将规则3改成DROP

五,删除iptables规则

1.[root@linux ~]# iptables -D INPUT 3 //删除input的第3条规则

2.[root@linux ~]# iptables -t nat -D POSTROUTING 1 //删除nat表中postrouting的第一条规则

3.[root@linux ~]# iptables -F INPUT //清空 filter表INPUT所有规则

4.[root@linux ~]# iptables -F //清空所有规则

5.[root@linux ~]# iptables -t nat -F POSTROUTING //清空nat表POSTROUTING所有规则

六,设置默认规则

1.[root@linux ~]# iptables -P INPUT DROP //设置filter表INPUT默认规则是 DROP

所有添加,删除,修改后都要保存起来,/etc/init.d/iptables save.上面只是一些最基本的操作,要想灵活运用,还要一定时间的实际操作。

iptables配置常规映射及软路由

作用:虚拟化云平台服务器网段192.168.1.0/24 通过一台linux服务器(eth0:192.168.1.1、eth1:10.0.0.5)做软路由达到访问10.0.0.5能访问的网络范围,并且通过iptables的NAT映射提供服务。

NAT 映射网络端口:

效果: 10.0.0.5:2222 —-》 192.168.1.2:22

命令:iptable -t nat -A PREROUTING -D 10.0.0.5 -p tcp –dport 2222 -j DNAT –to-destination 192.168.1.2:22

service iptables save

service iptables restart

注意:1.在192.168.1.2的网络配置上需要将NAT主机的内网ip即192.168.1.1作为默认**,如果10.0.0.5具有公网访问权限,dns则设置成公网对应dns

2. echo 1 》 /proc/sys/net/ip_forward 在NAT 主机上需要开启转发才能生效

软路由192.168.1.0/24通过10.0.0.5***:

命令:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT –to-source 10.0.0.5

service iptables save

service iptables restart

赞(0)
文章名称:《iptables防火墙规则,iptables防火墙规则隐藏》
文章链接:https://www.fzvps.com/239392.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!