Iptables 的几点实用方法
2013-11-19 00:20
246 查看
在我们的日常运维工作中,经常要用到Iptables这个工具来设置IP信息包过滤和防火墙配置,首先,Iptables的配置文件为/etc/sysconfig/iptables,所有的规则都是要写到这个文件里的,不然重启后就会失效。1、IPtables通常包括三个表格(Fliter、NAT、Mangle)filter∶主要跟Linux本机有关,是预设的table。通常下面有三个链(chain):
INPUT∶主要与数据包想要进入我们Linux本机有关;
OUTPUT∶主要与Linux本机所要送出的数据有关;
FORWARD∶这个与Linux本机比较没有关系,他可以将数据包转发到后端的电脑中,与nat这个table相关NAT:主要用来做源与目的IP或者端口的转换,与linux本机无关。
PREROUTING∶在进行路由判断之前所要进行的规则(DNAT/REDIRECT)POSTROUTING∶在进行路由判断之后所要进行的规则(SNAT/MASQUERADE)OUTPUT∶与发送出去的封包有关
mangle∶这个表格主要是与特殊的封包的路由旗标有关,早期仅有PREROUTING及OUTPUT链,不过从kernel2.4.18之后加入了INPUT及FORWARD链。由于这个表格与特殊旗标相关性较高,所以像咱们这种单纯的环境当中,较少使用mangle这个表格2、Iptables的常用命令
查看iptables现有规则:#iptables-L-n
清除现有iptables规则:#iptables-F#清除预设表filter中的所有规则链的规则:
允许局域网内192.168.0.0/24的所有主机访问代理服务器,除了192.168.0.3这台主机:#iptables-AINPUT-ieth0-s192.168.0.3-jDROP#iptables-AINPUT-ieth0-s192.168.0.0/24-jACCEPT
将来自eth0的数据包全部接收:#iptables-AINPUT-ieth0-jACCEPT
将服务器80端口重定向到8080端口:#iptables-tnat-APREROUTING-Ptcp--dport80-jREDIRECT--to-ports8080
使服务器允许来自网络接口eth1,并且来源端口为80的数据进入服务器:#iptables-AINPUT-ieth1-ptcp--sport80-jACCEPT
让服务器的80端口对外开放:#iptables-AINPUT-ieth0-ptcp--dport80-jACCEPT
允许来自外部的ping测试
(再续)
INPUT∶主要与数据包想要进入我们Linux本机有关;
OUTPUT∶主要与Linux本机所要送出的数据有关;
FORWARD∶这个与Linux本机比较没有关系,他可以将数据包转发到后端的电脑中,与nat这个table相关NAT:主要用来做源与目的IP或者端口的转换,与linux本机无关。
PREROUTING∶在进行路由判断之前所要进行的规则(DNAT/REDIRECT)POSTROUTING∶在进行路由判断之后所要进行的规则(SNAT/MASQUERADE)OUTPUT∶与发送出去的封包有关
mangle∶这个表格主要是与特殊的封包的路由旗标有关,早期仅有PREROUTING及OUTPUT链,不过从kernel2.4.18之后加入了INPUT及FORWARD链。由于这个表格与特殊旗标相关性较高,所以像咱们这种单纯的环境当中,较少使用mangle这个表格2、Iptables的常用命令
查看iptables现有规则:#iptables-L-n
清除现有iptables规则:#iptables-F#清除预设表filter中的所有规则链的规则:
允许局域网内192.168.0.0/24的所有主机访问代理服务器,除了192.168.0.3这台主机:#iptables-AINPUT-ieth0-s192.168.0.3-jDROP#iptables-AINPUT-ieth0-s192.168.0.0/24-jACCEPT
将来自eth0的数据包全部接收:#iptables-AINPUT-ieth0-jACCEPT
将服务器80端口重定向到8080端口:#iptables-tnat-APREROUTING-Ptcp--dport80-jREDIRECT--to-ports8080
使服务器允许来自网络接口eth1,并且来源端口为80的数据进入服务器:#iptables-AINPUT-ieth1-ptcp--sport80-jACCEPT
让服务器的80端口对外开放:#iptables-AINPUT-ieth0-ptcp--dport80-jACCEPT
允许来自外部的ping测试
#iptables-AINPUT-picmp--icmp-typeecho-request-jACCEPT #iptables-AOUTPUT-picmp--icmp-typeecho-reply-jACCEPT仅允许来自指定网络的SSH连接请求以下规则仅允许来自192.168.100.0/24的网络:
#iptables-AINPUT-ieth0-ptcp-s192.168.100.0/24--dport22-mstate--stateNEW,ESTABLISHED-jACCEPT #iptables-AOUTPUT-oeth0-ptcp--sport22-mstate--stateESTABLISHED-jACCEPT允许出站DNS连接
#iptables-AOUTPUT-pudp-oeth0--dport53-jACCEPT #iptables-AINPUT-pudp-ieth0--sport53-jACCEPT
(再续)
相关文章推荐
- Python中os和shutil模块实用方法集锦
- Sql Server实用操作-删除数据库中重复数据的几个方法
- JSON解析-系统方法和第三方JSONKit的简单实用
- [转帖][实用]Linux 释放内存方法
- API之实用工具Postman 使用方法
- 深入讲解提升JSP应用程序的七个实用方法
- 防止浏览器记住用户名及密码的简单实用方法
- js 表单验证方法(实用)
- Linux中date命令的各种实用方法 推荐
- 非常实用的织梦dede所有标签调用方法大全
- 详细讲解提高数据库查询效率的实用方法
- Java中的实用类型转换的方法
- js中几种实用的跨域方法原理详解
- 两个截取字符串的实用方法(超过一定长度自动换行)
- Python中os和shutil模块实用方法集锦
- 调整JSP和servlet的一些非常实用的方法
- Java 简单实用方法二
- 一种基于中值滤波的轨迹纠偏方法和几点思考