这这个问题最初发布在 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)可以完美运行。
抱歉,我对这个问题的了解还很基础……
- 据我所知,链路本地 ipv6 是静态的,仅在本地可用,专门用于安全地启用本地访问。如果我们的想法只是实现本地访问,那么它应该是我们的首选……
即使有防火墙(在路由器上),链路本地 ipv6 是否也应该在本地网络中可用?路由器防火墙为什么要阻止它?如何启用本地链路 IPv6 并保持路由器防火墙开启?
- 我已经知道我们可以在设备级别设置防火墙,
ufw
在例如。最初,我的 Ubuntu 没有ufw
激活。激活它并释放我为 ssh 设置的特定端口并不能解决问题。目前,sudo ufw status
显示允许从任何地方使用指定的端口
即使有在设备级别设置防火墙的替代方案,我也不太愿意简单地关闭整个网络(在路由器上)的防火墙。我认为这不是一个好主意……
路由器菜单仅显示将 ipv6 防火墙设置为活动/停用的方法,无法针对端口、设备等进行设置/阻止。我看到了使用 ipv6 进行端口转发的选项,但我明白,因为我们正在讨论本地链路地址在本地可用,所以它们是不相关的...不确定是否相关,但根据路由器的菜单,dhcpv6 未处于活动状态。
- 我是否可能搞乱了 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
任何帮助都将受到赞赏。