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 进行防火墙的默认管理工具. 基本使用 ...
随机推荐
- map的四种遍历方式
map是Java中非常常用的一种数据结构,但map不同于set和list都继承自Collection接口. 所以map没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素. ...
- 两个APP跳转传值问题
最近工作上遇到个问题,新的项目要和老系统单点登录. 有点蒙,从来没做过,网上一搜都是SSO,还需要验证服务器. 仔细揣摩,其实需求很简单,没必要那么复杂,以下是我的需求和解决方案: 原系统AP1 新开 ...
- 开始JavaScript
将脚本放在那里? 将本可以放在HTML页面上的两个位置:<head>和</head>标签之间(称为头脚本,header script),或者<body>和</ ...
- Android中ListView控件的使用
Android中ListView控件的使用 ListView展示数据的原理 在Android中,其实ListView就相当于web中的jsp,Adapter是适配器,它就相当于web中的Servlet ...
- MongoDB学习
最近在学习,参考一线码农的教程 http://www.cnblogs.com/huangxincheng/category/355399.html
- cocos2d-x创建项目
2.0之后的创建项目方法 第一步,首先 cd cocos2d-x-2.2.1/tools/project-creator/ 第二步, ./create_project.py -project Hell ...
- 将时区格式的时间转换为易于阅读的标准格式"yyyy-MM-dd"
Date的显示格式就是时区格式, String 标准格式 = new SimpleDateFormat("yyyy--MM--dd").format(new Date());
- A与B相交后的图形查询
按照A与B图形得到相交后的图斑 <!-- <%@ Page Language="C#" AutoEventWireup="true" CodeBeh ...
- 盲注----基于布尔的SQL盲注
构造逻辑判断常用字符串截取函数http://www.cnblogs.com/yyccww/p/6054569.html常用函数left(a,b) 从左侧截取a的前b位right(a,b) 从右侧截 ...
- 【RobotFramework自动化测试】数据库值验证
${sqlCount} Row Count ${sqlStr} #注释:Row Count 将SQL查询结果的行数返回给前面的参数: @{rs} query ${sqlS ...