如何禁用IPv6的NAT(NAT66)?


9

当前的Ubuntu LTS不支持用于IPv6的NAT表(即没有ip6tables -t nat),对此我很好,事实上,无NAT的环境是我网络的“核心”。

但是,下一个Ubuntu LTS将添加对IPv6 NAT表的支持,问题是,我有“命令”不允许在我的IPv6网络中使用它,我的意思是,我们将不支持NAT66(用于IPv6的NAT)。

因此,我需要确保ip6tables -t nat在这里不起作用。如何禁用它?

我可以将某些内核模块列入黑名单吗?Sysctl?

Answers:


6

IPv6 NAT模块已命名nf_nat_ipv6,因此将其列入黑名单就足够了。

sudo sh -c 'echo blacklist nf_nat_ipv6 >> /etc/modprobe.d/blacklist'

该黑名单技术不起作用。nf_nat_ipv6在此处,已列入黑名单,但是,如果我运行“ ip6tables -t nat -L -nv”,则会显示该模块。请,NAT66完全是不希望的,不必要的,我需要确保将其禁用。
ThiagoCMC 2013年

1
但是,然后,我将破坏软件包“ linux-image-generic” ...并且在系统升级后,该令人毛骨悚然的模块将再次出现...我真的不明白为什么默认情况下启用此功能,NAT66是不希望的。人们需要克服NAT(这只是IPv4网络的一种解决方法),请使用Ubuntu家伙...不要这样做,请给我一种禁用NAT66的专业方法... IPv6不需要任何类型的NAT,这将给没有任何问题的世界(IPv6)带来问题。:-P
ThiagoCMC 2013年

4
@ user2512727我也不明白。绝不应该编写这些特定的代码,更不用说部署了。
迈克尔·汉普顿

1
sudo命令的一部分对您没有任何好处。它仅适用于echo命令(不需要特殊特权)。需要特权的重定向在sudo之前执行。因此,该命令将以失败bash: /etc/modprobe.d/blacklist: Permission denied。但也许echo blacklist nf_nat_ipv6 | sudo tee -a /etc/modprobe.d/blacklist效果更好。
卡巴斯德(Kasperd)

1
@ThiagoCMC为什么说默认情况下启用了它?除非您创建需要该模块的规则,否则永远不要加载它。话虽如此,恐怕这样的模块弊大于利。NAT66的合理使用案例极为罕见。NAT66功能更可能被那些过多接触IPv4的人使用,现在他们遭受了NAT是个好主意的幻想。
rfc2460 '19

0

将这样的模块列入黑名单的正确方法如下:

在您的黑名单文件中,插入以下行,将“(module_name)”替换为lsmod中显示的模块名称

install (module_name) /bin/false

这是内核级别的指令,并不特定于任何发行版。您可以在中找到有关install指令的更多信息man modprobe.conf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.