在Debian上禁用网络适配器eth0


10

从前,我使用ifdown eth0来关闭网络适配器。自从我能够使用它已经好几年了,基本上是因为我使用Ubuntu / Debian。

我得到这个:

$ sudo ifdown eth0
ifdown: interface eth0 not configured

如果运行ifconfig,则会得到:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.20.50  Bcast:192.168.21.255  Mask:255.255.254.0
          inet6 addr: fe80::6e3b:e5ff:fe36:2ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1205280 errors:0 dropped:502 overruns:0 frame:0
          TX packets:34930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:165685286 (165.6 MB)  TX bytes:5754120 (5.7 MB)
          Interrupt:20 Memory:f7f00000-f7f20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9146 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:734342 (734.3 KB)  TX bytes:734342 (734.3 KB)

我已经在Google上搜索了如何执行此操作,我发现的所有内容都说运行ifdown eth0。如何在Debian / Ubuntu机器上停止网络适配器?

Answers:


14

我在Debian上面临着同样的问题。我不知道确切的原因,但是,它正在sudo ifconfig eth0 down为我工作。

编辑:感谢@kostix的注释。由于我使用它暂时关闭了界面,因此我并没有对这个问题进行过多的关注。如果您想永久降低它,ifdown是解决之道。对于这个工作,你需要将行添加eth0=eth0/run/network/ifstate与线auto eth0iface eth0 inet dhcp/etc/network/interfaces


这只是使适配器位于物理层上(即,就内核网络堆栈而言),这与应该管理适配器的用户层无关。请查看我的答案-也许您将能够与OP共同努力,确定哪个子系统管理您的网络。
kostix 2013年

好的,做到了。我之前没有尝试过,因为在Redhat上,ifdown运行了ifconfig,所以我对Debian假设相同。傻我 谢谢你 WTF?
2013年

@Thom,问题在于下次启动eth0时很可能会再次启动。
kostix 2013年

@Thom,关于WTF ... ;-)发行版中的内核(几乎)是相同的,但是userland工具不是。好了,nm并且wicd 整个发行版相同,但“传统”低层次的东西是没有的。
kostix

@kostix很好。只是想禁用一点测试。由于它是VirtualBox,因此很难拔出网络电缆。:)另外,我了解这些工具,但是Debian文档说要使用ifdown。这就是为什么WTF?
2013年

13

如果ifconfig发行版中不存在,则表示已被ip命令替换。在这种情况下,解决方案是ip link set eth0 down


2

没有确切的答案,因为在Debian中可能有几种管理网络的方法。我至少知道三个:

  • “传统”的方法,使用/sbin/ifup/sbin/ifdown并且/etc/init.d/networking,所有使用该/etc/network/interfaces配置文件。这些由ifupdown包装提供。

    由于ifdown对适配器一无所知,因此我认为可以使用另一种方法来管理网络。

    我也知道哪些是beleived是一个下拉更换了包装ifupdownnetscript但因为它使用同样的手段来管理适配器推测这是不是也是你的情况。

  • 网络管理员
  • Wicd

假设您必须确定要执行的是哪一个,然后从那里开始工作。这两个nmwicd 通常使用的GUI工具配置(通常通过连同您的DE开始小程序)。 nm有一个名为的命令行工具nm-cli。不确定wicd

如果您进行了简单的安装并选择了“桌面”任务,那么我相信(尽管不确定)您已经安装了NetworkManager。


1

eth0接口未配置

垃圾意味着

在/ run / network / ifstate文件中未配置

ifupdown命令具有滞后作用:使用ifup激活接口后,该接口将存储在/run/network/ifstate已激活的接口中。

ifup eth0
cat /run/network/ifstate
eth0=eth0
(+other interfaces)

ifdown eth0
cat /run/network/ifstate
(+other interfaces)

即使操作失败(主要是由于/etc/network/interfaces未正确写入)也会保存状态。到目前为止,我的主要解决方案是手动编辑/run/network/ifstate以使eth0正常运行,然后将其关闭:

nano /run/network/ifstate
eth0=eth0

ifdown eth0

然后,您可以重新启动干净的安装程序。

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.