Linux防火墙禁止ping的方法

本文介绍如何通过iptables设置来禁用或启用主机的Ping测试。通过调整默认规则及开启特定协议,实现对外部Ping请求的有效管理和控制。

一般为了主机安全等因素,我们会禁止主机被ping通测试,这种禁止的方法比较多,以下几种方法是自己实践的过程中总结的经验,在此记录以作学习笔记。

1、在服务器安全方面考虑我们会禁止一些默认的端口,在filter表的input链中将默认规则设置为drop即可,然后将自己需要相关的端口以及服务开启即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
iptables  -t filter   -P INPUT   DROP    #默认规则的设置 设置此规则时需要注意远程端口规则
[root@localhost ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 
 
这时检查ping的命令
 ping  192.168.31.84
PING 192.168.31.84 (192.168.31.84) 56(84) bytes of data.  #结果是不通的
 将默认规则改为开启或者开启icmp协议时,将能ping通。
  
1、开启icmp协议后即可ping
iptables  -t filter -I INPUT  -p icmp  -j  ACCEPT 
ping  192.168.31.84
PING 192.168.31.84 (192.168.31.84) 56(84) bytes of data.
64 bytes from 192.168.31.84: icmp_seq=100 ttl=128 time=0.605 ms
64 bytes from 192.168.31.84: icmp_seq=101 ttl=128 time=0.736 ms
64 bytes from 192.168.31.84: icmp_seq=102 ttl=128 time=0.754 ms
64 bytes from 192.168.31.84: icmp_seq=103 ttl=128 time=0.696 ms

以上设置默认规则为拒绝的方式,不仅不能让别人ping通,同时自己也不能ping通其他的主机,这种方式我们用的比较少,我们可以采取以下的方式,

1
2
3
4
5
6
7
echo  "net.ipv4.icmp_echo_ignore_all=1"  >> /etc/sysctl.conf 
 
[root@localhost ~]# tail -1  /etc/sysctl.conf 
net.ipv4.icmp_echo_ignore_all=1
[root@localhost ~]
  sysctl  -p
  这时我们测试时,会发现我们能ping通其他主机,但是其他主机不能ping通,

下面的方式是我们根据防火墙规则,以及根据防火墙规则优先级别将允许ping通的放在前面,不允许ping通的放在后面



本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1859177,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值