以编程方式禁用ipv4/ipv6

3

在Linux上,是否有可能以编程方式禁用/启用IPv4 / IPv6功能? 禁用IPv4是指系统不应响应或启动任何IPv4流量。 启用IPv4将使系统响应IPv4流量。

谢谢!


1
为什么不直接使用iptables禁止它呢? - Chris Eberle
1
@MattJoiner:因为那违背了问题的本意。OP正在询问如何在系统调用级别上禁用ipv4/6,而我则在询问是否真的有必要在那个级别上进行操作,当防火墙可以被配置为(有效地)执行相同的功能时。我提供了一种替代观点。 - Chris Eberle
1
@Chris:展示如何使用iptables进行编程实现... - Matt Joiner
1
@MattJoiner:这可能听起来很奇怪,但我不知道该怎么做。这就是为什么我将其作为评论而不是答案的原因。我知道iptables 可以做到,但不知道如何做到。 - Chris Eberle
1个回答

2
你可以删除IPv4 IP地址,这样就无法在IPv4流量中参与。如果要重新启用它,请添加该地址。IPv6同理。
使用iproute2(/sbin/ip addr help)命令和相关工具。要显示你的地址,请运行ip addr ls。IPv4地址以inet开头,而IPv6地址行以inet6开头。

是的。如果您的接口没有IPv4地址,则无法使用IP4。同样适用于IPv6(尽管由于自动分配而更加棘手)。 - MarkR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接