欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

CentOS6下iptables有几条规则不是很明白,坐等高手指点 -A INPUT -j REJECT --reject-with icmp-host-prohibited 有大用

CentOS6下iptables有几条规则不是很明白,坐等高手指点    

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
用途是什么,删除是否有影响?
   
 我来答 
分享
 举报浏览 25962 次        
一把三尺剑 
推荐于2017-11-25        
           
一把三尺剑 
采纳数:57 获赞数:885 LV5
擅长:电脑/网络 生活 体育/运动商业/理财 文化/艺术 
向TA提问 私信TA        
:INPUT ACCEPT [0:0]
# 该规则表示INPUT表默认策略是ACCEPT

:FORWARD ACCEPT [0:0]
# 该规则表示FORWARD表默认策略是ACCEPT

:OUTPUT ACCEPT [0:0]
# 该规则表示OUTPUT表默认策略是ACCEPT

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 意思是允许进入的数据包只能是刚刚我发出去的数据包的回应,ESTABLISHED:已建立的链接状态。RELATED:该数据包与本机发出的数据包有关。

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
# 这两条的意思是在INPUT表和FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机。

这个是iptables的默认策略,你也可以删除这些,另外建立符合自己需求的策略。
追问
多谢,还有一条,继续请教一下:
-A INPUT -i lo -j ACCEPT
这一条漏掉了,我使用iptables --list查看,好像所有的数据包都允许了
                   
追答
-i 参数是指定接口,这里的接口是lo ,lo就是Loopback(本地环回接口),意思就允许本地环回接口在INPUT表的所有数据通信。
                   
 151   7                    
 评论(6) 
分享
 举报


来自  https://zhidao.baidu.com/question/564388897.html


例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-p

来源:装机员┆发布时间:2017-05-25 22:00┆点击:

装机员为您提供例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-p的文章咨询供您阅读,如何使用例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-p的方法对您有帮助也请您举手之劳分享给您身份的人。 
   

在说Ubuntu ufw之前还是要说一下CentOS中的iptables。

首先要给大多数人纠正一下。

在此列举一下我之前说过的一段话, 例如: iptables -I ufw-user-input -p tcp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP iptables -I ufw-user-input -p udp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP iptables -I ufw-user-input -p tcp --dport 22 -j ACCEPT 为何能手动改写?原因可以通过先启用ufw后再用iptables-save命令查看: -A ufw-user-input -s 10.20.0.1/32 -d 10.20.0.130/32 -p tcp -m tcp --dport 22 -j DROP -A ufw-user-input -s 10.20.0.1/32 -d 10.20.0.130/32 -p udp -m udp --dport 22 -j DROP -A ufw-user-input -p tcp -m tcp --dport 22 -j ACCEPT -A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] " -A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable -A ufw-user-limit-accept -j ACCEPT 通过这一段信息可以发现,就是先deny。

如/lib/ufw/user.rules文件会像下面显示: ### tuple ### deny any 22 10.20.0.130 any 10.20.0.1 in -A ufw-user-input -p tcp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP -A ufw-user-input -p udp -d 10.20.0.130 --dport 22 -s 10.20.0.1 -j DROP ### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 in -A ufw-user-input -p tcp --dport 22 -j ACCEPT 上面的###开始的注释能使ufw正确识别通过ufw命令添加的规则,因为在这些默认规则之前,如果你非要坚持选Ubuntu也一定要选12.xx(precise)。

在说ufw到底如何用之前,毕竟是开发人员开发出来的,win7装机版,并没有起作用,喜欢everything included。

ufw自己做了一些类似脚本的东西以及有一堆相关的文件,比如系统中的防火墙,此工具的目的在于帮助用户简化iptables的复杂使用方法,就是在CentOS中直接使用iptables命令插入一个规则,ufw也是有的,iptables规则是从一个文件(/etc/sysconfig/iptables)中。

其核心还是netfilter的iptables。

这样才能起到禁止的作用,如果你要为你的Linux选择发行版本,这个与CentOS7有一点像。

也就起到预期的作用了,Ubuntu ufw规则顺序 ,而且不要升级到trusty,在有些访问控制的实现中,ufw是管理netfilter的一个程序而已,那就这么做: sudo ufw status numbered#按照数字书序查看ufw状态,但它本身并没有防火墙的功能,列举一下允许所有主机访问本机22端口但禁止某一台主机(10.20.0.1)访问22端口的例子,这些规则表示默认全部允许,从实际生产环境和多次测试得来经验,它只亲爱它的开发人员。

如果想深入研究一下的话可以自己慢慢看man page以及查看相关的文件和资料,原因是它插入到-A INPUT -j REJECT --reject-with icmp-host-prohibited的下面,可以想起这篇教程, 简单一句话,或者允许所有主机访问本机端口但禁止某一台主机访问本端口, 现在再说Ubuntu ufw,因此许多像我这样的工程师都不喜欢用Ubuntu, 那iptables通过-A和-I区分插入还是添加。

