路由器防火墙阻止使用本地链接 ipv6 的本地 ssh 访问

路由器防火墙阻止使用本地链接 ipv6 的本地 ssh 访问

这个问题最初发布在 ask Ubuntu,听起来好像与 Ubuntu 有关。但它似乎与网络、防火墙等主题更相关,因为路由器防火墙打开或关闭时结果会有所不同。

问题:只要我的路由器防火墙关闭,我就可以使用本地链接 ipv6 进行 ssh(或 ping)。

防火墙还阻止外部网络访问我的临时公共 IPv6。但目前,我正在考虑仅使用本地链接 IPv6,因为它提供固定/永久(非临时)地址。

即使防火墙已打开,我也可以使用 SSH 从本地网络上的 Windows 笔记本电脑通过公共 IPv6 地址远程访问我的 Ubuntu 22.04 PC。

ssh <username>@<public ipv6 address> -p <port>

或者ping说没有问题。

由于本地链接 ipv6 是永久的(valid_lft forever),因此使用它很方便。但它不适用于

ssh -6 <username>@<local-link ipv6 address>%<iternfaceLANNumber> -p <port>

我刚得到

连接超时

我也无法 ping

ping @<local-link ipv6 address>%<iternfaceLANNumber>

它返回目标主机不可达

我在 Windows PC 上获得了 <iterfaceLANNumber>,我确信它是正确的。我确信上述所有命令行都是正确的。当我停用路由器的防火墙时,它们(使用本地链接 ipv6)可以完美运行。


抱歉,我对这个问题的了解还很基础……

  1. 据我所知,链路本地 ipv6 是静态的,仅在本地可用,专门用于安全地启用本地访问。如果我们的想法只是实现本地访问,那么它应该是我们的首选……

即使有防火墙(在路由器上),链路本地 ipv6 是否也应该在本地网络中可用?路由器防火墙为什么要阻止它?如何启用本地链路 IPv6 并保持路由器防火墙开启

  1. 我已经知道我们可以在设备级别设置防火墙,ufw例如。最初,我的 Ubuntu 没有ufw激活。激活它并释放我为 ssh 设置的特定端口并不能解决问题。目前,sudo ufw status显示允许从任何地方使用指定的端口

即使有在设备级别设置防火墙的替代方案,我也不太愿意简单地关闭整个网络(在路由器上)的防火墙。我认为这不是一个好主意……

路由器菜单仅显示将 ipv6 防火墙设置为活动/停用的方法,无法针对端口、设备等进行设置/阻止。我看到了使用 ipv6 进行端口转发的选项,但我明白,因为我们正在讨论本地链路地址在本地可用,所以它们是不相关的...不确定是否相关,但根据路由器的菜单,dhcpv6 未处于活动状态。

  1. 我是否可能搞乱了 Ubuntu 的本地配置...我做了一些修改,例如尝试实现 UIE-64 命名并更改 ipv6 隐私配置,以查看是否可以设置静态公共 ipv6 作为替代方案,但没有成功...问题与它有关吗?

在 Ubuntu 上,我有:

  • 编辑了<networkName>.nmconnection位于 的文件/etc/NetworkManager/system-connections/
    • [ipv6]
    • addr-gen-mode=eui64
  • nmcli connection edit <network>
    • set ipv6.addr-gen-mode 0
    • set ipv6.ip6-privacy 1
  • [已编辑 /etc/sysctl.d/10-ipv6-privacy.conf]
    • net.ipv6.conf.all.use_tempaddr = 0
    • net.ipv6.conf.default.use_tempaddr = 0
    • net.ipv6.conf.<wlanCode>.accept_ra = 0
    • net.ipv6.conf.<wlanCode>.autoconf=1
    • net.ipv6.conf.<wlanCode>.use_tempaddr=0
  • 编辑.yaml文件/etc/netplan
    • network: * version: 2 * ethernets: * <WLancode>: * dhcp6: false * ipv6-privacy: off * ipv6-address-generation: eui64 * accept-ra: false * renderer: NetworkManager

任何帮助都将受到赞赏。

相关内容