iptables防火墙配置详解

iptables简介

iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表。

filter负责过滤数据包,包括的规则链有,input,output和forward;

nat则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output;

mangle表则主要应用在修改数据包内容上,用来做流量整形的,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;

input匹配目的IP是本机的数据包,forward匹配流经本机的数据包,prerouting用来修改目的地址用来做DNAT,postrouting用来修改源地址用来做SNAT。

iptables主要参数

-A 向规则链中添加一条规则,默认被添加到末尾

-T指定要操作的表,默认是filter

-D从规则链中删除规则,可以指定序号或者匹配的规则来删除

-R进行规则替换

-I插入一条规则,默认被插入到首部

-F清空所选的链,重启后恢复

-N新建用户自定义的规则链

-X删除用户自定义的规则链

-p用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,

-s指定源地址

-d指定目的地址

-i进入接口

-o流出接口

-j采取的动作,accept,drop,snat,dnat,masquerade

--sport源端口

--dport目的端口,端口必须和协议一起来配合使用

注意:所有链名必须大写,表明必须小写,动作必须大写,匹配必须小写

iptable配置实例

iptable基本操作

iptables -L  列出iptables规则
iptables -F  清除iptables内置规则
iptables -X  清除iptables自定义规则

设定默认规则

在iptables规则中没有匹配到规则则使用默认规则进行处理

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

配置SSH规则

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT  如果你把OUTPUT 设置成DROP,就需要加上这个规则,否则SSH还是不能登录,因为SSH服务职能进不能出。

只允许192.168.0.3的机器进行SSH连接

iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.

允许loopback回环通信

IPTABLES -A INPUT -i lo -p all -j ACCEPT 
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT

目的地址转换,映射内部地址

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dprot 81 -j DNAT --to 192.168.0.2:80
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dprot 81 -j DNAT --to 192.168.0.1-192.168.0.10

源地址转换,隐藏内部地址

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1-1.1.1.10

地址伪装,动态ip的NAT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

masquerade 和snat的主要区别在于,snat是把源地址转换为固定的IP地址或者是地址池,而masquerade在adsl等方式拨号上网时候非常有用,因为是 拨号上网所以网卡的外网IP经常变化,这样在进行地址转换的时候就要在每次都要修改转换策略里面的ip,使用masquerade就很好的解决了这个问 题,他会自己去探测外网卡获得的ip地址然后自动进行地址转换,这样就算外网获得的ip经常变化也不用人工干预了。

开启转发功能

iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 只允许已建连接及相关链接对内转发
ptables -A FORWARD -i eth1 -o eh0 -j ACCEPT 允许对外转发

过滤某个MAC

iptables -A FORWARD -m mac --mac -source MAC地址 -j DROP

报文经过路由后,数据包中原有的MAC信息会被替换,所以在路由后的iptables中使用mac匹配没有意义。

数据包整流

iptables -A FORWARD -d 192.168.0.1 -m limit --limit 50/s -j ACCEPT
iptables -A FORWARD -d 192.168.0.1 -j DROP

多端口匹配

用以一次匹配多个端口

iptables -A INPUT -p tcp -m muliport --dport s 21,22,25,80,110 -j ACCEPT

丢弃非法连接

iptables -A INPUT   -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables-A FORWARD -m state --state INVALID -j DROP

存储于恢复iptables规则

iptables-save > somefile
iptables-restore < somefile

iptables防火墙配置详解,布布扣,bubuko.com

时间: 2024-10-05 03:30:06

iptables防火墙配置详解的相关文章

Linux服务器 iptables 防火墙配置详解

导读: 很好的一篇关于Linux防火墙 iptables配置, linux防火墙配置很关键, 这牵扯到服务器安全, 安全不是绝对的,但是iptables配的好可以杜绝大多数灰色试探. 转载到老吧博客了, 更多iptables配置可以咨询作者. linux iptables 防火墙配置非常重要, 我们来配置一个filter表的防火墙. 查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -n 如果你在安装linux时没有选择启动防火墙,什么

iptables防火墙 --Linux详解

在实际运维工作中,哪里还有单纯的服务器执行工作的,一般都是服务器提供一定的网络服务来让一些客户机进行访问.那么,这时候网络问题是不是就显得尤为重要了呢??? 既然服务器暴露在互联网上,我们是不是要防止服务器被攻击?是不是要限制访问服务器的客户端用户?是不是要设置一定的规则来管理我们的访客呢?没错,这就用到了我接下来要讲解的一项Linux运维人员不得不知的技术--iptables防火墙. 如上图所示:防火墙分为软件防火墙和硬件防火墙两种,其中,硬件防火墙是由厂商设计好的主机硬件,这台硬件防火墙内的

iptables防火墙原理详解

1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤.数据包处理.地址伪装.透明代理.动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤.包速率限制等.Iptables/Netfilter的这些规则可以通过灵活组合,形

iptables 基本配置详解

什么是防火墙 隔离本地网络与外界网络之间的一道防御系统,通俗的说,防火墙就是防火的墙,主要目的就是隔离火并建立安全区域,所以防火墙对于互联网或计算机而言可能是工作在主机或网络的边缘(计算机的边缘可能是一块网卡,而网络边缘可能是路由),对于进出数据的报文事先定义好的规则中的标准进行检查.监控,一旦符合标准的话,我们就采取由这个规则定义的处理动作,我们称为主机防火墙或网络防火墙. Linux的网络防火墙: 有两组框架,实现防火功能的主要是netfilter, Netfilter:是内核中的过滤框架,

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的

华为防火墙实现远程管理的方式及配置详解

关于网络设备或是服务器,管理人员几乎很少会守着设备进行维护及管理,最普遍.应用最广泛的就是--远程管理.下面简单介绍一下华为防火墙管理的几种方式. 博文大纲:一.华为防火墙常见的管理方式:二.各种管理方式配置详解:1.通过Console线进行管理:2.通过Telnet方式管理:3.通过Web方式登录设备:4.配置SSH方式登录设备: 一.华为防火墙常见的管理方式 提到管理,必然会涉及到AAA的概念,我们首先来了解一下--AAA. AAA概述 AAA是验证.授权和记账三个英文单词的简称.是一个能够

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

LVS配置详解

一.LVS系统组成 前端:负载均衡层 –      由一台或多台负载调度器构成 中间:服务器群组层 –      由一组实际运行应用服务的服务器组成 底端:数据共享存储层 –      提供共享存储空间的存储区域 二.LVS术语 Director Server:调度服务器,将负载分发到RealServer的服务器 Real Server:真实服务器,真正提供应用服务的服务器 VIP:虚拟IP地址,公布给用户访问的IP地址 RIP:真实IP地址,集群节点上使用的IP地址 DIP:Director连

使用 LVS 实现负载均衡原理及安装配置详解

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用