iptables详解以及企业常用案例
iptables采用netfilter网络架构实现包过滤防火墙,可以实现硬件防火墙的常用功能,亦可以在应用方案中作为硬件防火墙的替代品.在本文档里我们将详细介绍iptables的功能,以及剖析企业常用案例
一、iptables的工作原理
1、iptables的3个表
iptables共三个表,分别是filter,nat,mangle。我们通过编辑这三个表可以实现不同的功能。其中fileter主要是为了控制外部PC对本服务器的访问,比如在服务器上作了web服务,想只允许某网段才能访问就是利用了fileter进行访问控制。Nat表主要用在网关服务器上,可以实现nat,路由等功能。Mangle不常用,此教程不做介绍。
2、每个表的规则链
iptables默认的表:
filter(包含INPUT,FORWARD,OUTPUT)
Nat(包含PREROUTING,POSTROUTING,OUTPUT)
Mangle (包含INPUT,FORWARD,OUTPUT,PREROUTING ,POSTROUTING)
其中更详细如下图所示:
注:filter的OUTPUT规则链和nat的OUTPUT没有联系,即不同表的规则链即使名字相同也毫无关系。
我们通过添加删除修改规则来改变规则链,具体如何修改我们将在下文进行详细介绍。
二、iptables配置
1、iptables的常用命令
安装服务所需要的rpm包iptables-*-i386.rpm
安装服务rpm –ivh iptables*
启动iptables服务service iptables start
关闭iptables服务service iptables stop
查看iptables服务状态service iptables status
或者通过脚本来进行启动|关闭|查看:/etc/init.d/iptables {start|stop|status}
保存当前设置到/etc/sysconfig/iptables:service iptables save
查看当前表中规则iptables [-t 表名]–L //如果不指定表名将以filter查看,下同
清空表中规则iptables [-t 表名] –F
删除自定义规则链iptables [-t 表名] –X
计数器归零iptables –Z
2、iptables默认规则链的默认设置
iptables [-t 表名] –P 规则链 处理方式
(注:处理方式常用有3种,丢弃,拒绝,接受允许,分别是DROP,REJECT,ACCEPT)
例:我们需要将filter的INPUT规则链的默认设置为丢弃,则
iptables –t filter –P INPUT DROP
3、添加iptables规则
iptables [-t 表名] –A 规则链 –s 源地址 –d 目的地址 –dport 目的端口 –j 处理方式
例:我们接受外界PING
iptables –t filter –A INPUT –p icmp –j ACCEPT
附:iptables添加规则时所涉及的命令选项以及处理方式
添加规则的命令选项;-i 指定入口网卡,-o 指定输出网卡,-p 指定数据包协议,如TCP,UDP,-s 指定源地址,-sport 指定源端口,-d 指定目的地址,-dport 指定目的端口,-j 处理方式
其中处理方式有一下几种,ACCEPT 接受数据包,DROP 丢弃数据包,REJECT 拒绝,SNAT源地址转换,DNAT 目的地址转换,MASQUERADE IP伪装,LOG 日志功能。
三、企业常用案例
前言:企业上一般使用脚本来配置iptables,这样方便以后修改。
1、 一台web服务器对外提供http,htp服务,禁止外来的其他访问。
脚本如下
#!/bin/bash
iptables –F
iptables –X
iptables –Z
iptables –t nat –F
iptables –t nat –X
iptables –t nat –Z
iptables –P INPUT DROP
iptables –P OUTPUT ACCEPT
iptables –P FORWARD ACCEPT
iptables –t nat –P PREROUTING ACCEPT
iptables –t nat –P POSTROUTING ACCEPT
iptables –t nat –P OUTPUT ACCEPT iptables –A INPUT –p tcp –-dport 80 –j ACCEPT
iptables –A INPUT –p tcp –-dport 21 –j ACCEPT
service iptables save
执行脚本,完成
2、 企业有一台linux网管,需要做NAT服务,将192.168.1.0网段的IP修改成网卡ech0的IP
脚本如下
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
service iptables save
执行脚本,完成
四、后言
此教程由KingCC编辑整理,参考北大青鸟部分内容,如果转载请注明作者KingCC,谢谢
本文出自 “你的支持,我的动力” 博客,请务必保留此出处http://coolcup.blog.51cto.com/484305/226684 本文出自 51CTO.COM技术博客 |
iptables详解以及企业常用案例
转载上一篇:【×××开篇】部署×××的动机
下一篇:综合布线案例设计(一)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
详解网络知识:iptables规则
本文主要为大家详解介绍iptables规则。
IP iptables规则 云容器网络 -
C++STL常用容器deque以及常用接口
• deque容器的迭代器也是支持随机访问的• 底层数据结构:动态开辟的二维数组
C++ STL容器 deque 二维数组 -
iptables工作常用的案例
Linux iptables防火墙
iptables 安全 -
DockerFile详解以及测试案例
DockerFile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和
docker 容器 运维 java 文件系统 -
CICD(三)Ansible常用模块以及案例
Ansible常用模块以及案例
Ansible常用模块以及案例 -
iptables 常用
1、删除所有访问规则iptables -F
iptables 常用