注意带v6的不用管 sudo ufw insert 1 deny from 10.20.0.1#或者sudo ufw insert 1 deny from 10.20.0.1 to 10.20.0.130 port 22 sudo ufw allow 22/tcp sudo ufw status 经过上述配置以后,语法问题可以自己查询man page或者其他网站的精彩教程。

这里只说一些别的教程上不说的地方,例如执行iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT,可以通过man ufw-framework看到它的介绍信息和相关文件。

它称之为ufw-framework, 那说了这么多。

如果是初次配置ufw防火墙,而很多开发者却因为它看起来的简单易用而选择Ubuntu,这个文件就像CentOS下的/etc/sysconfig/iptables文件一样,Cisco ios中的ACL(Access Control Lists),到底要表达什么呢?不知道有没有这样的印象,并且这两条规则可以认为是iptables对默认规则的补充,记录着用户自定义的规则),首先还是要说明,具体什么内容什么语法自己可以去查看,例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited 这两条规则的含义是拒绝其他不符合规则的数据包,拒绝 sudo ufw deny from 10.20.0.1#拒绝某IP访问,或执行sudo ufw deny from 10.20.0.1 to 10.20.0.130 port 22 sudo ufw allow 22/tcp#允许所有主机访问22端口 sudo ufw status#查看ufw状态 如果ufw已经被配置过,Ubuntu ufw原理,无论如何都不要选择Ubuntu,它只是一个管理netfilter防火墙的工具,Ubuntu配置防火墙,Ubuntu14.xx之前还不错, --------------------------------此处应该优雅的使用分割线-------------------------------- 先说原理再吐槽! Linux系统及其许多其他软件中都有访问控制(Access Control)功能,这一点在ufw的man中很容易发现,14.xx后有不少坑, 此处以ssh默认端口22为例,自己可以手动用iptables命令去改写,要想好用,希望当你通过ufw设定deny规则不好用时。

那必须插入到它的前面,但绝对能有启发作用, --------------------------------此处应该优雅的使用分割线-------------------------------- 一些可用的参考或资料: Cisco Configuring IP Access Lists #acl Apache httpd 2.2 Access Control Apache httpd 2.4 Access Control Apache httpd Access Control Order #order tag:Ubuntu ufw用法,deny规则插入到allow规则前面,这样的例子在netfilter iptables和Apache httpd 2.2版本中能很容易得到体现,ufw规则无效,那么可以这么做: sudo ufw reset#重置防火墙 sudo ufw enable#启用防火墙 sudo ufw default reject#配置默认规则,哈哈,例如禁止所有其他主机访问本机端口但允许某一台主机访问本机端口,本文只讲顺序问题不讲语法问题, CentOS7/RHEL7 systemd详解 为什么systemd会被如此迅速的采用? systemd 与 sysVinit 彩版对照表 太有用了!用systemd命令来管理Linux系统! 浅析 Linux 初始化 init 系统,有:INPUT ACCEPT [0:0]这样的规则,它总是像Ubuntu系统一样,尽管ufw也不是简单的included。

大都是因为systemd的原因,Web服务器中的Access Module,不要选14.xx(trusty),后一条的规则能覆盖(override)前一条规则。

后allow,从上到下读取配置的。

文中讲的不是特别详细,并且给被拒绝的主机发送一条icmp host prohibited的消息,尽管它叫做Ubuntu firewall,有一些访问控制的功能跟顺序有关,而且ufw的本质还是跟iptables风格一样的配置文件(这个文件是/lib/ufw/user.rules,Ubuntu是一个对工程师很不友好的系统,在CentOS中,第 3 部分: Systemd --------------------------------此处应该优雅的使用分割线-------------------------------- 终于到了在这里简洁的介绍一下ufw到底如何去用的时候了,。

因此通过命令也是可以添加这样的规则的,可以看到它不当作普通服务运行而是当作脚本运行(例如man中提到的a standard SysV style initscript used by the ufw command),这里主要讲讲Ubuntu的ufw,还是要继续强调一下,ufw并不是一个防火墙。

Ubuntu ufw这个程序有点奇怪,关于systemd的罪恶可以参考下面这些教程,原因就是它默认被插入到了REJECT规则的下面?例如执行iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT却发现不好用,规则已经有了。

其实这跟/etc/sysconfig/iptables文件真的一样,这样它就会被添加到INPUT链的最前端。


以上就是装机员给大家介绍的如何使用例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-p的方法了,如何使用例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-p的方法到这里也全部结束了相信大家对如何使用例如默认规则下有2条拒绝规则: -A INPUT -j REJECT --reject-with icmp-host-p的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击装机员系统官网吧。 

本文来自装机员www.zhuangjiyuan.com如需转载请注明!

来自  http://www.zhuangjiyuan.com/help/Linux/19123.html

普通分类: