2

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

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

好的 icmp 代码

-A ufw-before-input -p icmp --icmp-type 目的地无法到达 -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input - p icmp --icmp-type 超时 -j ACCEPT -A ufw-before-input -p icmp --icmp-type 参数问题 -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo -request -j 接受,

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

你能帮我写出正确的命令吗?

非常感谢您。

4

1 回答 1

1

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

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

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

步骤1

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

net/ipv4/icmp_echo_ignore_all=1

...如果还没有,则应将其重写为 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
于 2013-09-25T00:58:20.613 回答