节点 dbus 网络管理器 IPV6 地址属性绑定

Posted

技术标签:

【中文标题】节点 dbus 网络管理器 IPV6 地址属性绑定【英文标题】:Node dbus Network Manager IPV6 addresses property binding 【发布时间】:2018-12-11 03:30:22 【问题描述】:

我在用于 ipv6 连接的 Network Manager Dbus API 中的“地址”和“地址数据”属性存在问题。对于地址,据说他们正在寻找一个 ipv6 对象的结构数组,这将是 Array of (Array of BYTE, UINT32, Array of BYTE) sig - a(ayuay) Gnome 文档的链接在这里https://developer.gnome.org/NetworkManager/1.10/settings-ipv6.html

'address-data': [ 'address': settings.ip, 'prefix':settings.subnet ],
'gateway': settings.gateway,

经过一些试验后,我收到的错误实际上是 JS 堆栈转储而不是守护程序错误。有没有人幸运地让它工作?

【问题讨论】:

【参考方案1】:

对于遇到此问题的任何人,我终于让它正常工作。使用 nodejs dbus-native 库。这是形成用于 dbus 和网络管理器的 ipv6 属性的正确方法

['802-3-ethernet',
    [
      ['auto-negotiate', ['b', 1]],
    ]
  ],
  ['connection',
    [
      ['id', ['s', 'some name']],
      ['type', ['s','802-3-ethernet']],
      ['uuid', ['s', uuidv4()]],
      ['interface-name', ['s', 'name of interface (eth0, wlan0)']],
      ['autoconnect', ['b', 1]]
    ]
  ],
  ['ipv4',
    [
      ['method', ['s','auto']]
    ]
  ],
  ['ipv6',
    [
      ['method', ['s','manual']],
      ['ip6-privacy', ['i', -1]]
      ['dns',
        ['aay',
          [
            [
              '2001:4860:4860::8888',  //needs to be array or buffer of uint8
              '2001:4860:4860::8844'  //needs to be array or buffer of uint8
            ]
          ]
        ]
      ],
      ['addresses',
        ['a(ayuay)',
          [
            [
              [
                'static ipv6 ip',  //needs to be array or buffer of uint8
                parseInt(CIDR, example: 64),
                'ipv6 gateway ip'  //needs to be array or buffer of uint8
              ]
            ]
          ]
        ]
      ]
    ]
  ]

【讨论】:

以上是关于节点 dbus 网络管理器 IPV6 地址属性绑定的主要内容,如果未能解决你的问题,请参考以下文章

DBus-Python 网络管理器脚本 - WpaFlags 问题

使用 QDBusInterface 获取 DBus 接口属性时出错

电脑显示ipv6无internet访问权限怎么办

一个IPv6地址绑定失败的问题

网络管理器 Dbus 代码“aass”的含义

如何设置Win7系统的IPv6地址