Tag: iOS

  • Using AirServer across subnets

    AirServer (http://www.airserver.com) is a great tool for mirroring iOS Devices (iPad, iPhone, iPod etc.) to your Apple Mac or PC.  Sadly out of the box it won’t work across VLANs/subnets as it requires Bonjour (mDNS, ZeroConf, what ever you like to call it) to work.

    Detailed below is the process that I used to get AirServer working across VLANs and subnets.

    Basically there is a free tool named Avahi that will, with minimal tweaking, provide a proxy for Bonjour/mDNS.  It doesn’t bridge the subnets together in the way some similar tools do which means you aren’t flooding broadcast traffic across subnets, it simply collects all the information of any Bonjour services and then rebroadcasts them as appropriate.

    The basic process requires setting up a linux box (I used Ubuntu 12.04 on a virtual machine within VMWare, but other virtualisation technologies or even a physical box would do), configuring the network interfaces, configuring Avahi and then using AirServer!

    Setting up the server

    Avahi isn’t very processor or RAM intensive.  In my setup I used 1 core and 1GB of RAM, although I suspect it will run fine with a smaller amount of memory. These instructions assume you choose to use Ubuntu, but should be similar for most distributions.

    For simplicity’s sake during the intial setup I configured the virtual machine to use a client VLAN and allowed the server to pick up a DHCP address.

    Once you’ve ran through the basic install, run the following commands to get up to date and enable SSH.

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install openssh-server

    At this point you can switch across to using an SSH client of your choice (As always I recommend Putty)

    Configuring the interfaces

    At this point, if you haven’t already done so, you can switch your link to the box to a 802.1q trunk.  Depending upon your configuration this may sever your link to the box via SSH so the next section need to be carried out locally.

    Use a text editor to edit /etc/network/interfaces, I like nano

    sudo nano /etc/network/interfaces

    For each VLAN you wish to use Avahi on add the following lines, adjusting as required.  The example below configures a virtual interface for VLAN 159 using DHCP for the IP addressing.

    auto eth0.159
    iface eth0.159 inet dhcp

    For the native VLAN you need to configure the physical interface.  The below example shows a static IP address assignment for the native VLAN.

    iface eth0 inet static
    address 192.168.3.230
    netmask 255.255.252.0

    Once you’ve configured all your interfaces restart the network subsystem

    sudo /etc/init.d/networking restart

    Installing & Configuring Avahi

    Simply install Avahi

    sudo apt-get install avahi-daemon

    To enable the functionality we require open the config file

    sudo nano /etc/avahi/avahi-daemon.conf

    Find the section

    [reflector]
    #enable-reflector=no
    #reflect-ipv=no

    And change it to

    [reflector]
    enable-reflector=yes
    #reflect-ipv=no

    And then restart the service

    sudo /etc/init.d/avahi-daemon restart

    That’s it!

    And that is pretty much it. if you’ve done everything right you should now be able to connect to your AirServer/Apple TV on one subnet from your iPad/iPhone on another.