1- Discover Infix Units
2- ====================
1+ # Discover Devices
32
4- ```
5- .----. Ethernet .-------.
6- | PC +---------------------+ Infix |
7- '----' if1 eth0 '-------'
8- ```
9- Figure 1: PC directly connected over Ethernet to Infix unit (here eth0).
3+ Infix advertises itself via the [ mDNS-SD] ( #mdns-sd ) and [ LLDP] ( #lldp )
4+ discovery protocols. mDNS-SD has good client support in Windows, macOS
5+ and on Linux systems. More on these protocols later.
106
7+ An even simpler method is available when directly attached to an Infix
8+ device:
119
12- When you wish to discover the IP address of an Infix switch, the simplest
13- way is probably to * ping the IPv6 all-hosts* address (ff02::1) over a
14- directly connected Ethernet cable. The unit's link-local IPv6 address is
15- seen in the response.
10+ ```
11+ .----. Ethernet .-------.
12+ | PC +---------------------+ Infix |
13+ '----' if1 e1 '-------'
14+ ```
1615
17- In the example below, the PC is connected to Infix via interface * tap0*
18- (* tap0* is * if1* in Figure 1) and Infix responds with address
16+ With IPv6 you can * ping the all-hosts* address (ff02::1), the device's
17+ link-local IPv6 address is then seen in the response. In the following
18+ example, the PC here uses * tap0* as * if1* , Infix responds with address
1919* fe80::ff:fec0: ffed * .
2020
2121```
@@ -31,25 +31,25 @@ rtt min/avg/max/mdev = 0.389/0.455/0.558/0.073 ms
3131linux-pc:#
3232```
3333
34- The PC could connect then connect to Infix, e.g., using SSH.
34+ > [ !TIP]
35+ > The ` -L ` option ignores local responses from the PC.
36+
37+ This address can then be used to connect to the device, e.g., using SSH.
38+ Notice the syntax ` username@address%interface ` :
3539
3640```
3741linux-pc:# ssh admin@fe80::ff:fec0:ffed%tap0
3842admin@fe80::ff:fec0:ffed%tap0's password: admin
3943admin@infix-c0-ff-ee:~$
4044```
4145
42- ## Discovery mechanisms available in Infix
43-
44- Infix advertises its presence via the [ mDNS] ( #mdns ) and [ LLDP] ( #lldp )
45- discovery protocols.
4646
47+ ## LLDP
4748
48- ### LLDP
49+ Infix supports LLDP (IEEE 802.1AB). For a device with factory default
50+ settings, the link-local IPv6 address can be read from the Management
51+ Address TLV using * tcpdump* or other sniffing tools[ ^ 1 ] :
4952
50- Infix supports LLDP (IEEE 802.1AB). For a unit with factory default
51- settings, the PC can readout the link-local IPv6 address from the
52- Management Address TLV using * tcpdump* or other sniffing tools[ ^ 1 ] .
5353```
5454linux-pc:# tcpdump -i tap0 -Qin -v ether proto 0x88cc
5555tcpdump: listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
@@ -83,11 +83,12 @@ tcpdump: listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144
8383linux-pc:#
8484```
8585
86- If the unit has an IPv4 address assigned, it is shown in an additional
86+ If the device has an IPv4 address assigned, it is shown in an additional
8787Management Address TLV.
8888
89- > ** Note** The Management Addresses shown by LLDP are not
90- > necessarily associated with the port transmitting the LLDP message.
89+ > [ !NOTE]
90+ > The Management Addresses shown by LLDP are not necessarily associated
91+ > with the port transmitting the LLDP message.
9192
9293In the example below, the IPv4 address (10.0.1.1) happens to be
9394assigned to * eth0* , while the IPv6 address (2001:db8::1) is not.
@@ -130,10 +131,6 @@ tcpdump: listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144
130131linux-pc:#
131132```
132133
133- [ ^ 1 ] : [ lldpd: implementation of IEEE 802.1ab
134- (LLDP)] ( https://github.com/lldp/lldpd ) includes * lldpcli* , which
135- is handy to sniff and display LLDP packets.
136-
137134The LLDP service can be disabled using the following commands.
138135
139136```
@@ -143,13 +140,38 @@ admin@infix-c0-ff-ee:/config/> leave
143140admin@infix-c0-ff-ee:/>
144141```
145142
146- ### mDNS
147143
148- DNS-SD/mDNS can be used to discover Infix units and services. Infix
149- units present their IP addresses, services and hostname within the
150- .local domain. This method has good client support in Apple and Linux
151- systems. On Linux, tools such as * avahi-browse* or * mdns-scan* [ ^ 2 ] can
152- be used to search for devices advertising their services via mDNS.
144+ ## mDNS-SD
145+
146+ DNS-SD/mDNS-SD can be used to discover Infix devices and services. By
147+ default, Infix use the ` .local ` domain for advertising services. Some
148+ networks use ` .lan ` instead, so this configurable:
149+
150+ ```
151+ admin@infix-c0-ff-ee:/> configure
152+ admin@infix-c0-ff-ee:/config/> edit mdns
153+ admin@infix-c0-ff-ee:/config/mdns/> set domain lan
154+ ```
155+
156+ Other available settings include limiting the interfaces mDNS responder
157+ acts on:
158+
159+ ```
160+ admin@infix-c0-ff-ee:/config/> set interfaces allow e1
161+ ```
162+
163+ or
164+
165+ ```
166+ admin@infix-c0-ff-ee:/config/> set interfaces deny wan
167+ ```
168+
169+ The ` allow ` and ` deny ` settings are complementary, ` deny ` always wins.
170+
171+ ----
172+
173+ In Linux, tools such as * avahi-browse* or * mdns-scan* [ ^ 2 ] can be used to
174+ search for devices advertising their services via mDNS.
153175
154176```
155177linux-pc:# avahi-browse -ar
@@ -181,9 +203,15 @@ linux-pc:# avahi-browse -ar
181203linux-pc:#
182204```
183205
206+ > [ !TIP]
207+ > The ` -t ` option is also very useful, it stops browsing automatically
208+ > when a "more or less complete list" has been printed. However, some
209+ > devices on the LAN may be in deep sleep so run the command again if
210+ > you cannot find the device you are looking for.
211+
184212Additionally, * avahi-resolve-host-name* can be used to verify domain
185- name mappings for IP addresses. By default, it translates from IPv4
186- addresses. This function allows users to confirm that addresses are
213+ name mappings for IP addresses. By default, it translates from IPv4
214+ addresses. This function allows users to confirm that addresses are
187215mapped correctly.
188216
189217```
@@ -219,20 +247,21 @@ linux-pc:#
219247```
220248
221249To disable mDNS/mDNS-SD, type the commands:
250+
222251```
223252admin@infix-c0-ff-ee:/> configure
224253admin@infix-c0-ff-ee:/config/> no mdns
225254admin@infix-c0-ff-ee:/config/> leave
226255```
227256
228- #### Human-Friendly Hostname Alias
257+ ### Human-Friendly Hostname Alias
229258
230- Each Infix unit will advertise itself as * infix.local* , in addition to
231- its full hostname (e.g., * infix-c0-ff-ee.local* or * foo.local* ). This
232- alias works seamlessly on a network with a single Infix device, and
233- makes it easy to connect when the exact hostname is not known in
234- advance. The examples below show how the alias can be used for
235- actions such as pinging or establishing an SSH connection:
259+ Each Infix deviuce advertise itself as * infix.local* , in addition to its
260+ full hostname (e.g., * infix-c0-ff-ee.local* or * foo.local* ). This alias
261+ works seamlessly on a network with a single Infix device, and makes it
262+ easy to connect when the exact hostname is not known in advance. The
263+ examples below show how the alias can be used for actions such as
264+ pinging or establishing an SSH connection:
236265
237266```
238267linux-pc:# ping infix.local -c 3
254283
255284Run the command 'cli' for interactive OAM
256285
257- linux-pc:#
286+ admin@infix-c0-ff-ee:~$
258287```
259288
260289When multiple Infix devices are present on the LAN the alias will not
261290uniquely identify a device; * infix.local* will refer to any of the
262291Infix devices, likely the one that first appeared.
263292
264- > When multiple Infix units are present, use the full hostname (e.g.,
265- > * infix-c0-ff-ee.local* or * foo.local* ) rather than the alias
266- > infix.local to deterministically connect to a unit.
293+ > [ !NOTE]
294+ > When multiple Infix devices are present on the LAN, use the full name,
295+ > e.g., * infix-c0-ff-ee.local* or * foo.local* rather than the alias
296+ > * infix.local* to deterministically connect to the device.
267297
268298
269- #### Netbrowse service to find all your devices
299+ ### Browse Network Using * network.local *
270300
271- Another mDNS alias that all Infix devices can advertise is
272- * network.local * . This is a web service which basically runs avahi-browse
273- and displays a table of other Infix devices and their services.
301+ Another mDNS alias that all Infix devices advertise is * network.local * .
302+ This is a web service which basically runs ` avahi-browse ` and displays a
303+ table of other Infix devices and their services.
274304
275305![ Netbrowse Service - network.local] ( img/network-local.png )
276306
277- With multiple Infix devices on the LAN, one will be your portal to
278- access all others, if it goes down another will take its place.
307+ With multiple Infix devices on the LAN, one will take the role of your
308+ portal to access all others, if it goes down another takes its place.
309+
310+ To disable the netbrowse service, and the * network.local* alias, the
311+ following commands can be used:
279312
280- To disable the netbrowse service, the following commands can be used:
281313```
282314admin@infix-c0-ff-ee:/> configure
283315admin@infix-c0-ff-ee:/config/> edit web
284316admin@infix-c0-ff-ee:/config/web/> no netbrowse
285317admin@infix-c0-ff-ee:/config/web/> leave
286318```
287319
320+
321+ [ ^ 1 ] : E.g., [ lldpd] ( https://github.com/lldp/lldpd ) which includes the
322+ * lldpcli* too, handy to sniff and display LLDP packets.
288323[ ^ 2 ] : [ mdns-scan] ( http://0pointer.de/lennart/projects/mdns-scan/ ) : a
289- tool for scanning for mDNS/DNS-SD published services on the local
290- network
324+ tool for scanning for mDNS/DNS-SD services on the local network.
0 commit comments