linux iptables规则介绍
今天又学习了一下iptables,做一点总结来方便以后查阅。
Netfilter(网络过滤器)是Linux操作系统核心层内部的一个数据包处理模块,主要负责数据包的拦截和转发,而iptables是NetFilter的一种应用化,为了方便定义规则和配置。
iptables工作在linux的内核空间,它通过内核空间的接口与用户空间通信,控制数据包在内核空间上的接口(就是经常说到的port)之间转发。
这是一条典型的iptables的配置语句,我从这里开始发散思维:
iptables -t nat -A PREROUTING -d 172.30.1.8 -p tcp --dport 80 -j DNAT --to-destination 192.168.9.25
这条语句的功能是:在PREROUTING链的nat表上添加一条规则将来自172.30.1.8的80端口的请求转发到192.168.9.25。
语句指定了七个部分:链,表,源,目的,协议,端口和动作,我就从之七个方面分别记录。
1、链(chain)
iptables共有五个规则链:
iptables -F PREROUTING -t nat
iptables -D POSTROUTING 1 -t nat
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
6、端口
--sport num: 指定源端口
--dport num: 指定目的端口
--dport XX-XX:指定多个端口,不能指定多个非连续端口
开放服务器的3306和90端口:
iptables -A INPUT -p tcp -m multiport --dport 3306,90 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sport 3306,90 -j ACCEPT
7、动作
-j ACTION: 对数据包的处理
常见的ACTION:
iptables -I PREROUTING 1 -t nat -p tcp --dport 90 -j REDIRECT --to-ports 80
将通过端口79-80的数据包改写源 IP:
iptables -A POSTROUTING -t nat -p tcp -j MASQUERADE --to-ports 79-81
将的80端口重定向到百度:
iptables -A PREROUTING -t nat -p tcp -d 119.29.23.152 --dport 80 -j DNAT --to-destination 14.215.177.38:80
iptables -A postrouting -t nat -p tcp -d 14.215.177.38 --dport 80 -j SNAT --to-source 119.29.23.152
echo 1 > /proc/sys/net/ipv4/ip_forward #开启服务器的转发功能
还有一些其他的匹配选项:
简单的iptables规则基本介绍完了,下面是查看命令:
iptables -L -n #以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名
iptables -L -v #显示详细信息
iptables -L -vv
iptables -L -vvv #越多越详细
iptables -L -x #在计数器上显示精确值,不做单位换算
iptables -L --line-numbers #显示规则的行号
iptables -L -t nat #显示nat表所有的信息
另外,我们在终端编辑的iptables规则只是临时生效,要想在服务器重启后还能生效,需要将规则保存在配置文件/etc/sysconfig/iptables中,并且etc/sysconfig/iptables中的规则都是永久生效的。执行service iptables save命令,会使当前定义的规则保存到/etc/sysconfig/iptables中。若想将当前规则备份起来,备份iptabales规则命令是iptables-save > /etc/sysconfig/iptables.bak。若想要使用自己写的iptables配置文件或者手动加载备份的iptables配置文件,使用iptables-restore < /etc/sysconfig/iptables.bak命令。
才开始写博客,文采不好思维凌乱格局纠结分类糟糕,如有错误的地方,或者有什么提高的地方,欢迎批评指正。另外,现在的我肯定对技术了解不深,今后有什么完善的地方,我会对博客进行补充的。
linux iptables规则介绍的更多相关文章
- 常用的 Linux iptables 规则
一些常用的 Linux iptables 规则,请根据自己的具体需要再修改. 转载自:http://mp.weixin.qq.com/s/uAPzh9_D4Qk6a3zBh7Jq5A # 1. 删除所 ...
- 25 个常用的 Linux iptables 规则【转】
转自 25 个常用的 Linux iptables 规则 - 文章 - 伯乐在线http://blog.jobbole.com/108468/ # 1. 删除所有现有规则 iptables -F # ...
- 25 个常用的 Linux iptables 规则
# 1. 删除所有现有规则 iptables -F # 2. 设置默认的 chain 策略 iptables -P INPUT DROP iptables -P FORWARD DROP ipta ...
- Linux iptables:规则组成
<Linux iptables:规则原理和基础>介绍了iptables的四表五链,简单说就是不同的网络层数据包会经过哪几个挂载点,在每个挂载点可以在哪张表进行规则定义. 本篇沿着这个思路, ...
- iptables 简单介绍及应用 Linux防火墙
iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省 ...
- linux如何查看防火墙是否开启?删除iptables规则
iptables是linux下的防火墙组件服务,相对于windows防火墙而言拥有更加强大的功能,此经验咗嚛以centos系统为例.关于iptables的一般常见操作,怎么来判断linux系统是否启用 ...
- Iptables 规则 一些简单实例和详细介绍
设定规则 iptables -p INPUT DROP iptables -p OUTPUT ACCEPT iptables -p FORWARD DROP 1.防止外网用内网IP欺骗 iptable ...
- Linux iptables 配置规则
Linux iptables 防火墙配置规则 前言:把网上我感觉不错iptables的访问规则都统一在这里,以后做参考. modprobe ipt_MASQUERADE modprobe ip_con ...
- linux系统中查看己设置iptables规则
1.iptables -L 查看filter表的iptables规则,包括所有的链.filter表包含INPUT.OUTPUT.FORWARD三个规则链. 说明:-L是--list的简写,作用是列出规 ...
随机推荐
- Linux Shell——函数的使用
文/一介书生,一枚码农. scripts are for lazy people. 函数是存在内存里的一组代码的命名的元素.函数创建于脚本运行环境之中,并且可以执行. 函数的语法结构为: functi ...
- 【NLP】3000篇搜狐新闻语料数据预处理器的python实现
3000篇搜狐新闻语料数据预处理器的python实现 白宁超 2017年5月5日17:20:04 摘要: 关于自然语言处理模型训练亦或是数据挖掘.文本处理等等,均离不开数据清洗,数据预处理的工作.这里 ...
- IOS中的绘图Quartz2D
drawRect 方法的使用 常见图形的绘制:线条.多边形.圆 绘图状态的设置:文字颜色.线宽等 图形上下文状态的保存与恢复 图形上下文栈 Quartz 2D是一个二维绘图引擎,同时支持IOS和MAC ...
- java集合系列
工作以来,一直对java集合理解的不够全面,不够深入,就是常用的ArrayList/HashMap/Set/List,有时候会用一下LinkedList.一时兴起,可能对TreeSet,HashSet ...
- YAHOO 34 条前端优化建议
雅虎团队经验:网站页面性能优化的34条黄金守则 1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通 ...
- Lamp环境搭建Linux CentOS6.5编译安装mysql5.6
经典web开发组合Lamp环境搭建之mysql安装详解 安装前准备 通过rpm命令检查centos上是否已经安装mysql,然后卸载已经存在的mysql版本 [root@localhost src]# ...
- 移动Web开发小结
以下是做移动端Web开发过程中小结的几个事项:希望能够帮助到大家,同时也方便自己查看: 1,在移动开发页面中,主体盒子的max-width与min-width的设置原因: ①设置max-width是为 ...
- 如何在WebGL全景图上做标记
WebGL可以用来做3D效果的全景图呈现,例如故宫的全景图.但有时候我们不仅仅只是呈现全景图,还需要增加互动.故宫里边可以又分了很多区域,例如外朝中路.外朝西路.外朝东路等等.我们需要在3D图上做一些 ...
- 腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测)
文章由GIT博客迁移过来 程序下载地址(源码也在):点我下载 设计说明 10月20号晚上,准备写这么一个程序. 腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测) 可以在截图之后,直接点击上传 ...
- Java编程之委托代理回调、内部类以及匿名内部类回调(闭包回调)
最近一直在看Java的相关东西,因为我们在iOS开发是,无论是Objective-C还是Swift中,经常会用到委托代理回调,以及Block回调或者说是闭包回调.接下来我们就来看看Java语言中是如何 ...