架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7465|回复: 0

[linux] 理解input、output、forward与禁止ping

[复制链接]
发表于 2015-12-7 17:50:26 | 显示全部楼层 |阅读模式
看了“[分享]ROS禁止PING 方法”这篇贴,觉得大家对routeros防火墙和基本的tcp/ip协议理解不是很好。这里说说自己的看法,以便供大家和我一起讨论学习。
    我喜欢routeros的一个理由是,routeros防火墙功能非常灵活。routeros防火墙属于包过滤防火墙,你可以定义一系列的规则过滤掉发往routeros、从routeros发出、通过routeros转发的数据包。在routeros防火墙中定义了三个防火墙(过滤)链(即input、forward、output),你可以在这三个链当中定义你自己的规则。其中input意思是指发往routeros自己的数据(也就是目的ip是routeros接口中的一个ip地址);output意思是指从routeros发出去的数据(也就是数据包源ip是routeros接口中的一个ip地址);forward意思是指通过routeros转发的(比如你内部计算机访问外部网络,数据需要通过你的routeros进行转发出去)。
  象“[分享]ROS禁止PING 方法”贴子中说到禁止ping   routeros,我们一般需要在input链中添加规则,因为数据包是发给routeros的,数据包的目标ip是routeros的一个接口ip地址。
  (当然如果你硬是要在output里建立一条规则过滤掉icmp信息也能做到ping不通,当你ping的数据包到达routeos时,routeos能接收这个数据包并做出回应,当routeros回应给你的包要发出去的时候会检查output的规则并过滤掉回应你的包。)
  在每条链中的每条规则都有目标ip,源ip,进入的接口(in interface),非常灵活的去建立规则。比如“[分享]ROS禁止PING 方法”中禁止外网ping你routeros,只需要在in interface中选择你连外部网络的接口。禁止内部ping的话可以选择连你内部网络的接口。如果禁止所有的ping的话,那么接口选择all。当然禁止ping 协议要选择icmp ,action选择drop或reject。
  另外要注意的就是,icmp协议并不是就指的是ping,而是 ping是使用icmp协议中的一种(我们ping 出去发送的数据包icmp协议的类型为8 代码为0,在routeros中写为icmp-options=8:0;而我们对ping做出回应icmp类型为0 代码为0),还有很多东西也属于icmp协议。打个比方,如果你禁止内部网络ping所有外部网络,可以在forward链中建立一条规则,协议为icmp,action为drop,其他默认,那么你内部网络ping不通外部任何地址,同时如果你用trancroute命令跟踪路由也跟踪不了。在做规则是要注意每一个细节。
  还有就是,input,output,forward三条链在routeros中默认都是允许所有的数据。也就是除非你在规则中明确禁止,否则允许。可以通过ip firewall set input policy=drop等进行修改默认策略。
  写得非常罗嗦,为的是初学的能很好理解。欢迎参与讨论!





上一篇:CentOS iptables 运行逻辑及-I -A 参数解析
下一篇:console自动刷新当前页面
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-19 04:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表