Ubuntu UFW:仅允许特定主机的ping请求

Ubuntu UFW:仅允许特定主机的ping请求,ubuntu,firewall,ping,Ubuntu,Firewall,Ping,我正在设置我的服务器,我必须禁用除我和主机列表(aaa.bbb.ccc.ddd)之外的所有人的ping请求 我正在使用ufw工具,在ubuntu服务器上,我读到我必须评论这些行: ok icmp代码 -输入前的ufw-p icmp--icmp类型目标不可访问-j ACCEPT -输入前的ufw-p icmp--icmp类型源淬火-j接受 -输入前的ufw-p icmp--icmp类型时间超过-j ACCEPT -输入前的ufw-p icmp--icmp类型参数问题-j ACCEPT -输入前的u

我正在设置我的服务器,我必须禁用除我和主机列表(aaa.bbb.ccc.ddd)之外的所有人的ping请求

我正在使用ufw工具,在ubuntu服务器上,我读到我必须评论这些行:

ok icmp代码 -输入前的ufw-p icmp--icmp类型目标不可访问-j ACCEPT -输入前的ufw-p icmp--icmp类型源淬火-j接受 -输入前的ufw-p icmp--icmp类型时间超过-j ACCEPT -输入前的ufw-p icmp--icmp类型参数问题-j ACCEPT -输入前的ufw-p icmp--icmp类型回显请求-j ACCEPT

但是,这样做会禁止所有人ping,这是一个问题,因为我需要“aaa.bbb.ccc.ddd”来响应is-ping请求

你能帮我写正确的命令吗


提前非常感谢。

我刚刚偶然发现了这个4个月大的问题。它确实应该列在不同的StackExchange上(例如ServerFault),但有时甚至开发人员也需要配置防火墙。事实上,我在这里给你一个答案

对于防火墙规则,您需要首先接受来自安全IP的数据包,然后丢弃其余数据包。我是这样做的:

假设您只希望接受一个用于ping的安全IP,并且IP地址为“127.0.0.1”。当然,这个IP可以是您想要的任何地址(只需为其他地址创建更多规则或定义子网)

步骤1

首先要检查的是/etc/ufw/sysctl.conf中的以下内容

net/ipv4/icmp_echo_ignore_all=1
…如果尚未使用0,则应将其重写为0

net/ipv4/icmp_echo_ignore_all=0
步骤2

将IPv4规则添加到/etc/ufw/before.rules中

-A ufw-before-input -p icmp --icmp-type echo-request -s 127.0.0.1 -m state --state ESTABLISHED -j ACCEPT
步骤3(支持IPv6)

将IPv6规则添加到/etc/ufw/before6.rules中

-A ufw6-before-input -p icmpv6 --icmpv6-type echo-request -s 127.0.0.1 -m state --state ESTABLISHED -j ACCEPT
步骤4

现在,重新启动防火墙,喝一杯您选择的饮料

service ufw restart

ufw init[22459]:本地主机的ipv6版本的错误参数“-s”是::1I也遇到了
错误参数“-s”
。我的系统=Ubuntu 18.04.3@Zahnon-评论?我能够在我(以上)的系统上实现这一点:
-A ufw before input-s 192.168.5.0/24-p icmp-icmp-type echo-request-j ACCEPT
这个答案还有帮助: