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 / 问题

问题[systemd-networkd](unix)

Martin Hope
Andrei
Asked: 2024-01-29 02:13:10 +0800 CST

为什么 systemd-networkd 不向 tun 接口添加地址和对等点?

  • 6

我正在尝试创建 tun 接口并通过 systemd-networkd 的 .netdev 和 .network 文件添加地址和对等点。我正在使用 Ubuntu 22.04.3 LTS 和 systemd 249。

我有以下两个配置文件:

/etc/systemd/network/991-tun1.netdev

[NetDev]
Name=tun1
Kind=tun

[Tun]
User=me

/etc/systemd/network/991-tun1.network

[Match]
Name=tun1

[Network]
Address=192.168.3.1/24
IPForward=yes

[Address]
Address=192.168.3.1/24
Peer=192.168.3.2/24

重新启动后,tun1 接口创建正常,但没有地址。

me@host:~$ ip a
...
4: tun1: <NO-CARRIER,POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 500
    link/none 

但如果我使用 ifconfig 那么地址会按预期添加。

me@host:~$ sudo ifconfig tun1 192.168.3.1 pointopoint 192.168.3.2 netmask 255.255.255.0
me@host:~$ ip a
...
4: tun1: <NO-CARRIER,POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 500
    link/none 
    inet 192.168.3.1 peer 192.168.3.2/24 scope global tun1
       valid_lft forever preferred_lft forever

重新启动后我可以在日志中看到这一点

me@host:~$ sudo journalctl --unit systemd-networkd -fe|grep tun1
...
systemd-networkd[513]: tun1: loaded tun
systemd-networkd[513]: tun1: Created
systemd-networkd[513]: tun1: netdev has index 4
systemd-networkd[513]: tun1: Permanent MAC address not found for new device, continuing without: Operation not supported
systemd-networkd[513]: tun1: Link 4 added
systemd-networkd[513]: tun1: Saved original MTU 1500 (min: 68, max: 65535)
systemd-networkd[513]: tun1: Flags change: +MULTICAST +POINTOPOINT +NOARP
systemd-networkd[513]: tun1: link pending udev initialization...
systemd-networkd[513]: tun1: udev initialized link
systemd-networkd[513]: tun1: State changed: pending -> initialized
systemd-networkd[513]: tun1: Link state is up-to-date
systemd-networkd[513]: tun1: found matching network '/etc/systemd/network/991-tun1.network'.
systemd-networkd[513]: tun1: State changed: initialized -> configuring
systemd-networkd[513]: Setting '/proc/sys/net/ipv6/conf/tun1/disable_ipv6' to '0'
systemd-networkd[513]: Setting '/proc/sys/net/ipv6/conf/tun1/use_tempaddr' to '0'
systemd-networkd[513]: Setting '/proc/sys/net/ipv6/conf/tun1/accept_ra' to '0'
systemd-networkd[513]: Setting '/proc/sys/net/ipv6/conf/tun1/proxy_ndp' to '0'
systemd-networkd[513]: Setting '/proc/sys/net/ipv4/conf/tun1/promote_secondaries' to '1'
systemd-networkd[513]: tun1: Requested to set IPv6LL address generation mode
systemd-networkd[513]: tun1: Requested to set master interface
systemd-networkd[513]: tun1: Requested to activate link
systemd-networkd[513]: tun1: Requesting address: 192.168.3.1/24 (valid forever, preferred forever), flags: n/a
systemd-networkd[513]: tun1: Requesting address: 192.168.3.1 peer 192.168.3.2/24 (valid forever, preferred forever), flags: n/a
systemd-networkd[513]: tun1: Setting addresses
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: link_check_ready(): link layer is configuring.
systemd-networkd[513]: tun1: Setting IPv6LL address generation mode
systemd-networkd[513]: tun1: Setting master interface
systemd-networkd[513]: tun1: IPv6LL address generation mode set.
systemd-networkd[513]: tun1: master interface set.
systemd-networkd[513]: tun1: link_check_ready(): link is not activated.
systemd-networkd[513]: tun1: Bringing link up
systemd-networkd[513]: tun1: Flags change: +UP
systemd-networkd[513]: tun1: Link UP
systemd-networkd[513]: tun1: link_check_ready(): static addresses are not configured.

为什么 systemd-networkd 没有将地址添加到 tun1 接口以及如何使其添加地址?

systemd-networkd
  • 1 个回答
  • 19 Views
Martin Hope
Stephen Boston
Asked: 2022-05-22 06:12:36 +0800 CST

局域网的系统网络匹配

  • 1

我想要我的设备(以太网和 wifi)的静态 LAN IP地址,但在我平常的一周中,我连接到两个 LAN:两个网关,两个 IP 范围:一个10.0...网络和一个192.168..网络。

我一直保留两组 *.network 文件,我使用脚本切换它们,但我想知道是否有我可以使用的配置设置。

