Linux防火墙简介及iptables的基本使用
一、防火墙基础知识
iptables/netfilter:网络防火墙,连接追踪(状态检测)
netfilter:工作内核中,让规则能够生效的网络框架(framework)
iptables:防火墙规则编写工具,工作与用户空间,编写规则并且发送到netfilter
所有的规则都在hook_function的函数中
PREROUTING:mangle、nat
INPUT:filter、mangle
OUTPUT:filter、nat、mangle
FORWARD:filter、mangle
POSTROUTING:mangle、nat
过滤:筛选
NAT:Network Address Translation(地址转换)
DNAT(目标地址转换)
SNAT(原地址转换)
mangle
raw
四表:filter、nat、mangle、raw
五链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
表和链的对应关系:
filter:INPUT、FORWARD、OUTPUT
nat:PREROUTING、OUTPUT、POSTROUTING
mangle:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
规则:检查条件,处理机制
防火墙的策略:通(默认为堵,只对能识别的进行放行)
堵(默认为通,只对能识别的进行阻截)
检查条件:
IP:SIP,DIP
TCP:SPORT,DPORT,Flags(ACK,SYN,FIN,RST,PSH,URG)
UDP:SPORT,DPORT
ICMP:ICMP-TYPE
扩展机制:
time,string,state(connection-tracking)连接追踪
处理机制
DROP,REJECT,ACCEPT,SNAT,DNAT,RETURN,FORWARD,REDIRECT(端口转发),LOG
二、iptables工具使用说明
iptables [-t table] -N chain
创建一条自定义的规则链
iptables [-t table] -X [chain]
删除一条自定义的空规则链,如果不为空可以先用-F清空再删除
iptables [-t table] -E old-chain-name new-chain-name
修改自定义规则链的名称
iptables [-t table] -P chain target
为链指定默认策略,指定默认规则
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
-F:清空链中的规则
规则有编号,在链中自上而下,从1开始;
-L:list,列出表中的所有规则;
-n:数字格式显示IP和Port
-v:显示详细信息
pkts bytes target prot opt in out source destination
pkts:packets,被本规则所匹配到的报文的个数
bytes:被本规则所匹配到的所有报文的大小之和,单位字节
target:目标,即处理机制
prot:协议,一般为{TCP|UDP|ICMP}
opt:可选项
in:数据包的流入接口
out:数据包的流出接口
source:源地址
destination:目标地址
-vv:显示更详细信息
-vvv:显示更更详细信息
-x:exactly:精确值,不执行单位换算
--line-numbers:显示个规则的行号
-Z:zero,清零
iptables [-t table] {-A|-D} chain rule-specification
-A:append,附加一条规则
rule-specification
匹配条件 -j 处理机制
匹配条件:
通用匹配:
-s|--src|--source: 匹配原地址,可以IP,也可以网络地址;可以使用!取反, ! 192.168.1.0/24
-d|--dst|--destination:匹配目标地址,可以IP,也可以网络地址;可以使用!取反, ! 192.168.1.0/24
-p:匹配协议,通常只是用{TCP|UDP|ICMP}三者之一
-i:数据报文流入的接口,通常只用于INPUT,FORWARD和 PREROUTING
-o:数据报文流出的接口,通常只用于OUTPUT,FORWARD和POSTROUTING
删除规则:
iptables [-t table] -D chain rulenum
插入规则:
iptables [-t table] -I chain [rulenum] rule-specification
替换指定规则:
iptables [-t table] -R chain rulenum rule-specification
只显示指定链上的规则添加命令:
iptables [-t table] -S [chain [rulenum]]
保存规则:
service iptables save
规则会被保存至/etc/sysconfig/iptables文件中
start时也会读取此文件中的内容以设置规则
保存规则
# iptables-save > /path/to/some_rulefile
重新生效规则
# iptables-restore < /path/to/some_rulefile
Linux防火墙简介及iptables的基本使用的更多相关文章
- Linux防火墙简介 – iptables配置策略
Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...
- LINUX防火墙firewall、iptables
(1) 重启后永久性生效: 开启: systemctl enable iptables.service'.ln -s '/usr/lib/systemd/system/iptables.service ...
- Linux防火墙firewall和iptables的使用
防火墙是整个数据包进入主机前的第一道关卡. Linux中有两种防火墙软件,ConterOS 7.0以上使用的是 firewall,ConterOS 7.0以下使用的是 iptables,本文将分别介绍 ...
- Linux 防火墙:Netfilter iptables
一.Netfilter 简介 (1) Netfilter 是 Linux 内置的一种防火墙机制,我们一般也称之为数据包过滤机制,而 iptables 只是操作 netfilter 的一个命令行工具(2 ...
- 7、linux防火墙的使用(iptables)
7.1.说明: CentOS 7 系统默认的防火墙是 Filewalld.不过,现在应该还有很多用户习惯使用 iptables.本文以 CentOS 7 为例, 说明在 CentOS 7 中如何安装并 ...
- Linux 防火墙 开放 端口 iptables
查看状态:iptables -L -n 方法1.使用iptables开放如下端口/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT保存/etc/ ...
- linux iptables 防火墙简介
iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非 ...
- linux 防火墙 iptables 目录
linux iptables 防火墙简介 Linux 防火墙:Netfilter iptables 自动化部署iptables防火墙脚本
- linux 防火墙基本使用
写在最前面 由于工作后,使用的Linux就是centos7 所以,本文记录是是centos7的防火墙使用. 从 centos7 开始,系统使用 firewall 进行防火墙的默认管理工具. 基本使用 ...
随机推荐
- c语言计算矩阵特征值和特征向量-1(幂法)
#include <stdio.h> #include <math.h> #include <stdlib.h> #define M 3 //方阵的行数 列数 #d ...
- jQuery原生框架-----------------属性操作
// 添加一个处理兼容获取样式的静态方法jQuery.getStyle = function( dom, styleName ) { // dom不是dom,styleName不是字符串,直接打走 i ...
- Linux代码的重用与强行卸载Linux驱动
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...
- 使用NFC读卡器ACR122u读取银行卡信息
使用NFC读卡器 ACR122u 使用ACR122u Tool 软件发送spdu指令即可 一些运行结果 如上所示,银行卡的卡号,有效期,卡主姓名,身份证号,进期消费记录均可读出
- jsp取得绝对路径的方法(避免请求转发的方式导致路径错误)
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+re ...
- redis基础总结
Redis 数据类型: String Hash String类型: 一个key对应一个value,二进制安全的. set方法:设置对应值的value set name value get方法:获取对应 ...
- C# treeview 绑定数据 【转】
private void bindTreeView1() { string sql = "select * from dm_category"; DataTable dt = db ...
- 数据库Mysql学习笔记(一)
Mysql 数据库是数据库初学者最佳的选择的,其语法简单,采用的非底层的SQL语言定义(DDL).操作(DML).控制(DCL)数据库. 入门知识:服务器.库.表. (1)安装Mysql服务器.配置文 ...
- C# 字符串操作类
using System; using System.Collections.Generic; using System.Text; using System.Collections; using S ...
- u-boot链接脚本分析
eclipse 64位下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release ...