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 进行防火墙的默认管理工具. 基本使用 ...
随机推荐
- linux命令每日一练习 创建新文件 列出文件的时候带着行号
touch ××× nl ****
- win10 Unistack 服务组 占用资源如何解决
开始菜单>设置>隐私,隐私界面的左侧栏目,找最后一个“后台应用”,把后台运行的应用全部关掉即可
- 同上! 下拉复选框 点击当前的checkbox 选中后面li 添加到指定区域
(function() { $(".cxbtntj").click(function(){ console.log($("#jsLi1").attr(" ...
- 火狐和IE浏览器的兼容问题汇总
1.window.event code=(navigator.appName="Netscape")?event.which:event.keycode; 2.event.x mx ...
- C# 学习电子书资料分享mobi epub等格式
.NET之美:.NET关键技术深入解析 作者: 张子阳 出版社:机械工业出版社 大小:20.29MB 出版时间:14-01-01 格式:mobi ASP.NET 4权威指南 作者: 马伟 出版社: 大 ...
- 移动混合开发之文件管理Final之总结
从昨天开始:2016年7月日,早晨用时1+2个小时左右,最开始还怀疑自己能否解决,但是最终还是自己解决, 所以下次遇到问题,最好还是尽量尝试自己解决. 1.css在设计的时候,一定要把父元素的长宽高指 ...
- Empty 和空字符串区别
如果 var 是非空或非零的值,则 empty() 返回 FALSE. 换句话说,"".0."0".NULL.FALSE.array().var $var; 以 ...
- std::vector<bool>中的坑
http://www.cplusplus.com/reference/vector/vector/?kw=vector C++中,vector<bool>为了达到节省内存的目的,专门做了特 ...
- SEO优化
SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”.SEO是指从自然搜索结果获得网站流量的技术和过程,是在了解搜索引擎自然排名机制的基础上, 对网 ...
- linux tar 解压文件时指定文件名
linux解压文件时指定文件夹名称 wget -O mysql-5.6.15.tar.gz http://oss.aliyuncs.com/aliyunecs/onekey/mysql/my ...