我查看了文档,特别是在该[Match]部分,但这似乎完全是关于设备的。

是否有可用于这种情况的 *.network 文件配置,或者我必须继续我当前的策略?

注意:我不想使用 NetworkManager

systemd-networkd
  • 1 个回答
  • 49 Views
Martin Hope
Mr. Diba
Asked: 2022-05-19 03:49:35 +0800 CST

使用 systemd-networkd 重命名以太接口,无需重启

  • 3

我有一个配置为路由器的虚拟 Debian 11 服务器。在我systemd-networkd用来配置所有网络接口的路由器上。

当我向路由器添加(虚拟)接口时,该接口将被检测为ens1带有 mac address aa:bb:cc:dd:ee:ff。我想将名称更改为更有意义的名称,例如eth0.

我创建了一个文件01-eth0.link,/etc/systemd/network其中包含以下信息:

[Match]
MACAddress=aa:bb:cc:dd:ee:ff

[Link]
Name=eth0

之后,我创建了一个名为的文件02-eth0.network,其中包含以下信息:

[Match]
Name=eth0

[Network]
Address=192.168.1.1

当我这样做时,systemctl restart systemd-networkd它会毫无问题地重新启动,但也不会提及重命名。

networkctl输出以下内容:

IDX LINK         TYPE     OPERATIONAL SETUP
 49 ens1         ether    off         unmanaged

当我重新启动机器时,名称将被更改,并且链接将正常运行。但我想将.link配置应用到接口而无需重新启动。

debian systemd-networkd
  • 2 个回答
  • 509 Views
Martin Hope
Sergey
Asked: 2022-03-25 21:42:43 +0800 CST

systemd.networkd DHCP 服务器:为 DHCP 客户端分配静态地址

  • 0

我想从 切换到isc-dhcp-server,systemd.networkd但在systemd.networkd. 是否可以配置systemd.networkdDHCP 服务器为 DHCP 客户端分配静态地址?

dhcp systemd-networkd
  • 1 个回答
  • 328 Views
Martin Hope
gerhard d.
Asked: 2022-01-23 11:03:18 +0800 CST

Systemd-networkd 似乎没有在容器中找到接口

  • 1

