linux处置服务Iptables

本文涉及的产品
公网NAT网关,每月750个小时 15CU
云防火墙,500元 1000GB
简介:

     一:Iptables防火墙服务

                   iptables分为两个部分:一个部分在内核中实现,一个为用户接口命令iptables,用户通过该命令来改动防火墙的功能。所以,iptables要使用对应的功能。必需要在内核中加入对应的模块。

modprobe加入模块

                  1:防火墙匹配规则   raw表----> mangle表------->nat表------>filter表。

                         raw:主要是进行包跟踪 ,包括的rule chians(规则链): PEREROUTING  OUTPUT

                         mangle: 设置数据包的标记                             (规则链)   : PERE  OUTPUT INPUT POST FORWARD

                  nat:改动数据包中的源。目地址和mac            (规则链)   : POST PERE  OUTPUT

                         filter:对包进行过滤。                                      (规则链)   : INPUT OUTPUT FORWARD

                         一个规则链中能够有非常多规则,一个表中能够包括多个链,规则依次匹配。匹配则停止。

                         2:对于入站和出站数据,经过的链为 PEREROUTING --->INPUT --->OUTPUT ---> POSTROUTING

                         3:对转发的数据:经过的链为  PEREROUTING --->FORWARD ---->POSTROUTING

                        防火墙先依照表的顺序,再依照数据的流向来进行对应链中的规则的匹配。

                        4:链中规则的jump(动作)分为:ACCEPT(接受),DROP(丢弃)。REJECT(拒绝)。LOG(日志)。SNAT

                              DNAT REDRECT等等

                              动作的意思就是当匹配到该规则时,防火墙进行如何的操作。丢弃还是通过。或者记录到日志中。当动作为LOG时,会继续向下匹配,所以为LOG时应该写在最前面。

                     

       二:iptables的具体命令配置

                1: iptables -nvL   -n(numeric)-L(List) -v(verbose) 具体显示filter表中的规则,默认filter表

                      2: iptables -t filter -P INPUT ACCEPT   配置INPUT链默认的policy为ACCEPT  -t (table)

                                     3: iptables -A INPUT      向INPUT链中加入规则。后面接对应的选项  -A (append)

                      4: iptables  -D INPUT  rules numbers   删除INPUT链中的规则 rules numbers为规则的序号。-D(delete)

                      5: iptables  -I  INPUT  4  rules              在INPUT的第四条规则中插入规则 -I (insert)

                      6: iptables  -A INPUT -m [ limit/multiport/state] 加入对应的模块实现对应的功能,-m(model),

                                     7: iptables -A INPUT -m state --state NEW -j ACCEPT  使用state模块,通过数据包状态匹配来控制。

                      8: service iptables save  将规则保存到/etc/iptables文件。下次重新启动自己主动生效。

                      9: iptables-save  > iptables.conf  将配置写入iptables.conf文件。iptables-restore<iptables.conf写回。

            三:匹配的类型

                       1:通用类型的匹配.

                                 如协议类型,网络接口。网络地址  如: -p  tcp/udp/icmp -i eth0 -s 172.16.0.1 --sport 60等

                       2:隐含条件匹配

                                 通常以特定的协议匹配为前提

                       3:显示条件匹配

                             须要加入对应的扩展模块来实现。

如  -m  limit  --limit  5/sec -j ACCEPT 实现数据包通过速率

                            -m multiport  --dport 80,53,21 实现多个端口同一时候控制   -mstate --state NEW or ESTABLISHED


              四:SNAT和DNAT动作的原理

                  1:在利用iptables进行PAT的nat地址转换的时候。必须在POSTROUING链中写入规则,这样FORWARD链中对内部地址的控制规则才会有效,假设再PREROUTING就转换,就立马变为公有地址了,FORWARD链中的规则匹配不到,则失效,

                        2:在公布内部server的时候,必需要在PREROUING链中写入nat转换规则,假设不这样,当外网訪问的时候。为防火墙上的一个公有地址接口,不会经过转发直接被防火墙接收。

                       3:因为防火墙server上有缓存。在回来的数据会直接转换。


                       4:配置SNAT,和DNAT命令。

                                1:配置SNAT   iptables -t nat -A POSTROUTING -o eth1 -s 172.16.0.0/16 -j SNAT --to-source  27.45.33.231  这里一定要接出接口的名字!

                                 2:  配置DNAT,  iptables -t nat -A PREROUTING -i eth2 -d 23.55.13.45 -j DNAT --to-destination 172.16.0.3       这里一定要指定入接口的名字!

                                  














本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4708019.html,如需转载请自行联系原作者


相关文章
|
5月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
2月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
47 5
linux系统服务二!
|
2月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
57 3
linux系统服务!!!
|
4月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
248 73
|
2月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
351 3
|
2月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
139 3
|
3月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
33 2
|
3月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
60 1
|
3月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
110 0
|
4月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
599 3