AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 485956
Accepted
Frank
Frank
Asked: 2018-12-05 09:34:35 +0800 CST2018-12-05 09:34:35 +0800 CST 2018-12-05 09:34:35 +0800 CST

带有 systemd-networkd 的 IPv6 子网

  • 772

我的新 ISP 给了我一个带有 /56 前缀的公共 IPv6 地址来玩:

2001:b:c:d:5:6:7:8/56

我想创建两个由 linux 服务器划分的子网,如下所示:

internet - fritzbox - server - pc

但我需要了解如何将前缀传播到内部子网。到目前为止,我将服务器的外部接口配置为接受路由器广告并从 Fritz!Box 请求 IPv6 前缀:

/etc/systemd/network/eth1.network

[Match]
Name=eth1

[Network]
DHCP=ipv6
IPv6AcceptRA=yes
IPv6PrefixDelegation=dhcpv6
IPForward=yes

在systemctl restart systemd- networkd 后,外部接口得到一个地址:

ip -6 addr
  ...
  inet6 2001:b:e:f:1:2:3:4/64 scope global noprefixroute dynamic

到目前为止这是正确的吗?同样令人困惑的是:互联网连接的前缀和接口的前缀在后半部分不同:

internet: 2001:b:c:d::
server:   2001:b:e:f::

现在的主要问题是:如何配置内部接口?它可以从 Fritz!Box 请求另一个前缀吗?

/etc/systemd/network/eth0.network

[Match]
Name=eth0

[Network]
???

我的服务器正在使用来自 stretch-backports 的 systemd 239 运行 Debian stretch(因为 stable 中的 232 尚不支持前缀委托)。我删除了ifupdown包,因为我的目标是学习如何仅使用systemd-networkd来解决这个问题。

ipv6 router
  • 1 1 个回答
  • 2722 Views

1 个回答

  • Voted
  1. Best Answer
    Anro
    2020-08-28T16:38:54+08:002020-08-28T16:38:54+08:00

    最近几天我一直在研究类似的配置。

    在撰写本文时,systemd-networkd 中存在一个错误,它不会在分发前缀的接口上放置委托前缀地址。但是,该接口确实会为网段上的设备提供前缀。

    您的外部接口的 IPv6 地址与前缀不匹配是由于您的 ISP 的网络配置所致。我的 ISP 给出了两个不同的 DHCPv6 地址块,其中一个与为委派提供的前缀相同,另一个不是。当 DHCPv6 租约到期时,它会随机更改。

    我使用的配置是从Archlinux Wiki获得的 首先你配置你的“外部”接口(连接到 Fritz!box 的那个)

    /etc/systemd/network/EXTERNAL.network
    [Match]
    ...
    [Network]
    DHCP=yes
    IPForward=yes
    IPv6AcceptRA=yes
    IPv6DuplicateAddressDetection=1
    IPv6PrivacyExtensions=kernel
    

    您已经拥有的 eth1 代码看起来是正确的(假设 eth1 是您的外部接口)。在我的配置中,我在接口上启用了 DHCPv4 和 DHCPv6 客户端。

    现在你的内部接口应该这样配置:

    /etc/systemd/network/INTERNAL.network
    [Match]
    ...
    [Network]
    IPv6PrefixDelegation=dhcpv6
    IPv6DuplicateAddressDetection=1
    IPv6PrivacyExtensions=no
    LinkLocalAddressing=ipv6
    
    [IPv6PrefixDelegation]
    RouterLifetimeSec=3600
    

    这RouterLifetimeSec很重要,因为它将接口配置为发出它从 DHCPv6 接口接收的前缀。

    • 1

相关问题

  • 如何使用“ip”命令禁用 IPv6?

  • IPv6 超级用户端口

  • solaris11 和 ipv6:没用

  • 为什么 traceroute 会为同一跳显示多个 IP 地址?

  • IPv6 套接字创建失败:协议不支持地址系列

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve