Linux 网络配置:蠕虫病毒?

Linux 网络配置:蠕虫病毒?

我有深我的 LAN 适配器配置有问题,使用 Debian 9.5,所以我将描述发生的情况,然后提出我的问题。

- 第一步: 在安装 Debian 9.5 时,我给出了我想要给 LAN 适配器的地址(无 DHCP):192.168.58.168,带有网络掩码、网络、广播和网关:安装后,我首先尝试ip a检查网络参数,发现我的网卡名为“ens33”:

   2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:0c:29:3a:e1:17 brd ff:ff:ff:ff:ff:ff

    inet 192.168.58.168/24 brd 192.168.58.255 scope global ens33
       valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe24:2134/64 scope link
       valid_lft forever preferred_lft forever

然后我编辑/etc/resolv.conf添加了 2 个 DNS,之后 LAN 工作得非常好:我可以 ping 通 LAN 上的所有计算机并通过 Firefox 浏览网页。

尽管如此,我拥有的文档告诉我适配器是在文件中定义的

/etc/network/interfaces

但是当我用 来显示它时cat我惊讶地发现“ens33”接口没有出现在该文件中,尽管我可以 ping 它并且我可以看穿它ip a。这对我来说看起来很奇怪......

- 第二步:apt-get install然后我通过,包括resolvconfsamba, 添加了一定数量的包后,我很满意地看到,在 Dolphin 中,我的 Windows 域 LAN 的所有计算机都是可见的,我什至可以访问我的 Windows 文件服务器的共享目录并使用 VLC 播放音乐或视频文件:太棒了!

--第三步: 然后我重新启动了电脑,一切都不再起作用:我没有任何 LAN 访问权限,如果我键入ip a查看 LAN 定义,我可以看到“ens33”适配器已丢失其属性:

ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:0c:29:3a:e1:17 brd ff:ff:ff:ff:ff:ff

所以我将该ens33部分添加到文件中 /etc/network/interfaces
现在该文件如下:

'# The loopback network interface
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
  address 192.168.58.168
  netmask 255.255.255.0
  network 192.168.58.0
  broadcast 192.168.58.255
  gateway 192.168.58.11
iface dns-nameservers 192.168.58.11 192.168.58.21

正如你所看到的,resolvconf添加了我在文件中定义的2个DNS

/etc/resolvconf/resolv.conf.d/base

因为当我将它们添加到resolv.conf文件中时,它们会被自动删除,因为我安装了 resolvconf ...

但即使重新启动后也没有解决问题:所以,我尝试了:

ifup ens33

但系统却回答道:

ifup: /etc/network/interfaces:16: unknown or no address type and no inherits keyword specified
ifup: couldn't read interfaces file "/etc/network/interfaces"

这 ”无法读取接口文件“对我来说非常难以理解,因为如果我输入:

cat /etc/network/interfaces

它显示的正是我上面报告的内容。

所以,“interfaces”文件似乎没有真正的力量,因为:

1:一开始,ens33没有出现在该文件中,并且网络仍然完全运行

2:当我在该文件中添加接口的定义时,它对机器没有影响

所以我想知道:哪个 Linux 文件真正从根本上定义了 LAN 适配器的参数???

答案1

为什么接口文件没有提到我的 ens33 接口,尽管它完全可以运行?

因为,正如评论中已经提到的,有一种运动用“/etc/network/interfaces新”的使用方式systemd和网络管理器来取代“传统”的使用方式。

为什么“resolvconf”确实阻止使用“resolv.conf”并强制使用“base”并将其自身写入“interfaces”中的DNS属性,而有人告诉我不应该这样写?

不确定我是否正确理解了这个问题,但是很久很久以前,当网络是静态的并且在大型组织中时,resolv.conf是手工编写的,并且 DNS 服务器是组织的一部分。那是在 Windows 之前正确的网络(或 Novell 的东西)。然后大家和他的叔叔开始在家里上网,家庭路由器充当DHCP服务器、DNS代理,ISP提供DNS。因此添加了一个额外的层,它resolv.conf根据 DHCP 提供的信息自动生成。

为什么重启后“ens33”界面的参数就消失了?

如果我正确理解你的描述,它们并没有消失。

ifup: /etc/network/interfaces:16: unknown or no address type and no inherits keyword specified

表示文件中存在语法错误,并且

ifup: couldn't read interfaces file "/etc/network/interfaces"

意味着由于错误,它无法读取信息在文件中(当然它可以读取文件本身,否则它不会抱怨第16行的错误)。

到底哪些是定义 LAN 适配器属性的有效文件?

这完全取决于您运行的是新系统还是传统系统。 (就我个人而言,我不喜欢新系统,所以我无法回答这个问题;甚至传统系统随着时间的推移也获得了很多钩子,所有这些都可能会修改最终结果。有充分的理由,因为有些情况你需要它)。

一个更有用的问题是:“我需要修改哪些文件才能为这台机器正确配置网络?”这取决于您的网络 - 对于家庭路由器中具有 DHCP 服务器的典型家庭网络,答案是“您不需要修改任何内容”。如果您想要具体答案,请编辑问题并描述您的网络。

对于这四个问题,我一直在网上和“手册”页面上搜索,但找不到任何答案。

这是因为网络上的旧内容(以及许多手册页)是在只有“传统”方法的情况下编写的,而撰写有关新方法的人通常不会提及旧方法。

在我看来,这证明了本页的标题是正确的,尽管我似乎欺骗了三位专家,他们没有试图帮助初学者,而是牺牲了一些宝贵的时间来消除我的问题......

如果我可以在这里添加我的个人观点:中性措辞的问题,将你的个人感受放在一边,以及“事情应该如何”的想法,将更容易避免否决。

答案2

iface关键字引入了网络配置部分。您已将 DNS 服务器定义放在一行中,iface而不是放在上一节中。这很令人不安,ifup因为它不理解对象行的开头iface dns-namservers

如果您打算使用该interfaces文件,那么您的配置可能如下所示

auto ens33
iface ens33 inet static
    address 192.168.58.168
    netmask 255.255.255.0
    broadcast 192.168.58.255
    gateway 192.168.58.11
    dns-nameservers 192.168.58.11 192.168.58.21

interfaces但是,如果您在执行此操作时完全忽略文件中的说明,则可能需要禁用 NetworkManager。可悲的是。

相关内容