iptables基础知识详解


iptables被称为数据包过滤器,只能检查数据链路层,IP层以及传输层的协议iptables有五个内置链:
PREROUTING:路由钱(不能做过滤)
INPUT:报文转发到本机FORWARD:报文转发输出到其它机器OUTPUT:经由本机进程转发POSTROUTING:路由决策发生以后iptables的功能:filter:过滤,防火墙nat:用于修改源IP或目标IP,也可以修改端口;
mangle:拆解报文,作出修改后,并重新封装起来;
raw:关闭nat表上启用的连接追踪机制
功能链的对应关系:
功能只能应用到那些链上面 raw:PREROUTING,OUTPUT mangle:PREOUTING,INPUT,FORWARD,OUTPUT,POSTROUTINGnat:PREROUTING,{Centos 7 INPUT}OUTPUT,POSTROUTING filter:INPUT,FORWARD,OUTPUT 报文流向:流入本机:PREROUTING–>INPUT由本机流出:OUTPUT–>POSTROUTING转发:PREROUTING–>FORWARD–>POSTROUTING
iptables(管理工具,命令行配置)/netfilter(内核模块,具体功能它来实现) 组成部分:根据规则匹配条件来尝试匹配报文,一旦匹配成功,就有规则定义的处理动作做出处理; 匹配条件:基本匹配条件扩展匹配条件 处理动作:基本处理动作扩展处理动作自定义处理动作添加过则的考量点:(1)要实现那种功能:判断添加到哪个表上;(2)报文流经的路径:判断添加到哪个链上;链:链上 的规则次序,即为检查的次序;因此,隐含一定的应用法则;
(1)同类规则(访问同一应用),匹配范围小的放上面; (2)不同类的规则(访问不同应用),匹配到报文频率较大的放上面; (3)将那些可由一条规则描述的多个规则合并起来; (4)设置默认策略; iptables规则格式:iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname[per-target-options] -t table: 不加-t选项的默认为filterraw,mangle,nat,filter
COMMAND: 链管理: -N:new,自定义一条新的规则链; -X:delete,删除自定义的规则链; -P:Policy,设置默认策略;对filter表中的链而言,其默认策略有; ACCEPT:接受 DROP:丢弃 REJECt:拒绝 -E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除; 规则管理: -A:append,追加; -I:Insert,插入,要指明位置,省略时表示第一条; -D:delete,删除; (1)指明规则序号; (2)指明规则本身; -R:replace,替换指定的规则链; -F:flush,清空指定的规则链; -Z:zero,置零; iptables的每条规则都有两个计数器; (1)匹配到的报文的个数; (2)匹配到的所有报文的大小之和; 查看: -L:list,列出指定链上的所有规则; -n –line-numbers,以数字格式显示地址和端口号; -v:verbose,详细信息 -x:exactly,显示计数器结果的精确值; chain: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 匹配条件: 基本匹配条件:无需加载任何模块,由iptables/netfilter自行提供; [!]-s,–source address[/mask][,…]:检查报文中的源IP地址是否符合此处理的地址或范围 [!]-d,–destination address[/mask][,…]:检查报文中的目标IP地址是否符合此处指定的地址范围; [!]-p,–protocol protocol protocol:tcp,udp,icmp [!]-i,–in-interface name:数据报文流入的接口;只能应用于数据报文流入的缓解,只能应用于PREROUTING,INPUT和FORWARD链; [!]-o,–out-Interface name:数据报文流出的接口;只能应用于数据报文流出的环节,只能 扩展匹配条件:需要加载扩展模块,方可生效; 隐式扩展:不需要手动加载扩展模块;因为他们是对协议的扩展,所以,但凡使用-p指明了协议,就表示已经指明的要扩展的模块; tcp: [!]–source-port,–sport port[:port]:匹配报文的源端口;可以是端口范围; [!]–destination-port,–dport port[:port]:匹配报文的目标端口;可以是端口范围; [!]–tcp-flage mask comp 例如:“–tcp-flagsSYN,ACK,FIN,RST SYN”表示,要检查的标志位为SYN,ACK,FIN,RST四个,其中SYN必须为1,余下的必须为0; [!]–syn:用于第一次握手,相当于“–tcp-flagsSYN,ACK,FIN,RST SYN”; udp: [!]–source-port,–sport port[:port]:匹配报文的源端口;可以是端口范围; [!]–destination-port –dport port[:port]:匹配报文的目标端口;可以是端口范围; icmp: [!]–icmp-type {type[/code]|typename} echo-requesr:8请求 echo-reply:0:响应 显示扩展:必须要手动加载扩展模块,[-m matchname [per-match-options]];显示扩展将在下一小结用具体示例详解
处理动作: -j targetname ACCEPT 免费云主机域名 DROP REJECT防火墙(服务) Centos 6: sevice iptables {start|stop|restart|status} start:读取事先保存的规则,并应用到netfilter上; stop:清空netfilter上的规则,以及还原默认策略等; status:显示生效的规则 restart:清空netfilter上的规则,再读取事先保存的规则,并应用到netfilter上; Centos 7: systemctl start|stop|restart|status firewalld.service systemctl disabled firewalld.server systemctl stop firewalld.service 防火墙基本配置命令: 查看iptables规则链命令 iptables -t filter -L -n –line-numbers -v 清空规则链 iptables -t filter -F 清空自定义规则链 iptables -t filter -X 现在我们设置192.168.32.144(本机)拒绝192.168.32.145主机所有的访问 iptables -t filter -A INPUT -s 192.168.32.145 -d 192.168.32.144 -j DROP 删除这一条规则则 iptables -t filter -D INPUT 1 修改上述规则链只限制192.168.32.145对本机的icmp协议 iptables -t filter -R INPUT 1 -s 192.168.32.145 -d 192.169.32.144 -p icmp -j REJECT iptables -A INPUT -s 192.168.32.145 -d 192.168.32.144 -p icmp -j REJECT 在本机流入接口做限制192.168.32.145的icmp协议访问 iptables -A INPUT -s 192.168.32.145 -d 192.168.32.144 -p icmp -oeno16777736 -j DROP 限制192.168.32.145主机使用ssh访问192.168.32.144 iptables -t filter -A INPUT -s 192.168.32.145 -d 192.168.32.144 -p tcp –dport 22 -j DROP 限制其它主机ping本主机,但是不限制本主机ping其它主机 iptables -A INPUT -d 192.168.32.144 -p icmp –icmp-type 8 -j DROP



相关推荐: ip协议解析 首部校验和

3. 初始计算校验和字段时该字段全部用0填充; 以上是对于发送者来说如何计算校验和的,而对于接收者来说,验免费云主机域名证也很简单:1. 对于接收的IP报文头部以16位为单位逐个求和;2. 若结果为1,则校验正确,否则出错丢弃; 原理很简单,接收方的计算对象是…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/28 18:03
下一篇 01/28 18:03