哪个实用程序使用 /etc/network/interfaces

哪个实用程序使用 /etc/network/interfaces

dnsmasq我正在尝试在 ArchLinux 上设置一个 WiFi 网络,在那里我有NetworkManager(ArchLinux 中iproute2不再有)。net-tools

/etc/network/interfaces当我阅读一些教程时,他们经常在为 wifi 网络接口设置静态 ip 时参考这些教程。这个文件是否也适用于系统,net-tools或者我应该使用iproute2CLI 来设置静态 ip 地址?

答案1

iproute2 和 net-tools 的 ifconfig 都是低级工具,可以直接更改所有设置,但没有任何类型的持久配置文件。

interfaces文件由“ifupdown”使用,这是一个高级网络设置工具,仅存在于 Debian 及其衍生产品中 -不是在 Arch Linux 上。(在后台使用 iproute2 或 ifconfig,但这不会改变任何东西。)

  • Arch 上最相似的软件包是网控,尽管它有点单薄。
  • 当然,既然你已经安装了 NetworkManager,你可以直接使用它——但另一方面可能干扰 Wi-Fi 网络的设置。(除非您使用 NM 的内置热点功能……)可以通过 管理配置nmcli;另请参阅nm-设置(5)
  • Arch 附带的另一种选择是systemd-networkd– 配置简单(参见systemd.网络(5)手册),但它的networkctl工具严重缺乏。如果你想配置一个接口,它可以很好地完成工作全部但时间。
  • 对于更复杂的配置,您可能必须编写自己的脚本(通常是 Type=oneshot systemd 服务),它直接调用ipiw工具并配置一切。

答案2

据我所知,/etc/network/interfaces 主要是 Debian 及其后代的东西。我在任何一台 Arch 机器上都没有这个文件夹。

我假设您这里谈论的不是 WiFi。如果是,请查看 netctl 或 systemd-networkd。

假设您想要静态配置,请/etc/systemd/network/50-wired.network使用以下内容创建(当然,根据您的网络更改名称、地址和网关): [Match] Name=enp1s0 [Network] Address=10.1.10.9/24 Gateway=10.1.10.1

禁用网络管理器:

# systemctl stop NetworkManager.service

# systemctl disable NetworkManager.service

启用并启动 systemd-networkd.service:

# systemctl start systemd-networkd.service

# systemctl enable systemd-networkd.service

在配置好 dnsmasq 并按照您的需要操作后,您可以激活并启动它:

# systemctl start dnsmasq.service

# systemctl enable dnsmasq.service

相关内容