如何从在 Docker 中运行的 Ubuntu 16.04 中删除(或修改)ip6tnl0 和 tunl0 接口

如何从在 Docker 中运行的 Ubuntu 16.04 中删除(或修改)ip6tnl0 和 tunl0 接口

我目前正在 Docker 中运行 Ubuntu 16.04,需要摆脱(或调整)/sys/class/net/ip6tnl0 和 /sys/class/net/tunl0。

原因是我需要安装当这些接口存在时会崩溃的软件。确切的原因是这两个接口的 MAC 地址很奇怪,长度不寻常:

root@5b573f1125d0:/# cat /sys/class/net/tunl0/address

00:00:00:00

root@5b573f1125d0:/# cat /sys/class/net/ip6tnl0/address

00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

我的问题:

  • 我怎样才能删除这些接口?
  • 如果我无法删除它们,我该如何为它们提供 6 个字节长的 MAC 地址?

有趣的后续问题: - 删除它们意味着什么? - 它们为什么在那里? 它们不在我的 AWS 实例上...

PS 我在基本的 Ubuntu 16.04 docker 镜像上安装的唯一软件包是:

  • OpenSSH 服务器

  • 网络时间协议 (NTP)

  • 分区

  • sqlite3

  • libpython2.7

  • libfreetype6

  • libxml-安全-c17v5

  • python-minimal

  • 网络工具

  • vim

附言:

我尝试编辑 HWaddr,但没有成功:

root@5b573f1125d0:/# ip link set dev ip6tnl0 address 00:00:00:00:00:00
RTNETLINK answers: Operation not permitted
root@5b573f1125d0:/# ip link set dev tunl0 address 00:00:00:00:00:00
RTNETLINK answers: Operation not permitted

编辑2:我将NET_ADMIN功能添加到我的Docker容器中,但现在我收到的是“无效参数”错误,而不是“操作不允许”。

接口定义如下:

root@5b573f1125d0:/# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:11
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5764 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2041 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8183379 (8.1 MB)  TX bytes:111303 (111.3 KB)

ip6tnl0   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:1452  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tunl0     Link encap:IPIP Tunnel  HWaddr
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

编辑 0:我发现这两个接口仅在我在 Windows 主机上运行 Docker 容器时才会出现。在 Ubuntu 主机上,我只有 lo 和 eth0 接口(如预期的那样)。

知道为什么吗?

相关内容