Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   org.freedesktop.resolve1    ( 5 )

интерфейс D-Bus системы с разрешением systemd (The D-Bus interface of systemd-resolved)

  Name  |  Introduction  |  The manager object  |    Link object    |  Common errors  |  Examples  |  Versions  |  Note  |

LINK OBJECT

node /org/freedesktop/resolve1/link/_1 {
             interface org.freedesktop.resolve1.Link {
               methods:
                 SetDNS(in  a(iay) addresses);
                 SetDNSEx(in  a(iayqs) addresses);
                 SetDomains(in  a(sb) domains);
                 SetDefaultRoute(in  b enable);
                 SetLLMNR(in  s mode);
                 SetMulticastDNS(in  s mode);
                 SetDNSOverTLS(in  s mode);
                 SetDNSSEC(in  s mode);
                 SetDNSSECNegativeTrustAnchors(in  as names);
                 Revert();
               properties:
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly t ScopesMask = ...;
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly a(iay) DNS = [...];
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly a(iayqs) DNSEx = [...];
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly (iay) CurrentDNSServer = ...;
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly (iayqs) CurrentDNSServerEx = ...;
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly a(sb) Domains = [...];
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly b DefaultRoute = ...;
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly s LLMNR = '...';
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly s MulticastDNS = '...';
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly s DNSOverTLS = '...';
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly s DNSSEC = '...';
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly as DNSSECNegativeTrustAnchors = ['...', ...];
                 @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
                 readonly b DNSSECSupported = ...;
             };
             interface org.freedesktop.DBus.Peer { ... };
             interface org.freedesktop.DBus.Introspectable { ... };
             interface org.freedesktop.DBus.Properties { ... };
           };

For each Linux network interface a "Link" object is created which exposes per-link DNS configuration and state. Use GetLink() on the Manager interface to retrieve the object path for a link object given the network interface index (see above).

Methods The various methods exposed by the Link interface are equivalent to their similarly named counterparts on the Manager interface. e.g. SetDNS() on the Link object maps to SetLinkDNS() on the Manager object, the main difference being that the later expects an interface index to be specified. Invoking the methods on the Manager interface has the benefit of reducing roundtrips, as it is not necessary to first request the Link object path via GetLink() before invoking the methods. The same relationship holds for SetDNSEx(), SetDomains(), SetDefaultRoute(), SetLLMNR(), SetMulticastDNS(), SetDNSOverTLS(), SetDNSSEC(), SetDNSSECNegativeTrustAnchors(), and Revert(). For further details on these methods see the Manager documentation above.

Properties ScopesMask defines which resolver scopes are currently active on this interface. This 64-bit unsigned integer field is a bit mask consisting of a subset of the bits of the flags parameter describe above. Specifically, it may have the DNS, LLMNR and MDNS bits (the latter in IPv4 and IPv6 flavours) set. Each individual bit is set when the protocol applies to a specific interface and is enabled for it. It is unset otherwise. Specifically, a multicast-capable interface in the "UP" state with an IP address is suitable for LLMNR or MulticastDNS, and any interface that is UP and has an IP address is suitable for DNS. Note the relationship of the bits exposed here with the LLMNR and MulticastDNS properties also exposed on the Link interface. The latter expose what is *configured* to be used on the interface, the former expose what is actually used on the interface, taking into account the abilities of the interface.

DNSSECSupported exposes a boolean field that indicates whether DNSSEC is currently configured and in use on the interface. Note that if DNSSEC is enabled on an interface, it is assumed available until it is detected that the configured server does not actually support it. Thus, this property may initially report that DNSSEC is supported on an interface.

DefaultRoute exposes a boolean field that indicates whether the interface will be used as default route for name queries. See SetLinkDefaultRoute() above.

The other properties reflect the state of the various configuration settings for the link which may be set with the various methods calls such as SetDNS() or SetLLMNR().