iptables防火墙

                                                                                                            iptables防火墙设置

         iptables是一款基于命令行的防火墙策略管理工具,具有大量的参数,学习难度较大。好在对于日常的防火墙策略配置来讲,大家无须深入了解诸如“四表五链”的理论概念,只需要掌握常用的参数并做到灵活搭配即可,这就足以应对日常工作了。

      根据OSI七层模型的定义,iptables属于数据链路层的服务,所以可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配;一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。另外,再次提醒一下,防火墙策略规则的匹配顺序是从上到下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。

       iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:

在进行路由选择前处理数据包(PREROUTING);

处理流入的数据包(INPUT);

处理流出的数据包(OUTPUT);

处理转发的数据包(FORWARD);

在进行路由选择后处理数据包(POSTROUTING);

       这些动作对应到iptables服务的术语中分别是:

ACCEPT(允许流量通过)

REJECT(拒绝流量通过,表示确定拒绝)   

LOG(记录日志信息)

DROP(拒绝流量通过,不回应的拒绝)   

注意:REJECT和DROP的不同点,就DROP来说,它是直接将流量丢弃而且不响应;REJECT则会在拒绝流量后再回复一条“信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。

                                                      常用的iptables命令参数:

 

举例一

         向INPUT链中添加允许ICMP流量进入的策略规则(-I 代表头部添加---INPUT方向-------p匹配的协议 ------ACCEPT动作)

iptables -P DROP                    把INPUT规则链的默认策略设置为拒绝(-P大写P是指默认策略)
iptables -I INPUT -p icmp ACCEPT 只允IN方向协议为ICMP
iptables -D INPUT 1 删除INPUT的头部的第一条策略规则
iptables -F 清空iptables 所有策略

举例二:

            将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量

      -I 添加首部添加,-s源地址   -p协议    --dport目标端口  -j动作

iptables -I INPUT -s 192.168.29.1/32 -p tcp --dport 22 -j ACCEPT    在首部添加一策略允许源地址访问此服务访问22端口
iptables -A INPUT -p tcp --dport 22 -j REGET 在尾部添加一条策略拒绝所有入方向访问此服务器的22端口

        防火墙策略规则是按照从上到下的顺序匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问我们的服务。另外,这里提到的22号端口是ssh服务使用的(有关ssh服务,请见第9章),这里先挖个坑,等大家学完第9章后可再验证这个实验的效果。

举例三:

            向INPUT规则链中添加拒绝192.168.29.1主机访问本机80端口(Web服务)的策略规则

iptabpes -I INPUT -p tcp -s 192.168.29.1 --dport 80 -j ERGET      在首部添加一条策略允许源地址访问此服务器的80端口

举例四:

             向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则

iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT       在尾部添加一条策略拒绝ctp1000至1024端口
iptables -A INPUT -p udp --dport 1000:1024 -j REJECT 在尾部添加一条策略拒绝udp1000至1024端口

 

 特别注意,使用iptables命令配置的防火墙规则默认会在系统下一次重启时失效,如果想让配置的防火墙策略永久生效,还要执行保存命令:

iptables-save

   如果公司服务器是5/6/7版本的话,对应的保存命令应该是:

service iptables save

 

 

 

 

 

 

 

  

 

posted @   聆听城市喧哗  阅读(274)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示