我正在尝试在 Ubuntu 20.04.3 上设置一个 nspawn-container。主机网络配置包含一个桥接接口:

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet *  netmask 255.255.255.255  broadcast 0.0.0.0
        inet6 * prefixlen 64  scopeid 0x0<global>
        ether 41:8a:5b:d8:83:00  txqueuelen 1000  (Ethernet)
        RX packets 5914822  bytes 888728796 (888.7 MB)
        RX errors 0  dropped 449  overruns 0  frame 0
        TX packets 30323548  bytes 37836188291 (37.8 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

容器开始于:

systemd-nspawn -UbM helloworld --network-bridge=br0

容器启动时,vb-helloworld创建接口:

vb-helloworld: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::c8fc:b8ff:fed1:176  prefixlen 64  scopeid 0x20<link>
        ether ca:fc:b8:d1:01:76  txqueuelen 1000  (Ethernet)

在容器中,有一个 interface host0,应该由systemd-networkdconfig处理/etc/systemd/network/host0.network:

[Match]
Name=host0
[Network]
DHCP=false
Address=*:*:*:*::100/64
Gateway=fe80::1
DNS=2a01:4ff:*::*:1
Address=192.168.50.10/24
Gateway=192.168.50.1
DNS=192.168.50.2
ConfigureWithoutCarrier=yes
[Link]
MACAddress=f6:d9:2b:ba:7a:1d
ARP=true
RequiredForOnline=yes
[Address]
Address=*:*:*:*::100/64
Scope=global
[Route]
Gateway=fe80::1
Scope=global

容器有接口:

host0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.214.0  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::f4d9:2bff:feba:7a1d  prefixlen 64  scopeid 0x20<link>
        ether f6:d9:2b:ba:7a:1d  txqueuelen 1000  (Ethernet)
...

不幸的是,networkd 似乎没有找到 interface host0。没有分配地址,既不是 ip4 也不是 ip6。当我将Name部分中的参数更改[Match]为 时*,地址将分配给lo接口。

我究竟做错了什么?

virtual-machine systemd-networkd
  • 1 个回答
  • 278 Views
Martin Hope
iBug
Asked: 2020-02-02 09:32:25 +0800 CST

如何使用 systemd-networkd 添加 IPv6 路由规则?

  • 1

我在 systemd 242 (Ubuntu Eoan) 上运行,并尝试iproute2使用 systemd-networkd 执行与以下命令等效的操作:

ip -6 rule add from all table 1 pref 1000

这就是我所拥有的,/etc/systemd/network/10-eno1.network但它不起作用:

[RoutingPolicyRule]
Table=1
Priority=1000
Family=ipv6

我也试过Family=both了,但只生成了v4规则。

我已经阅读了整个https://systemd.network/systemd.network.html#%5BRoutingPolicyRule%5D%20Section%20Options但仍然不知道出了什么问题。

我想这样做,systemd-networkd并且我对编写服务ExecStart=/sbin/ip blah blah或类似服务的解决方案不感兴趣。

systemd systemd-networkd
  • 1 个回答
  • 296 Views
Martin Hope
OJFord
Asked: 2019-07-07 15:25:49 +0800 CST

systemd.network(5) 从文件或环境中获取值?

  • 1

我知道*.service单位支持Environment=key=val和EnvironmentFile=fname条目,但文件似乎*.network不支持。

有没有其他方法可以Address从不同的文件或环境变量中获取特定的值?

例如,结果将是:

# /etc/some/conf
192.0.2.3
# some.network
[Match]
Name=some

[Network]
# (! invalid !) example of desired effect
Address=$(cat /etc/some/conf)
systemd systemd-networkd
  • 2 个回答
  • 256 Views
Martin Hope
uvcrew
Asked: 2019-03-30 05:53:12 +0800 CST

如何使用 systemd-networkd 添加静态 ipv6 路由

  • 5

我试图通过 networkd 实现与下面的 ip 命令等效,但没有成功。

ip route add default via fe80::1 dev eth0

我的网络配置如下所示,除了默认的 ipv6 路由外,还成功地启动了网络。我尝试添加和删除 GatewayOnLink=yes 没有任何成功。启动后运行上面的命令会打开 ipv6 连接,但我更愿意通过网络配置来实现。

/etc/systemd/network/00-eth0.network
----

[Match]
Name=eth0

[Network]
DHCP=no
DNS=8.8.8.8

[Address]
Label=static-ipv4
Address=X.X.X.X/32
Peer=Y.Y.Y.Y

[Address]
Label=static-ipv6
Address=X:X:X:X::1/64

[Route]
Gateway=fe80::1
Gateway=Y.Y.Y.Y
GatewayOnlink=yes 

这是针对 Hetzner 云服务器的,我没有任何其他支持 IPV6 的机器来排除有关其设置的特定内容。Systemd 是在 coreos 上运行的 238 版。

ipv6 systemd-networkd
  • 2 个回答
  • 4060 Views
Martin Hope
Solaroi Zeng
Asked: 2018-11-19 21:06:31 +0800 CST

网络配置中的“搜索域”和 LLMNR 冲突?

  • 1

在网络手册页中,搜索域用于处理单标签名称:

没有前缀的域称为“搜索域”,首先用作搜索后缀,将单标签主机名(不包含点的主机名)扩展为完全限定域名 (FQDN)。如果在该接口上解析了单标签主机名,则依次附加每个指定的搜索域,将其转换为完全限定的域名,直到其中一个可以成功解析。

“搜索”和“仅路由”域都用于路由 DNS 查询:查找以这些域结尾的主机名(因此,如果列出了任何“搜索域”,也将单标签名称)路由到为此接口配置的 DNS 服务器。

我想知道单标签名称查找请求是否由 LLMNR 或指定的 dns 服务器或两者处理?

dns systemd-networkd
  • 1 个回答
  • 499 Views
Martin Hope
Solaroi Zeng
Asked: 2018-11-18 06:53:11 +0800 CST

systemd-resolved 如何处理单标签 dns 查找请求?

  • 7

我查看了 systemd-networkd 和 systemd-resolved:

  • manpages.ubuntu.com 上的 systemd.network(5)

  • manpages.ubuntu.com 上的 systemd-resolved.service(8)

我对一些词感到困惑:

  • systemd-resolved.service(8)

    使用 LLMNR 协议将单标签名称路由到所有能够进行 IP 多播的本地接口。查找以每个接口域之一结尾的主机名将专门路由到匹配的接口。

  • systemd.network(5)

    “搜索”和“仅路由”域都用于路由 DNS 查询:查找以这些域结尾的主机名(因此,如果列出了任何“搜索域”,也将单标签名称)路由到为此接口配置的 DNS 服务器。

我的问题是:对于具有配置了“搜索域”和启用 LLMNR 的一堆接口的主机,单标签查找请求将去哪里?

我的困惑的更多细节:

  • 如果接口配置了搜索域“mydomain”并且禁用了 LLMNR,是否会将任何单标签查找请求路由到该接口?
  • 如果接口配置了搜索域“mydomain”并启用了 LLMNR,并且对“xyz”的查找请求进入,那么通过 LLMNR 的“xyz”和通过指定 dns 服务器的“xyz.mydomain”是否都会发生?
dns systemd-networkd
  • 2 个回答
  • 2282 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

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

    • 5 个回答
  • Marko Smith

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

    • 3 个回答
  • 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
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +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

热门标签

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