单独的/ etc / network / interfaces文件


14

我想知道是否可以将配置从/ etc / network / interfaces文件分离到单独的文件中,例如一个文件中的一个节和另一个文件中的另一个节?(类似于CentOS)。还是可以从/ etc / network / interfaces文件中调用其他接口文件?我的想法是在一个文件中包含以太网节,在另一个文件中包含vlan,在另一个文件中包含vpn,等等(或类似的东西)。通过这种方式,对我来说,编辑和解析会更容易(是的,我知道那里有解析器),但是我认为,通过将它们分离在不同的文件中,将会更加井井有条。

我已经尝试了好几天在google中寻找答案,以及人机界面,但是我什么也没找到。我认为这是不可能的(除非我猜想要从OS修改源代码)。有人知道吗?

我正在使用Ubuntu 12.04 LTS Server x64

谢谢!

Answers:


14

这当然是可能的。有关完整的详细信息,请参见interfaces(5)手册页,但是我将在此处包括手册页的一部分:

   Lines beginning with "source" are used to include stanzas from other  files,  so
   configuration can be split into many files. The word "source" is followed by the
   path of file to be sourced. Shell wildcards can be used.   (See  wordexp(3)  for
   details.)

此功能出现在“精确”中。

例:

/ etc / network / interfaces:

   auto lo
   iface lo inet loopback

   source /etc/network/interfaces.d/*.cfg

/etc/network/interfaces.d/eth0.cfg:

    auto eth0
    iface eth0 inet static
        address x.x.x.x
        [...]

如果某些工具尚未意识到此功能,我会保持谨慎。某些脚本只能检查/ etc / network / interfaces。


谢谢!我认为这就是我想要的!而且您在他们的文档中绝对是正确的,我想我是从另一个旧版本中读取man界面的。出于我的目的,我想将VLAN放在一个单独的文件中,以便于编辑。再次感谢,我将对其进行测试。
joze

$ man 5 interfaces(...)默认情况下,在新安装的Debian系统上,interfaces文件在/etc/network/interfaces.d目录中包含指向源文件的一行。因此,在某些时候,您可能只是将您的界面代码片段放在/etc/network/interfaces.d中。但是请注意,尽管'man'表示在Ubuntu 16.04中的上述语句,但是全新安装的Ubuntu 16.04没有此功能。默认情况下”,您仍然必须在源代码段中添加一行。
扎哈尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.