Part II: Apple iPads, Apple TVs, Bonjour & AirPlay Across Subnets Using Open-Source Software



Configure The Switches

The L3 switch we have available for our demonstration network is a Dell 6224 L3 switch. The syntax for other switches will be different of course, but the concept and configuration requirements are the same.



Dell 6224 L3 Switch
We will configure the Dell 6224 L3 switch as follows:

  • IP routing enabled so that the switch will route IP traffic between subnets
  • Five VLANs (5, 10, 20, 100, 101), each with an IP address that will be used as the default gateway address for devices on that subnet
  • A 3Gbps Link Aggregate Group (LAGG), configured in TRUNK mode, connected to our VMware ESXi host server. This LAGG will have all five VLANs tagged on it
  • A 1Gbps link configured in TRUNK mode, with VLANs 10, 20, 100, 101 tagged on it. This link will be connected to a Dell 5548P L2 switch

Log into the 6224 switch via ssh, telnet, or serial port. Enable ip routing and then create and configure the VLANs.

User:admin
Password:thisIsNotThePassword

revpol6224 > en

revpol6224 # configure

revpol6224 (config)# ip routing

revpol6224 (config)# vlan database 

revpol6224 (config-vlan)# vlan 5,10,20,100,101
Warning: The use of large numbers of VLANs or interfaces may cause significant
delays in applying the configuration.

revpol6224 (config-vlan)# exit

revpol6224 (config)# interface vlan 5

revpol6224 (config-if-vlan50)# name "Servers VLAN"

revpol6224 (config-if-vlan50)# ip address 10.5.0.254 /24

revpol6224 (config-if-vlan50)# exit

revpol6224 (config)# interface vlan 10

revpol6224 (config-if-vlan10)# name "AppleTV 1 VLAN"

revpol6224 (config-if-vlan10)# ip address 10.10.0.254 /24

revpol6224 (config-if-vlan10)# exit

revpol6224 (config)# interface vlan 20

revpol6224 (config-if-vlan20)# name "AppleTV 2 VLAN"

revpol6224 (config-if-vlan20)# ip address 10.20.0.254 /24

revpol6224 (config-if-vlan20)# exit

revpol6224 (config)# interface vlan 100

revpol6224 (config-if-vlan100)# name "Student Wireless VLAN"

revpol6224 (config-if-vlan100)# ip address 10.100.0.254 /24

revpol6224 (config-if-vlan100)# exit

revpol6224 (config)# interface vlan 101

revpol6224 (config-if-vlan101)# name "Adults Wireless VLAN"

revpol6224 (config-if-vlan101)# ip address 10.101.0.254 /24

revpol6224 (config-if-vlan101)# exit



Create the 3Gbps LAGG which will consist of ports 1-3 on the Dell 6624 L3 switch. Set it to TRUNK mode and then add all the necessary VLANs to the newly defined LAGG. GENERAL mode is usually a better option and allows for more flexibility, but for this demonstration TRUNK mode will work just fine.

This 3Gbps LAGG will be used to connect our VMware ESXi host server to the network, and will provide 3Gbps of shared bandwidth for all of the virtual machines on the VMware ESXi host server. Of course you probably would never connect any servers directly to your core router, but remember this is just a demonstration network. :)

revpol6224 (config)# interface range ethernet 1/g1-1/g3

revpol6224 (config-if)# description "Member of 3Gbps CH1 to VMware ESXi Host"

revpol6224 (config-if)# channel-group 1 mode on

revpol6224 (config-if)# exit

revpol6224 (config)# interface port-channel 1

revpol6224 (config-if-ch1)# description "3Gbps LAGG to VMware ESXi Host"

revpol6224 (config-if-ch1)# switchport mode trunk

revpol6224 (config-if-ch1)# switchport trunk allowed vlan add 5,10,20,100,101

revpol6224 (config-if-ch1)# exit



Configure gigabit ethernet port 4 (1/g4) on the 6224 switch as a tagged trunk port to our 5548P L2 switch, and add the required VLANs to the trunk:

