首页 / LINUX / LINUX iptables防火墙
LINUX iptables防火墙
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了LINUX iptables防火墙,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2408字,纯文字阅读大概需要4分钟。
内容图文
![LINUX iptables防火墙](/upload/InfoBanner/zyjiaocheng/1060/b98abc5ac5f5456a9892554f4e90840d.jpg)
1.了解防火墙及iptables:
1)常见的防火墙:
硬件防火墙:思科ASA、华为USG;
软件防火墙:Linux的iptables、windows的ISA;
2)Linux默认防火墙:netfilter(内核的模块)、ipables和firewall(用户工具);
3)iptables是红帽7以前的工具、firewall是rhel7开始提供的工具。
2.iptables的基本结构:表-->链-->规则
1)防火墙表:按照功能进行分类。
raw(状态跟踪)、mangle(标记)、nat(修改)、filter(过滤)
2)防火墙链:按照时机进行分类。
INPUT(入站)、OUTPUT(出站)、FORWARD(转发)、PREROUTING(路由前)、POSTROUTING(路由后)
总结:iptables防火墙工作在网络层,是编写规则、在什么时机完成什么事。是典型的包过滤防火墙。
3)表和链的关系:
raw表:PREROUTING,OUTPUT
mangle表:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
nat表:PREROUTING、POSTROUTING、OUTPUT
filter表:INPUT、OUTPUT、FORWARD
总结:iptables通过4表5链进行组织和管理,表中放链、链中放规则、规则处理数据包。
3.iptables的匹配顺序:
1)表的顺序(优先级):raw-->mangle-->nat-->filter
2)链的顺序:按照数据流向进行的。
a.入站数据流:PREROUTING-->INPUT
b.出站数据流:OUTPUT-->POSTROUTING
c.转发数据流:PREROUTING-->FORWARD-->POSTROUTING
3)链内规则顺序:从上到下顺序匹配,匹配即停止(LOG除外),如果不匹配使用默认规则。
二.编写iptables规则:
语法:iptables -t 表名 选项 链名 条件 -j 动作
1.编写iptables规则的注意事项:
表省略默认filter,链省略表内所有链,必须设置链的默认策略,选项、链名、动作大写、其他小写。
2.动作:
DROP丢弃,REJECT拒绝,ACCEPT允许,LOG日志
3.选项:对链内规则进行增删改查
1)增:-I指定序号添加规则默认开始添加,-A末尾添加规则,-N新建链
2)删:-D删除一条规则,-F清空链内所有规则,-X删除新建链
3)查:-L列表查看规则,-n数字方式显示,-v显示更详细的信息,--line-numbers显示规则序号;一般用组合如:-L -n、-L -n -v、-L -n -v --line-numbers
4)设置默认策略:-P 链名 DROP
4.iptables编写的条件分类:
1)通用匹配条件:
网络协议(tcp、udp、icmp):-p 网络协议
接口(网卡名:入站、出站):-i 入站网卡, -o 出站网卡
ip地址(源、目标地址):-s 源ip地址或网段,-d 目的ip地址
2)隐含匹配条件:
端口(源、目的端口):-p tcp或udp --dport 目标端口 | --sport 源端口 (单个端口,或连续端口2000:3000);
icmp的类型(8请求,0返回,3网络不可达):-p icmp --icmp-type 类型;
TCP协议标记(SYN,ACK,FIN,RST):-p tcp --tcp-flags 标记范围 被标记的状态 (常用:fin,syn,ack,rst syn);
3)显示匹配条件:
多端口:-m multiport -p tcp|udp --sports 源端口1,源端口2... 或--dports 目的端口1,...
ip地址范围:-m iprange --src-range 源ip1-源ip2
mac地址范围:-m mac --source-mac 源MAC地址
状态:-m state --state 状态 (状态有:NEW新连接,ESTABLISHED已经建立连接,RELATED和已经建立连接相关连接)
三.主机型防火墙规则编写建议流程:
1.需求分析:对外开放的服务;远程管理严格控制;允许本地相互访问;允许已经建立连接和相关连接状态;剩余流量拒绝。
2.编写主机型防火墙流程:
1)对外开放服务:
iptables -A INPUT -m state --state NEW -p tcp或udp -m multiport --dport 服务端口,... -j ACCEPT
2)远程管理严格控制:
iptables -A INPUT -s 管理员IP地址 -p tcp --dport 22 -j ACCEPT
3)允许本地相互访问:
iptables -A INPUT -i lo -j ACCEPT
4)允许已经建立和相关连接状态:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
5)剩余流量拒绝:
iptables -P INPUT DROP
iptables -P FORWARD DROP (设置默认策略)
3.管理防火墙流程:
1)停止防火墙服务:/etc/init.d/iptables stop
2)根据“编写主机型防火墙流程”编写规则
3)保存规则并开机启动防火墙:/etc/init.d/iptables save;chkconfig iptables on
4)后续禁用特定访问流量:iptables -I INPUT 条件 -j DROP (可以结合一次性计划任务做删除操作)
原文:https://blog.51cto.com/14386255/2406847
内容总结
以上是互联网集市为您收集整理的LINUX iptables防火墙全部内容,希望文章能够帮你解决LINUX iptables防火墙所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。