在 RPI2 上使用 systemd(debian 8)的静态 ip

在 RPI2 上使用 systemd(debian 8)的静态 ip

我是 systemd 的新手,非常习惯 ubuntu\debian RC 系统脚本,所以我有点困惑。基本想法是为我的 raspberry pi 设置静态 ip,包括 dns 等... 当然,编辑 /etc/networking/interface 不会有任何作用,因为 systemd-networkd 现在正在进行网络配置。但检查 /lib/systemd/network/ 会发现:

pi@gal-pi:~ $ ls -l /lib/systemd/network/
total 12
-rw-r--r-- 1 root root 368 Jan 24 12:02 80-container-host0.network
-rw-r--r-- 1 root root 378 Jan 24 12:02 80-container-ve.network
-rw-r--r-- 1 root root  73 Jan 24 12:02 99-default.link

我的 pi eth0 上有两个接口,已连接,我想设置静态 ipv4 和 wlan0。wlan0 实际上没有得到任何东西,甚至懒得尝试设置它,但是 eth0 获得了 dhcp 地址。上面的脚本似乎都没有设置 dhcp。

然而:

pi@gal-pi:~ $ ls -l /etc/systemd/system/dhcpc*
lrwxrwxrwx 1 root root   34 Mar 18 08:15 /etc/systemd/system/dhcpcd5 -> /lib/systemd/system/dhcpcd.service

因此,有一个在启动时启动的 systemd dhcp 服务。这让我想到了我的问题:

  1. 我应该使用 dhcpcd.conf 设置 dhcps 服务以在 eth0 上设置静态地址吗?
  2. 我应该使用 /etc/lib/systemd/network/40-eth0-static.network 来设置静态地址吗?
  3. 我怎么知道谁先运行 dhcpd 还是 networkd?这样它们就不会互相覆盖?我知道 systemd 可以分布式运行,因为它可以并行运行多个服务……
  4. 我应该使用任何其他方法来正确设置静态 IP?
  5. 如果我这样做,我是否需要使用相同的 systemd-networkd 脚本来设置无线局域网?如果它是一个热点(使用 hotap)

答案1

1.:不知道是否可以使用 dhcpcd 或 dhclient 设置静态 IP。听起来没什么道理(我的意思是,为什么?)。

2.您应该有一个SOMENAME.network文件/etc/systemd/network。SOMENAME 不必是40-eth0-static。虽然.network在某些情况下可能有必要使用数字前缀对文件进行排序(但当您只有一个文件时显然不是)。

3.distributed:您不应该运行多个网络代理。这与或完全无关parallel several services。它们会相互冲突,因为它们本质上做同样的事情。因此请使用 systemd-networkd 或 dhcp"c"d(或其他)。

4.:这取决于你。你可以使用 NetworkManager 等。

5.:据我所知,systemd-networkd 不能用于设置 Wi-Fi 连接(例如连接到 SSID 并对其进行身份验证)。但是,您可以将其与 wpa_supplicant 配合使用以获取 IP 地址,然后在连接/身份验证后使用。这不算作multiple network agents,因为它们执行不同的操作。

相关内容