revpol6224 (config)# interface ethernet 1/g4

revpol6224 (config-if)# description "Tagged trunk to 5548P L2 switch"

revpol6224 (config-if)# switchport mode trunk

revpol6224 (config-if)# switchport trunk allowed vlan add 10,20,100,101

revpol6224 (config-if)# exit



Save the current running configuration to the startup configuration so the changes stay after a reboot:

revpol6224 (config)# exit

revpol6224 # copy running-config startup-config

revpol6224 # exit

revpol6224 > 



Dell 5548P L2 Switch

Now configure our 5548P L2 switch as follows:

  • port 1 - Tagged trunk connected to 6224 L3 switch with VLANs 10, 20, 100, 101
  • port 2 - Tagged trunk connected to wireless access point with VLANs 100, 101
  • port 3 - Access port on VLAN 10 (AppleTV 1)
  • port 4 - Access port on VLAN 20 (AppleTV 2)

Create and name the VLANs on the 5548P L2 switch:

User Name:admin
Password:thisIsAlsoNotThePassword

revpol5548P > en

revpol5548P # configure

revpol5548P (config-vlan)# vlan database

revpol5548P (config-vlan)# vlan 10,20,100,101

revpol5548P (config-vlan)# exit

revpol5548P (config)# interface vlan 10

revpol5548P (config-if)# name "AppleTV 1 VLAN"

revpol5548P (config-if)# exit

revpol5548P (config)# interface vlan 20

revpol5548P (config-if)# name "AppleTV 2 VLAN"

revpol5548P (config-if)# exit

revpol5548P (config)# interface vlan 100

revpol5548P (config-if)# name "Student Wireless VLAN"

revpol5548P (config-if)# exit

revpol5548P (config-if)# interface vlan 101

revpol5548P (config-if)# name "Adults Wirelsss VLAN"

revpol5548P (config-if)# exit



Configure the tagged trunk on port 1 (gigabitethernet 1/0/1) of the 5548P, and add the required VLANs to it. This is the uplink to the Dell 6224 L3 switch:

revpol5548P (config)# interface gigabitethernet 1/0/1

revpol5548P (config-if)# description "Tagged trunk to 6224 L3 switch"

revpol5548P (config-if)# switchport mode trunk

revpol5548P (config-if)# switchport trunk allowed vlan add 10,20,100,101

revpol5548P (config-if)# exit



Configure the tagged trunk on port 2 (gigabitethernet 1/0/2) of the 5548P and add the required VLANs (100, 101) to it. This will be the connection to the access point:

revpol5548P (config)# interface gigabitethernet 1/0/2

revpol5548P (config-if)# description "Tagged trunk to access point"

revpol5548P (config-if)# switchport mode trunk

revpol5548P (config-if)# switchport trunk allowed vlan add 100,101

revpol5548P (config-if)# exit



Configure the two access ports on VLAN 10 and VLAN 20 for the two wired AppleTVs. Clearly, these two subnets will have more than one AppleTV on them. The diagram shows one AppleTV per port for simplicity.

revpol5548P (config)# interface gigabitethernet 1/0/3

revpol5548P (config-if)# description "AppleTV 1 network"

revpol5548P (config-if)# switchport mode access

revpol5548P (config-if)# switchport access vlan 10

revpol5548P (config-if)# exit

revpol5548P (config)# interface gigabitethernet 1/0/4

revpol5548P (config-if)# description "AppleTV 2 network"

revpol5548P (config-if)# switchport mode access

revpol5548P (config-if)# switchport access vlan 20

revpol5548P (config-if)# exit



Save the current running configuration to the startup configuration so the changes stay after a reboot:

revpol5548P (config)# exit

revpol5548P # copy running-config startup-config

revpol5548P # exit

revpol5548P > 

** NOTE ** After configuring your switches you should always copy the startup-configuration to a server via tftp so that you have backup copies.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

CentOS 6

I wanted to show my thanks for this post by giving you my steps in setting up centos 6. Feel free to add/delete/modify whatever you want.

