sudo sysctl -w net.ipv4.conf.eth0.route_localnet=1
的安全含义是route_localnet什么?
sudo sysctl -w net.ipv4.conf.eth0.route_localnet=1
的安全含义是route_localnet什么?
此选项的文档显示以下内容:
route_localnet - BOOLEAN
Do not consider loopback addresses as martian source or destination
while routing. This enables the use of 127/8 for local routing purposes.
default FALSE
从本质上讲,它告诉内核不要将本地路由视为危险并拒绝它。只要net.ipv4.ip_forward为0,您就不需要更改route_localnet。在大多数情况下,您仅在使用iptables执行一些PREROUTING和/或FORWARD时才需要它。
如果这不在面向公众的网络接口上,则安全风险是有限的,否则您希望确保正确完成入口和出口过滤。这可以减少欺骗性流量的影响。
我认为主要的含义是,如果它们未能指定入口接口,则允许 127/8 通信的防火墙规则(分布或自定义)可能不再有效。如果规则是专门为它设计的,我不会看到一个大问题。
如果它实际用于线路(而不是虚拟交换机网络),则更多的是兼容性和一致性问题。
此设置的一个可能的安全含义是,如果服务在 localhost 上侦听作为一种安全措施(即它依赖于 127.0.0.1 不能被它运行的机器以外的机器寻址),这可能会破坏该假设,因为其他LAN 上的机器可以将流量路由到此主机上的 127.0.0.1。
在 Kubernetes(当前设置此选项)的上下文中对此问题的示例和讨论是here