web-dev-qa-db-ja.com

ARPキャッシュMACとDocker

cat /proc/net/arpを実行すると、2つのエントリ*がバインドされているのがわかります。

IP address       HW type     Flags       HW address            Mask     Device
35.224.99.156    0x1         0x0         00:00:00:00:00:00     *        docker0
35.222.85.5      0x1         0x0         00:00:00:00:00:00     *        docker0

ip -s -s neigh flush allおよびarp -nの後でも、これらのエントリは返されます。上記の結果はどういう意味ですか?

ARPがdocker0デバイスをMac00:00:00:00:00:00でIP(35.224.99.156)および(35.222.85.5)にバインドしているのはなぜですか。

これは予想されることですか、バグや破損、またはもっと不吉なものですか?

*元々OSQueryを使用して検出

SELECT address, mac, COUNT(mac) AS mac_count
  FROM arp_cache GROUP BY mac
  HAVING count(mac) > 1;

docker network inspect bridge

[
   {
       "Name": "bridge",
       "Id": "REDACTED",
       "Created": "2019-02-09T17:38:43.817882245Z",
       "Scope": "local",
       "Driver": "bridge",
       "EnableIPv6": false,
       "IPAM": {
           "Driver": "default",
           "Options": null,
           "Config": [
               {
                   "Subnet": "172.17.0.0/16",
                   "Gateway": "172.17.0.1"
               }
           ]
       },
       "Internal": false,
       "Attachable": false,
       "Ingress": false,
       "ConfigFrom": {
           "Network": ""
       },
       "ConfigOnly": false,
       "Containers": {},
       "Options": {
           "com.docker.network.bridge.default_bridge": "true",
           "com.docker.network.bridge.enable_icc": "true",
           "com.docker.network.bridge.enable_ip_masquerade": "true",
           "com.docker.network.bridge.Host_binding_ipv4": "0.0.0.0",
           "com.docker.network.bridge.name": "docker0",
           "com.docker.network.driver.mtu": "1500"
       },
       "Labels": {}
   }
]
2
Gridcell Coder

これらは、NetworkManagerによって行われた接続チェックからのものです。

# nslookup connectivity-check.ubuntu.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   connectivity-check.ubuntu.com
Address: 35.224.99.156
Name:   connectivity-check.ubuntu.com
Address: 35.222.85.5

バグがあるため、arp-requestは間違ったインターフェースを送信します。参照: https://bugzilla.redhat.com/show_bug.cgi?id=1634286

パッケージを削除することでこれを防ぐことができますnetwork-manager-config-connectivity-ubuntu

apt purge network-manager-config-connectivity-ubuntu
4
David Weber