Linux 禁ping

临时禁ping

禁ping,屏蔽主机的ping命令,使别人无法ping你的机器:
对这个文件 /proc/sys/net/ipv4/icmp_echo_ignore_all,其内容默认为0,意为,允许别人ping你,非0,则起禁ping作用(一般设置为1即可)

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

其中,/proc 是一种伪文件系统(也即虚拟文件系统),系统内存的映射

或者使用下面的命令

sysctl -w net.ipv4.icmp_echo_ignore_all=1

该两种方法会立即生效,但是下次重启时都会失效,永久生效方法在下方

补充:sysctl命令

用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中

选项:	
-n:打印值时不打印关键字; 
-e:忽略未知关键字错误; 
-N:仅打印名称; 
-w:当改变sysctl设置时使用此项; 
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置; 
-a:打印当前所有可用的内核参数变量和值; 
-A:以表格方式打印当前所有可用的内核参数变量和值。
永久生效
/etc/sysctl.conf 与 /proc/sys/ 的关系简介

/etc/sysctl.conf 是系统控制文件,主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件
设置方式

echo value > /proc/sys/xx/yy
# 或者
vi /etc/sysctl.conf #vi编辑,然后添加设置 ;  sysctl -p #生效
# 或者
sysctl -w kernel.domainname="example.com" #利用-w生效
如何永久生效

由上,我们将配置信息写入系统控制文件即可
首先,在 /etc/sysctl.conf 中追加配置信息(因为默认未列出)

echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf

然后,使之生效

sysctl -p

这样就能够禁ping了,如果想修改回去,将值改成0,然后sysctl -p一下就回去了

<think>好的,用户问的是如何在Linux系统虚拟机中ping功能,以及如何查看是否已经用。我需要先回想一下相关的命令和配置方法。 首先,ping通常是通过修改sysctl的参数来实现的,也就是调整/proc/sys/net/ipv4/icmp_echo_ignore_all的值。当这个值设置为1时,系统会忽略所有的ICMP Echo请求,也就是ping。设置为0则启用。 用户想知道如何查看当前的设置状态。最直接的方法是使用sysctl命令来查看这个参数的当前值。例如,执行sysctl net.ipv4.icmp_echo_ignore_all,或者直接查看/proc/sys/net/ipv4/icmp_echo_ignore_all文件的内容,用cat命令。如果输出是0,说明允许ping;如果是1,则用。 另外,可能还需要考虑防火墙规则的影响,比如iptables或者firewalld是否阻止了ICMP流量。这时候需要检查iptables的规则,使用iptables -L -n -v来查看是否有拒绝ICMP的规则。如果存在这样的规则,即使sysctl参数允许,也会被防火墙阻止。 用户可能是在虚拟机环境中进行网络调试,或者进行安全加固,所以需要确认是否已经正确用。同时,用户可能没有考虑到防火墙的影响,需要提醒他们检查这部分内容。 接下来,我需要组织回答的结构。先说明如何查看sysctl参数,然后提到防火墙的检查,最后给出示例命令。同时,要确保回答符合用户的要求,比如使用中文,格式正确,并在最后列出相关问题。 相关问题应该涵盖如何启用ping、其他用方法、参数的作用、防火墙配置以及持久化设置的方法。这样用户可以根据需要进一步提问。</think>要查看Linux系统虚拟机是否ping功能,可通过以下步骤确认: 1. **查看sysctl参数** 执行命令: ```bash sysctl net.ipv4.icmp_echo_ignore_all ``` 或直接查看文件内容: ```bash cat /proc/sys/net/ipv4/icmp_echo_ignore_all ``` - 输出`0`:允许ping - 输出`1`:已ping 2. **检查防火墙规则** 若sysctl参数为`0`但无法ping通,需检查防火墙(如iptables/firewalld)是否拦截ICMP协议: ```bash iptables -L -n -v | grep ICMP # 检查iptables规则 firewall-cmd --list-all # 检查firewalld规则(适用于CentOS/RHEL) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值