iptables配置基本思路

配置规则基本思路

1,允许本地访问

2,允许已监听状态数据包通过

3,允许规则中允许的数据包通过

4,拒绝未被允许的数据包

iptables规则保存成配置文件

注意开放ssh远程管理端口

[[email protected] ~]# iptables -F
[[email protected] ~]# iptables -I INPUT -i lo -j ACCEPT
[[email protected] ~]# iptables -I INPUT -m state --state ESTABLISH,RELATED -j ACCEPT
[[email protected] ~]# iptables -A INPUT -s 10.10.122.0/24 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -s 10.10.123.0/24 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -s 192.168.10.23  -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
[[email protected] ~]# iptables -I INPUT -p icmp -j ACCEPT
[[email protected] ~]# iptables -A INPUT -j REJECT
[[email protected]~]#/etc/init.d/iptables save
[[email protected]~]# cat /etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Thu May 14 21:53:11 2015
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [68:8284]
-A INPUT -p icmp -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -s 10.10.122.0/24 -j ACCEPT 
-A INPUT -s 10.10.123.0/24 -j ACCEPT 
-A INPUT -s 192.168.10.23/32 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-port-unreachable 
COMMIT
# Completed on Thu May 14 21:53:11 2015

1) iptables模拟控制并发的httpd访问

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j REJECT

2)场景

1:对所有地址开放本机的tcp(80,22,10-21)的端口访问;

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT

2:允许对所有的地址开放本机的基于icmp协议的数据包访问;

 iptables -I INPUT -p icmp  -j ACCEPT

3:其他未被允许的端口则禁止访问;

iptables -A INPUT -j REJECT

以上场景存在以下问题:1本机无法访问本机2本机无法访问其他主机

允许访问lo设备

iptables -I INPUT -i lo -j ACCEPT

本机主动发往外部的请求要OK的

iptables -I INPUT -m state --state ESTABLISH,RELATED -j ACCEPT

iptables在FTP主动模式下

 iptables -I INPUT -p tcp --dport 21 -j ACCEPT

iptables在FTP被动模式下

法1:

iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 50000:60000 -j ACCEPT

法2:

iptables -I INPUT -p tcp --dport 21 -j ACCEPT
 iptables -I INPUT -m state --state ESTABLISH,RELATED -j ACCEPT

modprobe nf_conntrack_ftp  临时设置

[[email protected] ~]# grep -n nf_conntrack_ftp /etc/sysconfig/iptables-config  永久设置
6:IPTABLES_MODULES="nf_conntrack_ftp"

NAT表规则配置

SNAT  ------POSTROUTING

iptable -t nat -A POSTROUTING -s 10.10.122.0/24 -j SNAT --to 10.10.121.12

DNAT-------PREROUTING

iptable -t nat -A PREROUTING -d 10.10.10.23 -p tcp --dport 80 -j DNAT --to 10.10.20.222:80

iptables 防CC攻击

connlimit模块,限制每一个客户端ip的并发连接数

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j REJECT

limit模块,限速,控制流量

iptables -A INPUT -m limit --limiy 3/hour
iptables -A INPUT -p icmp -m limit --limit 1/m --limit-burst 10 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
时间: 2024-10-27 05:45:03

iptables配置基本思路的相关文章

linux下IPTABLES配置详解

iptables 配置 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                 destination Chain FORWARD (policy ACCEPT)target     

一个可以直接使用的可用iptables配置的stateless NAT实现

使用iptables配置stateless NAT?我没有搞错.可能你根本不知道这么多NAT的实现细节,或者说根本不在乎,那么本文就当是一个"如何编写iptables模块"的练习了.实际上,我已经实现了一个可以配置stateless NAT的内核模块了,但是它的接口是基于procfs的,并不是说这个接口不好用,而是我觉得如果能集成到iptables就更加perfect了,难道不应该这样吗?有谁能忍受通过iptables和echo的方式配置两种NAT呢?难道不应该在一个iptables

CentOS下配置iptables防火墙 linux NAT(iptables)配置

CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机名称. NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY=192.168.11.1(超算网关) 2.vim /etc/sysconfig/network-scripts/

LInux下iptables配置

linux下IPTABLES配置详解 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                 destination Chain FORWARD (policy ACCEPT)targ

常用iptables配置实例

常用iptables配置实例 iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙.NAT.咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习iptables的详细用法. 1.删除已有规则 在新设定iptables规则时,我们一般先确保旧规则被清除,用以下命令清除旧规则: iptables -F (or iptables --flush) 2.设置chain策略 对于filter table,默认的chain策略

Ubuntu使用iptables配置防火墙提示:unrecognized service(Ubuntu配置iptables防火墙)

Ubuntu默认安装是没有开启任何防火墙的. 当使用service iptables status时发现提示iptables:unrecoginzed service.意思是无法识别的服务. 以下方法来自http://blog.csdn.net/lywzgzl/article/details/39938689,但是测试发现,此方法已经无法在Ubuntu中使用 #在ubuntu中由于不存在/etc/init.d/iptales文件,所以无法使用service等命令来启动iptables,需要用mo

linux 下iptables配置详解

转自http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                

[转载] iptables配置实践

原文: http://wsgzao.github.io/post/iptables/ iptables配置实践 By wsgzao 发表于 2015-07-24 文章目录 1. 前言 2. 更新历史 3. 基础知识 3.1. 关闭iptables 3.2. 基础语法 4. 配置iptables白名单机制 5. 设置crontab脚本 前言 在大企业中防火墙角色主要交给硬件来支持,效果自然没话说只是需要增加一点点成本,但对于大多数个人或者互联网公司来说选择系统自带的iptables或者第三方云防火

linux下IPTABLES配置详解 (防火墙命令)

linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT-A RH-Firewall-1-INPUT -s 121.10.120.24 -p tcp -m tcp --dport 18612 -j ACCEPT 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的