V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ChaosAttractor  ›  全部回复第 1 页 / 共 1 页
回复总数  13
@ChaosAttractor 修正 此外 FRP 等一般用于单一的静态 **端口** 的穿透(转发),而作为 Default Route 则需要能被三层路由原始流量的能力
这些都是 Linux 的容器化技术,内核层面依赖 CGourps 实现,它可以提供在同一个内核中隔离多个用户空间进程,你可以理解为 LXC 里面的进程和外面的进程性能什么都是一样的(当然也可以限制),只是所有东西互相隔离
共享内核意味着 0 额外性能和内存开销,只有里面的进程会占用内存
而 LXC 则是管理管理 CGroups 和各种 Namespace 隔离的用户空间程序,类似的还有 ContainerD 和 LXD ,Docker 和 K8S 则基于 ContainerD
此外它们支持嵌套,所以在 LXC 中运行 Docker 并无不妥,因为 LXC 一般直接用于替代 Hypervisor
但 LXC 的网络基于内核的 NetNS ,并且因为共享内核和非特权的设计使得 eBPF 和 iptables/nftables 功能受限,而且大概率你还需要 CPU 转发(虚拟化则你可以直通网卡),各种硬件卸载功能也受限(当然如果你在用最新最热的 Mellanox 网卡那支持的还蛮好的)
一般作为路由我觉得不太合适
推荐静态场景用 Tailscale 或 Wireguard 等进行组网(当然也可以 SD-WAN )而不是用内网穿透服务,尤其是你还有公网 IP 这种条件
此外 FRP 等一般用于静态 IP 的穿透,而作为网关是需要能被三层路由的,FRP 什么的可能做不到
如果你只是需要异地组网,通过 wg 或者 tailscale 打隧道运营商是没有理由管的,不过可以被嗅探到是 vpn ( wireguard 有明文包头)
此外就算要对外提供访问也只需要在有公网 IP 的路由上设置端口转发就可以了
这个需要 BIOS 来实现吧,很多机器可以用逆向工程得到的 ACPI CALL 来控制(比如说华硕有 asusd )
如果机器不支持就没戏?
你之前 ping 网关时候网关的地址都是典型的 SLAAC 地址,你确定是只能用 DHCPv6 而不是只能有 SLAAC?
你这个网络环境是不能通过 dhcp-pd 等方法拿到 ipv6 段吗?(一般就是校园网,光猫无论桥接与否一般都可以 dhcp-pd ) tplink 这个桥接模式应该是 slaac-relay ,也就是中续并篡改 RA/RS 包的 mac 地址,然后配合 NDP-Proxy ,网关做三层转发(也有不用 NDP-Proxy 纯二层的实现,参考 https://blog.men.ci/ipv6-slaac-relay-and-bridge ),这是一种没有办法的情况下(需要鉴权且只允许有一个 mac 地址联网)才会使用的很窒息很 hack 的模式

如果可以接受 NAT 的话,可以找找路由器有没有 ULA+NAT66/NTPv6 的选项

这种模式下应该只能使用 SLAAC ,DHCPv6 的话需要额外实现 DHCPv6 报文的中续和篡改(具体实现方法取决与你的 NDP-Proxy 的实现会不尽相同)

但是很显然你用了 DHCPv6 (显然你的地址不是 eui64 生成的),以及你拿到的地址也有些奇怪,很少见到 ::d:dddd 这种风格的地址,大概率不是你的路由器给的,是上游的网关给的,你可以用 ip -6 route 来查看一下 Default Route 是什么地址,看看是不是你的路由器

你的路由表里关于二层的路由应该没什么问题,但是 Default Route (网关)大概不是你的路由器而是上游的网关,那么就要看你路由器的 NDP-Proxy 是怎么实现的了,如果它的中续是双向的,那么你就可以联网,否则你可以理解为是你的路由器的实现有问题

此外你说 Windows 可以联网,Windows 是通过 DHCPv6 联网的??你试试看安卓能不能联网,安卓只支持 SLAAC
@dude4 发之前确实没想到说这不应该发
建权威 DNS 是因为比每个设备跑 DDNS 方便太多
45 天前
回复了 kice 创建的主题 宽带症候群 Home Lab 网络设计(想要 Production Ready)
高级
不过真的要用 BSD 系的东西吗?
47 天前
回复了 jwczjzl 创建的主题 Linux Linux 下的蓝牙都不能连接多个设备吗?
linux 内核的 xpad 驱动不支持蓝牙连接手柄的。。
你用的哪个蓝牙手柄驱动,一般用 xpadneo 会比较多,然后 xbox 的 2.4g 接收器一般会用内核态的 xone
任天堂的手柄的话,还没有普及内核态驱动,你看看你用的哪个
48 天前
回复了 noinil 创建的主题 Linux Wayland 的字体渲染
@Jirajine 你这话就不太对,nvidia 总是喜欢用一种不符合内核约定的方式来实现一些一样的事情,自己做一套私有 api ,根本没人用,现在实现了,也一堆一堆的 bug
nvidia 在 wayland 下工作的不好的核心原因是 drm 支持极差,一大堆的 bug ,gbm 也一堆 bug
也有支持 nvidia 支持的好的比如说 hyprland ,那是人家给 nvidia 的屎山写了一堆特判代码(
不使用 Linux 约定俗称的基本显示框架东西就好像你做一个显卡不去支持图形 api ,要图形 api 为了你把三角形渲染改成方形渲染一样抽象
48 天前
回复了 fioncat 创建的主题 Linux Linux 原生微信 beta 可用了?
@Jirajine 现在用了 UOS 的闭源 lib ,还要 UOS 授权,也只上了 UOS 商店,本质上算是给 UOS 定做的,算不上通用版
因此只能用 bwarp
检测 bwarp 这种事情我感觉干不出来,这样 flatpak 和 snap 都用不了,等于半个 linux 世界都用不了了
而且没有 bwarp 还有 selinux 和 apparmor 呢,上内核模块检测这些那连 ubuntu 都用不了咯
48 天前
回复了 jowan 创建的主题 NAS 群晖公网 IPV6 老掉是啥原因
@jowan 你现在正常是用的 dhcpv6 还是 slaac 获取的地址呢?
一般都是设备发路由请求( RS ),路由器响应后回复路由宣告( RA )
其中包含前缀和 DHCP 相关的支持情况等,还包括 DNS 等信息
如果是 SLAAC 到这里就结束了,DHCP 还要根据结果再去请求 DHCP
建议你通过抓包排查设备有没有发 RS ,路由器有没有回复 RA ,然后抓一下 RA 里的信息有没有问题,然后持续持续观察,看看有没有收到异常的 RA
如果是 DHCP 的话,检查 DHCP 设置的租约时间以及续期相关的包
49 天前
回复了 wucc 创建的主题 IPv6 ipv6 ddns 的问题
@xiaofami IPv6 分为 SLAAC 和 DHCPv6 ,SLAAC 如它的名字,是无状态的,而 DHCP 是有状态的,无状态意味着路由器不知道设备用的什么地址,自然没法做 DDNS 这种事情
DHCP 的话,考虑一下把内网设备的 DHCP 租约映射成成权威域名服务器
具体来说,DNS 是递归解析的,你需要通过 NS 记录,把你的域名的三级域名(例如 xxx.home.lostattractor.net) 指到一个权威 DNS 服务器(比如说你的路由器),然后权威服务器例如可以通过设备名,返回对应的 v6 地址,例如我家现在所以设备的 v4/v6 地址都可以通过 hostname.home.lostattractor.net 查到
然后对于 SLAAC ,如你帖子里说的,可以通过 EUI64 反算,但是 EUI64 是根据 MAC 地址生成后缀的,所以你需要有设备的 mac 地址,一方面这可以扫,一方面你的设备是不是至少会用 dhcpv4 ,那么 dhcpv4 的租约里就包括 mac 地址,你可以用前缀+dhcpv4 租约里的 mac 地址去猜 v6 地址,然后 ping 一下就知道设备有没有真的用了
很碰巧的是 dnsmasq 前段时间更新实现了这个 SLAAC 猜测的功能,叫 ra-name ,虽然用 dnsmasq 当权威服务器很不靠谱,但是 dnsmasq 已经能完成以上所有的操作了
不过 openwrt 虽然 v4 用了 dnsmasq ,v6 却是自己实现的 odhcpd (因为 relay 功能),所以暂时可能用不上,有兴趣的话过段时间我写个博客(
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1546 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 17:10 · PVG 01:10 · LAX 10:10 · JFK 13:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.