Peer-to-peer AirPlay

A major feature in iOS 8 and Yosemite is the ability to connect to an Apple TV whilst not being on the same wireless network. The underlying technology for this is peer-to-peer AirPlay. Peer-to-peer AirPlay adds some great improvements to the old style AirPlay, if both the Apple TV and iOS or Mac support peer-to-peer they will connect this way even if they are both on the same wireless network. This removes the strain of video streaming from networks, and also improves the reliability of AirPlay streaming. Peer-to-peer AirPlay needs no configuration.

Peer-to-peer AirPlay requires the following:

  • Apple TV 3rd Gen (Rev A) – Model Number A1469
  • Mac from 2012 or later, running OS X Yosemite. Some unsupported models can be enabled by using the Continuity Activator.
  • iOS Device from 2012 or later, running iOS 8

Apple also recommends not using the 149 or 153 5Ghz wireless channels on your infrastructure wireless networks, not using these channels will eliminate any interference between the Apple TVs network and your wireless network.

Further information can be found in this great reference page from Apple.

Posted by Haydn Cockayne in Apple, iOS, OS X, 0 comments

Create a Bonjour Bridge using Avahi and Ubuntu Server

With the adoption of Apple TVs in education, many network administrators are trying to find a way to advertise Bonjour services over multiple subnets. Aerohive recently released a Bonjour gateway, I found this troublesome to use and set out to find another solution. I discovered that Avahi, an opensource implementation of zeroconf, allows for Bonjour reflection to other networks, to get this to work in our environment I did the following. Continue reading →

Posted by Haydn Cockayne in iOS, Networking, 2 comments

pfSense Traffic Logging (updated!)

As promised in my previous post, I have now completed the PHP script for making the connection between the pfSense Captive Portal authentication log and the Squid authentication log.

trafficlog trafficlog 1.1 – Needs to be placed in /usr/local/www/ and renamed to trafficlog.php

captiveportal captiveportal 1.1 – Needs to be placed in /usr/local/www/ and renamed to captiveportal.php

download – Needs to be placed in /usr/local/www/captivetraffic/ (The captivetraffic folder will need to be created.)

indexTo replace the original in /usr/local/captiveportal/

A cron job to create the completeportalauth.log file will need to be setup, easiest way to do this is a install the Cron package and then add the following settings – Minute – 1,  Hour – *, Mday – *,  Month – *, Wday – *, Who – root, command – clog /var/log/portalauth.log >> /var/log/completeportalauth.log  No longer required.

Unfortunately due to security built into WordPress, I cannot upload PHP files, so once you’ve download the downloaded the txt files you will need to change the extension to .php.

Please note, I’m no programmer, and I only did this so that my colleagues need not ssh into pfSense to run the commands. Depending on how large your logs are, the page may take a while to load.

I chose the load the log in an iFrame due to PHP running out of memory, outputting to a file and making it available for download was simplest way I could think of to get around this. The /usr/local/www/captivetraffic/ folder might begin to get quite full, but a nightly cron job that clears the log will fix this.

Posted by Haydn Cockayne in iOS, Networking, pfSense, 0 comments