文档库 最新最全的文档下载
当前位置:文档库 › Linux下启动iptables防火墙说明

Linux下启动iptables防火墙说明

Linux下启动iptables防火墙说明
Linux下启动iptables防火墙说明

Linux下启动iptables防火墙说明

以下方案针对未启动过防火墙的linux主机配置,已启动防火墙的请勿执行清除规则命令!

1、检查防火墙状态:

rcSuSEfirewall2 status

running表示防火墙开启,unused表示防火墙未开启,需要先打开防火墙,会短暂的影响业务。

打开防火墙:

rcSuSEfirewall2 start

2、修改suse防火墙策略为ACCEPT,并删除所有默认规则:

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -F

3、制定规则

Iptables中参数I是在已有规则前插入新规则,-I与-A是相反的方式,-A是在已有规则后增加新的规则。

由于iptables读取规则是从上至下匹配,一旦匹配成功就会停止向下匹配,请按需求使用-I 或-A参数。

查看规则:

iptables -L –n

4、保存规则并写入开机启动配置文件自动加载规则:

iptables-save > /root/iptables

echo "iptables-restore /root/iptables" >> /etc/rc.d/rc.local

5、验证

受信主机可访问对应的端口,而非受信主机无法访问,证明加固完成。

*若配置后导致某些应用异常,需要立即关闭防火墙:

rcSuSEfirewall2 stop

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";

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

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中使用者自定链中的规则 我们在来看一下

2.1.5 节点防火墙和SELinux配置.

2.1.5 节点防火墙和SELinux配置 1.防火墙设置 在控制和计算节点上分别执行以下操作进行防火墙设置。(1)停止iptables服务。 [root@controller ~]# service iptables stop iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] (2)将iptables服务配置为开机不自动启动。 [root@controller ~]# chkconfig iptables off 2.SELinux设置 在控制和计算节点上分别执行以下操作进行SELinux设置。(1)编辑SELinux的配置文件。 [root@controller ~]# vi /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # 将SELinux配置为允许模式 # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted 配置完成后,重新启动控制节点和计算节点。

linux防火墙配置实验

单个IP地址建立连接 和DOS 攻击 实验 第九组 2017.05.19 单个IP地址限制连接 实验原理: 防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。 netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables 组件是一种工具,

也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。 实验环境 攻击者win7 64位 ip:172.16.9.1,被攻击者虚拟机vm构造,与宿主机采用桥接,在同一网段,ip为1.1.1.2 实验目的: 通过Vmware虚拟机,配置网关,以及模拟外网,内网,Web服务器。通过 外网来进行DOS攻击,通过在被攻击的主机上抓包可以清楚地看到整个攻击过程,并且在网关上设置了NAT地址转换,在访问外网时将内网地址转换成公网地址(SNAT),以及外网访问内网时将公网地址转换成内网地址(DNAT)。并且可以在网关上设置上网时间,限制某些应用访问Internet等。 实验拓扑:

实验步骤: 搭建实验环境(Vmware虚拟机作为平台),按照逻辑拓扑图进行连接。 1.配置网关 1)配置三块网卡,分别是eth0,eth1,eth2,全部设置为桥接模式。 2)Eth1 ip地址192.168.9.1,eth2 ip地址192.168.19.1,eth0 ip地址1.1.9.1 3)使用命令echo “1”> /proc/sys/net/ipv4/ip_forward,打开路由功能 4)使用命令 /etc/init.d/iptables stop。关闭防火墙。 5)制定NAT转化策略,建议当底层网络全部通时再测试NAT。 2.配置主机(包括web服务器,外网主机) 1)配置一块网卡eth0 添加ip地址,模式为桥接。 2)增加各自的默认网关。 3)关闭本地防火墙。 3.调试dos攻击程序,在模拟外网的pc上编译执行,在web服务器上抓包观察。 4.观察NAT转化是否实现 5.实验截图: 5.1.将网卡配置为桥接模式。

Linux防火墙 iptables详细介绍

周旭光unixzhou@https://www.wendangku.net/doc/4012951487.html, Linux防火墙iptables 周旭光 unixzhou@https://www.wendangku.net/doc/4012951487.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规则链处理,之后进行路由选择,然后

Linux 防火墙的功能及安全策略

