网路防火墙iptables
linux操作系统自身可以充当交换机,还可以当路由器,也就是说linux多网卡之间拥有互相转发数据包的能力,这种能力的实现主要依靠的是防火墙的功能进行数据包的转发和入站。
路由选择点,就是在一个点分辨出事转发还是入站,在路由选择点之前的路叫路由选着前,出站之后的路叫路由选择后
存储链的表示filter 和nat
filter里村的是入站出站,和转发
nat存的是路由前,路由后和出站。
入站叫INPUT
出站叫OUTPUT
转发叫FORWARD
入站前叫PREROUTING
出站叫之后叫POSTROUTING
保存防火墙规则的配置文件/etc/sysconfig/iptables
导出备份的命令
iptables-save > 文件路径
导入还原命令
iptables-restore < 文件路径
iptables的命令用法和参数
iptables -t 【表名】 选项 【链名】 【条件】 【-j控制类型】
注意事项:
不指定表名时:默认的是filter表
不指定链名时:默认是表内所有的链
除非设置链的默认匹配,否则必须知道匹配条件
选项、链名、控制类型使用大写字母、其余的均为小写
控制类型常用的参数
ACCEPT:允许通过
DROP:直接丢包,不给出任何的回应
REJECT:拒绝通过 ,必要时会给出提示
LOG:记录日志信息,然后传给下一条规则继续匹配
选项类的参数
-A:在链的末尾追加一条规则,
-I:在链的开头(或指定序号)插入一条规则
查看表规则参数。
-L:列出所有的规则条目
-n:以数字形式显示地址,端口等信息
-v:以更详细的方式显示规则信息
--line-numbers:查看规则时,显示规则的序号。--line与之同效
删除清空规则的参数
-D:删除链内指定序号(或内容)的一条规则
-F:清空所有的规则
iptables -D INPUT
删除input链上的序号是3的规则
修改、替换规则
-R:修改替换规则
修改链规则
-P:修改链的规则
iptables -P FORWARD -j DROP
所有的转发链都丢包
通用匹配参数
-p:协议匹配,指定协议
-s:来源地址匹配,指定来源
-d:目标地址匹配,指定目标
-i:指定入站的网卡匹配
-o:指定出站的网卡匹配
隐含的匹配
隐含的匹配需要在有通用的匹配后才能使用,--开头
--sport:来源端口,需要指定协议后才能匹配
--dport:目标端口,需要指定协议后才能匹配
iptables -A INPUT -s 192.168.200.0/ -p tcp --sport : -dport -j ACCEPT
例句的意思是在input链上追加一条,来源ip为200网段的tcp协议,来源端口是22~21,目标端口是53的都同一通过
--tcp-flags:检查范围被设置的标记
iptables -I INPUT -i eth1 -p tcp --tcp-flags SYN,RST,ADK,SYN -j DROP
例句的意思是在input链上插入一条从eth1网卡进来的tcp协议,被标记的syn等包都丢掉
icmp协议的隐含匹配
--icmp-type 类型
8 Echo request 请求包
0 Echo reply 应答包
3 错误回显
iptables -A INPUT -p icmp --icmp-type -j DROP
例句的意思是最近一条规则在input链,所有的icmp协议的请求包都丢掉
状态匹配 -m state --state 连接状态
常见的连接状态
NEW:新连接
ESTABLISHED:响应请求,或已经建立连接的
RELATED:与已连接有相关性的,如ftp数据连接
iptables -A INPUT -p tcp --dport -m state --state ESTABLISHED,RELATED,NEW -j DROP
命令的意思是在input链上追加一条tcp规则已经连接和有关联的连接新的连接都拒绝

SNAT将来源的ip转换成自己设定的ip
iptables -t nat -A POSTROUTING -s 192.168.200.0/ -o eth1 -j SNAT --to-source 192.168.100.100
例句的意思是指定nat表最近一条针对出站后的链来源ip是200网段的从eth1出的,统统把来源ip换成192.169.100.100
DNAT将目标ip转换成自己设定的ip
iptables -t nat -A PREROUTING -i eth0 -d 192.168.100.100 -p tcp --dport -j DNAT --to-destination 192.168.200.88:
例句的意思是将nat表 入站前 从eth网卡来的目标ip是192.168.100. 端口是80来的tcp协议都改成目标ip为192.168.200.88端口是8080
网路防火墙iptables的更多相关文章
- CentOS防火墙iptables的配置方法详解
CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...
- [转] Linux下防火墙iptables用法规则详及其防火墙配置
from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...
- Linux防火墙(Iptables)的开启与关闭
Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...
- linux 防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- Linux防火墙iptables简明教程
前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- 【iptables】linux网络防火墙-iptables基础详解(重要)
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...
- 转:linux关闭防火墙iptables
ref:https://jingyan.baidu.com/article/066074d64f433ec3c21cb000.html Linux系统下面自带了防火墙iptables,iptables ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
随机推荐
- 【mlflow】mlflow打包、启动、换用mysql backend、mysql配置
mlflow是一个自动化机器学习平台,支持python2也支持python3 mlflow9.0添加了数据库作为tracking data的存储: https://github.com/mlflow/ ...
- Puppet学习:Augeas的怪问题
今天测试部署Zabbix,本来以前是正常的,今天莫名其妙报错.测试后发现是Augeas出现问题,无论如何都不执行.于是采用调试模式: puppet agent --test --verbose --d ...
- WPF自定义代码启动应用程序启动方式
删除app.xaml 添加App.cs类 第一种方式: class App { [STAThread] static void Main() { ...
- git学习------> 解决Gitlab 版本升级之后,发送 merge request 出现 http 500 的返回码错误
今天有同事在Gitlab上发送 Merge Request的时候,直接出现如下所示的界面,提示http 500,服务器内部出错. 一.错误描述 1.1 创建新的 Merge Request 1.2 填 ...
- python控制台输出颜色
python_控制台输出带颜色的文字方法在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也 ...
- Linux内核之vmlinux与vmlinuz
因为是初次系统的学习Linux内核,过程中遇到了一些常常出现的名词.似曾相识,但对他们的含义又不是非常清楚.因此,将搜索到的内容进行一下汇总. 1.vmlinux vmlinux是一个包括linu ...
- Python学习开发资源大全列表
1 机器学习和计算机视觉 Crab:灵活.快速的推荐引擎 gensim:人性化的话题建模库 hebel:GPU 加速的深度学习库 NuPIC:智能计算 Numenta 平台 pattern:Pytho ...
- VS2010/MFC编程入门之十九(对话框:颜色对话框)
鸡啄米在上一节中为大家讲解了字体对话框的使用方法,熟悉了字体对话框,本节继续讲另一种通用对话框--颜色对话框. 颜色对话框大家肯定也不陌生,我们可以打开它选择需要的颜色,简单说,它的作用就是用来选择颜 ...
- Python Missing parentheses in call to 'print'
原来是因为Python2.X和Python3.X不兼容. 我安装的是Python3.X,但是我试图运行的却是Python2.X 的代码. 所以上面的语法在python3中是错误的.在python3中, ...
- Java开发之JDK配置
windows下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:/java/jdk1.5.0_08: 2.安装完成后,右击“我的电 ...