Comparison to Gentoo: Initial installation of the OS is MUCH easier. Setting up the vlans involves 3 files per vlan. So I suppose it's a tossup as far as time. My vlan11 is servers, 10 is workstations, 50 is wifi. For now I'm just joining workstations to wifi

Get the centos installer (I used current which is 6.5)
https://www.centos.org/
##make a vm with dvd1 mounted at startup
##choose minimal install (this is different than using the minimal iso as that doesn't even have cron
##reboot and login as root
##Ensure that the module is loaded by entering the following command:
lsmod | grep 8021q
#If the module is not loaded, load it with the following command:
modprobe 8021q
vi /etc/sysconfig/network-scripts/ifcfg-eth0
##press i for insert mode. esc to exit insert mode.
##make it like this
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
#NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=yourMacGoesHere
:x to save and exit
vi /etc/sysconfig/network-scripts/ifcfg-vlan11
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan11
PHYSDEV=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=no

##repeat for vlan10, vlan50
##then you have to add a route and rule or cenos tries to send traffic from one vlan out the wrong vlan
##this is what I followed:
##http://commandline.ninja/2013/01/14/centos-policy-routing-why-yes-it-can-be-done/
vi /etc/iproute2/rt_tables
#add the following lines
11 vlan11
50 vlan50
10 vlan10

#then add /etc/sysconfig/network-scripts/route-vlan11 with:
default table vlan11 via 10.99.11.1
#then add /etc/sysconfig/network-scripts/rule-vlan11 with:
from 10.99.11.173 table vlan11
#repeat for other vlans
#so with 1 network adapter and 3 vlans I have 10 files. lame
#maybe someone can figure out a cleaner way to do this, but my way works!

##continue on to my normal centos setup notes:
#Allow root ssh so you can get out of the stupid vmconsole
vi /etc/ssh/sshd_config
#uncomment the
PermitRootLogin yes

#iptables and SElinux are on. You may need to turn these off.
service iptables stop
#DISABLE SELINUX THE BITCH
vi /etc/sysconfig/selinux

//more good stuff before moving on to app installation///
//get the epel repo up
cd ~
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noa...
rpm -ivh epel-release-6-8.noarch.rpm
#get git for scripts, zip and unzip are handy too
sudo yum install git zip unzip

/////////VMWARE Tools install////////////////
su root
yum install gcc kernel-devel perl make openssh-clients wget
//Mount the VMWare Tools ISO in the gui
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cp /mnt/cdrom/VMwareTools*.gz /tmp
cd /tmp
tar -C /tmp -zxvf VMwareTools*.gz
cd vmware-tools-distrib
./vmware-install.pl
//accept the defaults
//then run the config thing
umount /mnt/cdrom

/////////avahi install///////
#basically I followed your simple steps, only thing was I got a dbus error when starting until I figured out I had to start the messagebus service:

yum install avahi
/etc/avahi/avahi-daemon.conf
allow-interfaces=vlan10,vlan20,vlan100,vlan101
enable-reflector=yes

service messagebus start
service avahi-daemon start
chkconfig --add messagebus
chkconfig --add avahi-daemon

Thanks for the feedback

I approved your post because you obviously put some thought into it and I am sure it will help a CentOS user from the future. :)

I would argue though, that leaving "PermitRootLogins = yes" is a no-no, and would recommend that you instead create a user while logged in via the VMware console, and then ssh in as that user. I would also recommend allowing ssh logins via public key only.

Also, I rarely actually have to install Gentoo these days. I keep a "Gentoo64bitTemplate" (mostly) up to date on each of our clients' VMware systems, so deploying a new Gentoo Linux server is a couple clicks, and then a name-changing script away.

And one helpful hint: To su to root and inherit all of root's environment just do:

$ su -

Or if you feel that must enter an account name:

$ su - root

also works.

Cheers!

--
Bill

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <b> <i> <u> <strong> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
#
S
8
F
W
M
Enter the code without spaces and pay attention to upper/lower case.