Linux 防火墙的功能及安全策略 防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。因此,防火墙的功能有以下几点: ●防火墙是网络安全的屏障 一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS 协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。 ●防火墙可以强化网络安全策略 通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。 ●对网络存取和访问进行监控审计 如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,同时也能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。另外,收集一个网络的使用和误用情况也是非常重要的。首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。 ●防止内部信息的外泄 通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者,隐私是内部网络非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣,甚至因此而暴漏了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger,DNS等服务。Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所获悉。攻击者可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网,这个系统是否在被攻击时引起注意等等。防火墙可以同样阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。

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.wendangku.net/doc/4012951487.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.wendangku.net/doc/4012951487.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.wendangku.net/doc/4012951487.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() {

linux防火墙的设置

linux 防火墙的设置

Linux防火墙配置(一) 随着In ternet规模的迅速扩大,安全问题也越来越重要,而构建防火墙是保护系统免受侵害的最基本的一种手段。虽然防火墙并不能保证系统绝对的安全,但由于它简单易行、工作可靠、适应性强,还是得到了广泛的应用。本章主要介绍与Linux系统紧密集成的iptables防火墙的工作原理、命令格式,以及一些应用实例。 9.1 iptables 防火墙介绍 netfilter/iptables 是Linux系统提供的一个非常优秀的防火墙工具,它完全免费、功能强大、使用灵活、占用系统资源少,可以对经过的数据进行非常细致的控制。本节首先介绍有关iptables防火墙的基本知识,包括netfilter 框架、iptables 防火墙结构与原理、iptables命令格式等内容。 9.1.1 netfilter 框架 Linux内核包含了一个强大的网络子系统,名为netfilter ,它可以为iptables内核防火墙模块提供有状态或无状态的包过滤服务,如NAT IP伪装 等,也可以因高级路由或连接状态管理的需要而修改IP头信息。netfilter 位 于Linux网络层和防火墙内核模块之间,如图9-1所示。 图9-1 netfilter 在内核中的位置 虽然防火墙模块构建在Linux内核,并且要对流经IP层的数据包进行处理,但它并没有改变IP协议栈的代码,而是通过netfilter 模块将防火墙的功能引 入IP层,从而实现防火墙代码和IP协议栈代码的完全分离。netfilter 模块的结构如图9-2所示。

对IPv4协议来说,netfilter 在IP数据包处理流程的5个关键位置定义了 5个钩子(hook)函数。当数据包流经这些关键位置时,相应的钩子函数就被调用。从图9-2中可以看到,数据包从左边进入IP协议栈,进行IP校验以后,数据包被第一个钩子函数 PRE_ROUTING理,然后就进入路由模块,由其决定该数据包是转发出去还是送给本机。 若该数据包是送给本机的,则要经过钩子函数LOCAL_IN处理后传递给本机 的上层协议;若该数据包应该被转发,则它将被钩子函数FORWARD理,然后 还要经钩子函数POST_ROUTIN处理后才能传输到网络。本机进程产生的数据包要先经过钩子函数LOCAL_OU处理后,再进行路由选择处理,然后经过钩子函数POST_ROUTING理后再发送到网络。 %说明:内核模块可以将自己的函数注册到钩子函数中,每当有数据包经过该钩子点时,钩子函数就会 按照优先级依次调用这些注册的函数,从而可以使其他内核模块参与对数据包的处理。这些处理可以是 包过滤、NAT以及用户自定义的一些功能。 9.1.2 iptables 防火墙内核模块 netfilter 框架为内核模块参与IP层数据包处理提供了很大的方便,内核 的防火墙模块正是通过把自己的函数注册到n etfilter 的钩子函数这种方式介 入了对数据包的处理。这些函数的功能非常强大,按照功能来分的话主要有4种,包括连接跟踪、数据包过滤、网络地址转换(NAT和对数据包进行修改。其中,NAT还分为SNATCH DNAT分别表示源网络地址转换和目的网络地址转换,内核防火墙模块函数的具体分布情况如图9-3所示。 由图9-3可以看出,防火墙模块在netfilter 的LOCAL_IN FORWARD LOCAL_OUT 个位置分别注册了数据包过滤函数,数据包经过这些位置时,防火墙模块要对数据包进行过滤。这三个位置也称为三条链,名称分别为INPUT

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在防火墙环境下DNS的安装与设置

经过几天的研究BIND,终于解决了我们单位的DNS问题。 在一般防火墙下,都是采用DMZ区内放服务器,外部访问DMZ区得到外部的IP,内部访问DMZ区时得到内部的IP。 如一个, 内部IP地址<--->放在DMZ的web服务器的IP<----->外部IP地址 从DNS上可以从以下四个方面解决: 一.iptables应用 1. 核心思想 配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。在接到客户端DNS请求时,根据客户的ip地址将请求重定向不同的BIND 服务端口。BIND响应时,再改写相应包的服务端口为标准的53端口。这样就可以根据客户端的ip地址将不同的解析结果返回给客户端。整个过程对于客户端来说都是透明的。实现的关键在于运行不同的BIND及运用iptables进行ip地址及端口改写操作。 2 配置过程 步骤1:配置内核 netfilter要求内核版本不低于2.3.5,在编译新内核时,要求选择和netfilter相关的项目。这些项目通常都是位于"Networking options"子项下。以,我们应该选中的项目有: ?Kernel/User netlink socket [ ] Routing messages <*>; Netlink device emulation ?Network packet filtering (replaces ipchains) ....... 然后,在"IP: Netfilter Configuration ---->;"选中: Connection tracking (required for masq/NAT) FTP protocol support IP tables support (required for filtering/masq/NAT) limit match support MAC address match support Netfilter MARK match support Multiple port match support TOS match support

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

相关文档
相关文档 最新文档