Difference between revisions of "Zeroconf/Zyxel P-660HN-F1Z"

From braindump
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE: Zeroconf with Zyxel P-660HN-F1Z}}
{{DISPLAYTITLE: Zeroconf with Zyxel P-660HN-F1Z}}


There is an option to purchase a discounted and officially sanctioned Zyxel P-660HN-F1Z when signing up for an ADSL account with Sunrise. Recently I started to play around with Bonjour on MacOS X and Avahi on Linux to better understand the whole mechanism. However I did not get very far with the whole thing as the machines were not able to see each other's multicast traffic when talking to each other. Sniffing the network showed that the mDNS requests were sent on 224.0.0.251 port 5353 but no response was received. I thought there was a configuration issue with Avahi on my debian host but it turned out to be a much more sinister problem. Once I had to link the MacOS X host with the debian box directly over a cross-cable and to my surprise everything was working like a charm. Digging deeper I found the culprit to be the Zyxel P-660HN-F1Z router. Well hidden in one of the Advanced configuration menus is an option to switch on multicast (IGMP). Below is a visual guide how to make Zeroconf work on this baby.
There is an option to purchase a discounted and officially sanctioned Zyxel P-660HN-F1Z when signing up for an ADSL account with [http://sunrise.ch Sunrise]. Recently I started to play around with [http://en.wikipedia.org/wiki/Bonjour_%28software%29 Bonjour] on MacOS X and [http://en.wikipedia.org/wiki/Avahi_%28software%29 Avahi] on Linux to better understand the whole mechanism.

However I did not get very far with the whole thing as the machines were not able to see each other's multicast traffic when talking to each other. Sniffing the network showed that the mDNS requests were sent on 224.0.0.251 port 5353 but no response was received. I thought there was a configuration issue with Avahi on my debian host but it turned out to be a much more sinister problem. Once I had to link the MacOS X host with the debian box directly over a cross-cable and to my surprise mDNS requests started to work magically. Digging deeper I found the culprit, the Zyxel P-660HN-F1Z router. Well hidden in one of the Advanced configuration menus is an option to switch on multicast (IGMP). Below is a visual guide how to make Zeroconf work either over the Web Interface or Telnet.


== Configuration ==
== Configuration ==
Line 13: Line 15:
Under the '''Multicast''' drop-down menu choose an IGMP protocol. Personally I have not tested anything other than the <tt>IGMP-v3</tt>. Once done press the <tt>[Apply]</tt> button.
Under the '''Multicast''' drop-down menu choose an IGMP protocol. Personally I have not tested anything other than the <tt>IGMP-v3</tt>. Once done press the <tt>[Apply]</tt> button.
[[File:03-Zeroconf-Zyxel-LAN-Advanced.png]]
[[File:03-Zeroconf-Zyxel-LAN-Advanced.png]]

=== Telnet ===
By default telnet is enabled on the router meaning the configuration can be done on the command line as well. Here is how.

Telnet to the router:
$ <span class="input">telnet 192.168.x.x</span>
Trying 192.168.x.x...
Connected to 192.168.x.x.
Escape character is '^]'.
Password: <span class="input">********</span>
Copyright (c) 1994 - 2011 ZyXEL Communications Corp.
ras>

Firstly <tt>display</tt> the current configuraton:
ras> <span class="input">lan display</span>
Active: Yes
Interface: enif0
IP Address: 192.168.x.x.
Subnet Mask: 255.255.255.0
RIP Direction: None
RIP Version: RIP-1
Multicast: <span class="highlight">None</span>
Protocol Filter Set:
Incoming: 0 0 0 0
Outgoing: 0 0 0 0
Device Filter Set:
Incoming: 0 0 0 0
Outgoing: 0 0 0 0

Then we have to set the interface to be affected by the change:
ras> <span class="input">lan index 1</span>
<span class="highlight">enif0</span> is selected

Set the interface to <tt>igmpv3</tt>:
ras> <span class="input">lan multicast igmpv3</span>

Confirm settings once more:
ras> <span class="input">lan display</span>
Active: Yes
Interface: enif0
IP Address: 192.168.x.x.
Subnet Mask: 255.255.255.0
RIP Direction: None
RIP Version: RIP-1
Multicast: <span class="highlight">IGMP-v3</span>
Protocol Filter Set:
Incoming: 0 0 0 0
Outgoing: 0 0 0 0
Device Filter Set:
Incoming: 0 0 0 0
Outgoing: 0 0 0 0


== Confirmation ==
== Confirmation ==
Under Linux use the <tt>avahi-browse</tt> command which should show entries of all the Zeroconf enabled hosts on the local network. In the below exerpt host-a is the host the command was executed on.
Under Linux use the <tt>avahi-browse</tt> command which should show entries of all the Zeroconf enabled hosts on the local network. The <tt>-l</tt> option in the command below will exclude the host the command is issued on.
avahi-browse --all -t
$ <span class="input">avahi-browse --all -l -t</span>
+ wlan0 IPv6 host-a [00:xx:xx:xx:xx:d3] Workstation local
+ wlan0 IPv4 host-a [00:xx:xx:xx:xx:d3] Workstation local
+ wlan0 IPv6 host-a Remote Disk Management local
+ wlan0 IPv4 host-a Remote Disk Management local
+ wlan0 IPv4 host-b [00:xx:xx:xx:xx:a4] Workstation local
+ wlan0 IPv4 host-b [00:xx:xx:xx:xx:a4] Workstation local
+ wlan0 IPv4 host-b Remote Disk Management local
+ wlan0 IPv4 host-b Remote Disk Management local
+ wlan0 IPv4 saned _sane-port._tcp local
+ wlan0 IPv4 saned _sane-port._tcp local
+ wlan0 IPv4 host-c SSH Remote Terminal local
+ wlan0 IPv4 host-a SSH Remote Terminal local
+ wlan0 IPv4 host-c SFTP File Transfer local
+ wlan0 IPv4 host-a SFTP File Transfer local
+ wlan0 IPv4 host-c VNC Remote Access local
+ wlan0 IPv4 host-a VNC Remote Access local
+ wlan0 IPv4 SSH on host-b SSH Remote Terminal local
+ wlan0 IPv4 SSH on host-b SSH Remote Terminal local
+ wlan0 IPv4 host-b Apple TimeMachine local
+ wlan0 IPv4 host-b Apple TimeMachine local

Latest revision as of 00:56, 5 January 2013


There is an option to purchase a discounted and officially sanctioned Zyxel P-660HN-F1Z when signing up for an ADSL account with Sunrise. Recently I started to play around with Bonjour on MacOS X and Avahi on Linux to better understand the whole mechanism.

However I did not get very far with the whole thing as the machines were not able to see each other's multicast traffic when talking to each other. Sniffing the network showed that the mDNS requests were sent on 224.0.0.251 port 5353 but no response was received. I thought there was a configuration issue with Avahi on my debian host but it turned out to be a much more sinister problem. Once I had to link the MacOS X host with the debian box directly over a cross-cable and to my surprise mDNS requests started to work magically. Digging deeper I found the culprit, the Zyxel P-660HN-F1Z router. Well hidden in one of the Advanced configuration menus is an option to switch on multicast (IGMP). Below is a visual guide how to make Zeroconf work either over the Web Interface or Telnet.

Configuration

Web Interface

Point your favorite webbrower to the IP address of the Router and supply the administrator's password on the login prompt. When landing on the Status page expand the Network and then click on LAN. 01-Zeroconf-Zyxel-Status.png

Swiftly continue to by pressing the [Advanced Setup] button. 02-Zerconf-Zyxel-LAN.png

Under the Multicast drop-down menu choose an IGMP protocol. Personally I have not tested anything other than the IGMP-v3. Once done press the [Apply] button. 03-Zeroconf-Zyxel-LAN-Advanced.png

Telnet

By default telnet is enabled on the router meaning the configuration can be done on the command line as well. Here is how.

Telnet to the router:

$ telnet 192.168.x.x
Trying 192.168.x.x...
Connected to 192.168.x.x.
Escape character is '^]'.

Password: ********
Copyright (c) 1994 - 2011 ZyXEL Communications Corp.
ras> 

Firstly display the current configuraton:

ras> lan display 
Active: Yes
Interface: enif0
IP Address: 192.168.x.x.
Subnet Mask: 255.255.255.0
RIP Direction: None
RIP Version: RIP-1
Multicast: None
Protocol Filter Set:
Incoming:   0  0  0  0
Outgoing:   0  0  0  0
Device Filter Set:
Incoming:   0  0  0  0
Outgoing:   0  0  0  0

Then we have to set the interface to be affected by the change:

ras> lan index 1 
enif0 is selected

Set the interface to igmpv3:

ras> lan multicast igmpv3

Confirm settings once more:

ras> lan display 
Active: Yes
Interface: enif0
IP Address: 192.168.x.x.
Subnet Mask: 255.255.255.0
RIP Direction: None
RIP Version: RIP-1
Multicast: IGMP-v3
Protocol Filter Set:
Incoming:   0  0  0  0
Outgoing:   0  0  0  0
Device Filter Set:
Incoming:   0  0  0  0
Outgoing:   0  0  0  0

Confirmation

Under Linux use the avahi-browse command which should show entries of all the Zeroconf enabled hosts on the local network. The -l option in the command below will exclude the host the command is issued on.

$ avahi-browse --all -l -t
+  wlan0 IPv4 host-b [00:xx:xx:xx:xx:a4]                    Workstation            local
+  wlan0 IPv4 host-b                                        Remote Disk Management local
+  wlan0 IPv4 saned                                         _sane-port._tcp        local
+  wlan0 IPv4 host-a                                        SSH Remote Terminal    local
+  wlan0 IPv4 host-a                                        SFTP File Transfer     local
+  wlan0 IPv4 host-a                                        VNC Remote Access      local
+  wlan0 IPv4 SSH on host-b                                 SSH Remote Terminal    local
+  wlan0 IPv4 host-b                                        Apple TimeMachine      local
+  wlan0 IPv4 host-b                                        _device-info._tcp      local
+  wlan0 IPv4 AirPrint PDF @ host-b                         Internet Printer       local
+  wlan0 IPv4 AirPrint Samsung_ML-1410 @ host-b             Internet Printer       local
+  wlan0 IPv4 My Music on host-b                            iTunes Audio Access    local
+  wlan0 IPv4 host-b                                        Apple File Sharing     local
+  wlan0 IPv4 My Music on host-b                            _rsp._tcp              local
+  wlan0 IPv4 My Music on host-b                            Web Site               local