我在这个问题上看到(如何阻止 Linux 发送 ICMP“目标无法访问”响应?)有很多讨论指出您不应该关闭 ICMP 无法访问的消息。我想知道为什么以及何时应该这样做?我也想知道怎么做。我知道它会破坏 MTU 路径发现,但还有什么?
在 cisco 设备上,您可以打开和关闭此功能,这肯定是有原因的。在他们的文档中,它只是说关闭它是为了提高安全性,因为更难获取有关您的网络的信息?这就是 cisco 文档所说的。我需要实现为我的公司打开和关闭开关的功能,所以我正在了解它。不管为什么我仍然必须这样做,但我想知道为什么要这样做或不给别人的答案。
当我想关闭 ICMP 重定向时,我会这样做:
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
Run Code Online (Sandbox Code Playgroud)
对于无法访问的对象是否有类似的东西?
另一个线程上的用户是这样做的:
iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j DROP
Run Code Online (Sandbox Code Playgroud)
这是一个好方法,然后我可以通过停止这种下降来再次打开它吗?
我应该告诉人们他们不需要这个功能吗?
编辑:在线我看到这个:
An attacker could gather information’s about your network when scanning it,
like unused IP’s and networks. When working with (interface-) Access-Lists,
a deny statement triggers an ICMP Type 3 Code 9/10 message
(Network/Host is Administratively Prohibited). When disabling ICMP unreachables
on the interface where …
Run Code Online (Sandbox Code Playgroud) 我想在某个接口上使用 keepalived,该接口将在某个时候获得 IP 但最初没有 IP,我可以在配置中以某种方式设置它吗?如果我现在尝试启动它,keepalived 会出错,因为 keepalived 不知道在发送 VRRP 数据包时要使用哪个源 IP 地址。会议:
!keepalived的配置文件
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass pwd
}
virtual_ipaddress {
192.168.0.13
}
notify /etc/state_change.py
}
Run Code Online (Sandbox Code Playgroud)
日志:
keepalived -f /etc/keepalived.conf --log-console --dont-fork
Thu Jun 28 11:25:53 2018: Starting Keepalived v1.4.4 (05/08,2018)
Thu Jun 28 11:25:53 2018: Running on Linux 4.7.8 #9 SMP Wed Jun 27 17:25:18 IST
2018 (built for Linux 4.7.8)
Thu Jun 28 11:25:53 …
Run Code Online (Sandbox Code Playgroud)