限制从远程 PC ping PC

限制从远程 PC ping PC

如何限制从任何远程 PC ping 我的 PC?有什么方法可以做到这一点吗?我的 PC 不在防火墙内,但我想阻止从外部 ping 我的 PC。我可以这样做吗?如果可以,那么怎么做?我正在使用 Ubuntu 16.04。

答案1

可以使用以下方法:

  1. 设置内核变量以丢弃所有 ping 数据包(临时):

    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
    This instructs the kernel to simply ignore all ping 
    requests (ICMP type 0 messages)
    
    • 重新启用:

      echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
      
  2. 将以下行添加到/etc/sysctl.conf文件,附加此行(第一步的永久解决方案):

    net.ipv4.icmp_echo_ignore_all = 1
    
    Reload with sysctl -p
    
  3. 通过设置 ICMP(Internet 控制消息协议)来使用 iptables:

    • 添加以下行:

      iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
      
      OR
      
      iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
      
  4. 如果使用firewalld

    • 检查可用的 ICMP 类型

      firewall-cmd --get-icmptypes
      
    • 我们追赶echo-reply,所以应用块

      firewall-cmd --zone=public --add-icmp-block=echo-reply
      

资料来源:

https://www.cyberciti.biz/tips/linux-iptables-9-allow-icmp-ping.html

https://www.cyberciti.biz/faq/howto-drop-block-all-ping-packets/

https://crybit.com/iptables-rules-for-icmp/

http://www.tecmint.com/firewalld-rules-for-centos-7/2/

相关内容