Difference between revisions of "Virginia Tech Wifi (OLD)"

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search
imported>Cov
imported>Cov
Line 7: Line 7:
 
VT-Wireless has a number of steps. In contrast, set up for connecting
 
VT-Wireless has a number of steps. In contrast, set up for connecting
 
to the unsecured VT_WLAN network is negligible, but you will be
 
to the unsecured VT_WLAN network is negligible, but you will be
required to manually authenticate each time you connect.
+
required to manually authenticate each time you connect. [''NOTE: see [#VT_WLAN_Auto_Login below] for scripts on how to enable automated authentication to VT_WLAN.'']
 
 
 
The table below summarizes the advantages and disadvantages of connecting to the two wireless LANs.
 
The table below summarizes the advantages and disadvantages of connecting to the two wireless LANs.
  
{|
+
<table style="text-align: center;" align="center" border="1" cellpadding="10">
  
 
<tbody><tr>
 
<tbody><tr>
Line 19: Line 18:
 
</th></tr>
 
</th></tr>
 
<tr>
 
<tr>
<th>Secure (Encrypted)<br> Connection
+
<th>Secure (Encrypted)<br /> Connection
 
</th><td> yes </td><td> no
 
</th><td> yes </td><td> no
 
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
Line 29: Line 27:
 
<tr>
 
<tr>
 
<th>Authentication
 
<th>Authentication
</th><td> automatic </td><td> manual<a href="#VT_WLAN_Auto_Login" title="">*</a>
+
</th><td> automatic </td><td> manual[#VT_WLAN_Auto_Login *]
</td></tr>
+
</td></tr></tbody></table>
|}
 
 
 
 
=VT-Wireless=
 
=VT-Wireless=
 
The VT-Wireless network is secured by WPA with EAP/TLS encryption.
 
The VT-Wireless network is secured by WPA with EAP/TLS encryption.
Line 38: Line 34:
 
authentication mechanism.  
 
authentication mechanism.  
 
==Obtaining the VT-Wireless Certificate==
 
==Obtaining the VT-Wireless Certificate==
Regardless of what program you use to make your connection, you will need to <a href="https://netcert.cns.vt.edu/netcert/" class="external text" title="https://netcert.cns.vt.edu/netcert/" rel="nofollow">obtain your p12 certificate and password from CNS</a>.
+
Regardless of what program you use to make your connection, you will need to [https://netcert.cns.vt.edu/netcert/ obtain your p12 certificate and password from CNS].
 
Complete the form and download the p12 certificate file. Write down the
 
Complete the form and download the p12 certificate file. Write down the
 
certificate password and store it some place where you can find it
 
certificate password and store it some place where you can find it
 
again. You will need it in setting up your connection to VT-Wireless.
 
again. You will need it in setting up your connection to VT-Wireless.
 
  
 
===Connecting by NetworkManager===
 
===Connecting by NetworkManager===
Line 55: Line 50:
 
====NetworkManager 0.7====
 
====NetworkManager 0.7====
 
====Converting the certificate to PEM certificates and keys====
 
====Converting the certificate to PEM certificates and keys====
 
+
['''NOTE:''' The following steps are only necessary to use NetworkManager 0.7. NetworkManager 0.6 has a [#NetworkManager_0.6 more straightforward setup] and wpa_supplicant works pretty much [#Connecting_by_WPA_Supplicant out of the box] as well.]
['''NOTE:''' The following steps are only necessary to use NetworkManager 0.7. NetworkManager 0.6 has a <a href="#NetworkManager_0.6" title="">more straightforward setup</a> and wpa_supplicant works pretty much <a href="#Connecting_by_WPA_Supplicant" title="">out of the box</a> as well.]
+
You will need to convert the p12 certificate into PEM formats. We will assume your downloaded p12 file is called '''<tt>netcert-1.p12</tt>''' and that its password is '''''netcertpasswd'''''.
You will need to convert the p12 certificate into PEM formats. We will assume your downloaded p12 file is called '''<tt>netcert-1.p12</tt>''' and that its password is <i>'''netcertpasswd'''</i>.
 
 
Open a terminal and <tt>cd</tt> to the directory that contains your p12 file. Then issue the following commands:
 
Open a terminal and <tt>cd</tt> to the directory that contains your p12 file. Then issue the following commands:
 
  
 
<pre>openssl pkcs12 -in netcert-1.p12 -out vt_client_cert.pem -clcerts -nokeys
 
<pre>openssl pkcs12 -in netcert-1.p12 -out vt_client_cert.pem -clcerts -nokeys
 
openssl pkcs12 -in netcert-1.p12 -out vt_private_key.pem -nocerts
 
openssl pkcs12 -in netcert-1.p12 -out vt_private_key.pem -nocerts
 
</pre>
 
</pre>
In each step, you will be prompted for the password (<i>netcertpasswd</i>)
+
In each step, you will be prompted for the password (''netcertpasswd'')
 
that you were issued along with your p12 certificate. Additionally, in
 
that you were issued along with your p12 certificate. Additionally, in
 
the final step where you generate your private key, you will be asked
 
the final step where you generate your private key, you will be asked
Line 71: Line 64:
 
'''Sources'''
 
'''Sources'''
  
<ul><li> <a href="http://www.codealias.info/technotes/wpa2_eap-tls_authentication_linux_client_setup" class="external free" title="http://www.codealias.info/technotes/wpa2_eap-tls_authentication_linux_client_setup" rel="nofollow">http://www.codealias.info/technotes/wpa2_eap-tls_authentication_linux_client_setup</a>
+
<ul><li> [http://www.codealias.info/technotes/wpa2_eap-tls_authentication_linux_client_setup http://www.codealias.info/technotes/wpa2_eap-tls_authentication_linux_client_setup]
 
</li></ul>
 
</li></ul>
====Make sure you have the CA Certificate====
+
==== Make sure you have the CA Certificate ====
 
 
 
Next, you will need to make sure you have the Thawte CA certificate. In Ubuntu, you should find this certificate as <tt>/etc/ssl/certs/Thawte_Premium_Server_CA.pem</tt>.
 
Next, you will need to make sure you have the Thawte CA certificate. In Ubuntu, you should find this certificate as <tt>/etc/ssl/certs/Thawte_Premium_Server_CA.pem</tt>.
 
If you can't find the certificate, you can copy the text below and paste it into a new file of the same name.
 
If you can't find the certificate, you can copy the text below and paste it into a new file of the same name.
Line 100: Line 92:
 
-----END CERTIFICATE-----
 
-----END CERTIFICATE-----
 
</pre>
 
</pre>
<br>
+
<br />
 
Left-click the NetworkManager applet and select the VT-Wireless network.
 
Left-click the NetworkManager applet and select the VT-Wireless network.
[[Image:Nm_choose_wireless.png]]
+
<a href="http://www.vtluug.org/wiki/index.php?title=Image:Nm_choose_wireless.png" class="image" title="Image:nm_choose_wireless.png"><img alt="Image:nm_choose_wireless.png" src="VT-Wireless_files/Nm_choose_wireless.html" height="255" width="313" border="0"></a>
 
You will see a prompt to configure the connection. First, from the Authentication drop-down menu, select TLS.
 
You will see a prompt to configure the connection. First, from the Authentication drop-down menu, select TLS.
[[Image:Nm_choose_tls.png]]
+
<a href="http://www.vtluug.org/wiki/index.php?title=Image:Nm_choose_tls.png" class="image" title="Image:nm_choose_tls.png"><img alt="Image:nm_choose_tls.png" src="VT-Wireless_files/Nm_choose_tls.html" height="466" width="494" border="0"></a>
 
Next, fill in the rest of the options:
 
Next, fill in the rest of the options:
[[Image:Nm_vt_wireless_options.png]]
+
<a href="http://www.vtluug.org/wiki/index.php?title=Image:Nm_vt_wireless_options.png" class="image" title="Image:nm_vt_wireless_options.png"><img alt="Image:nm_vt_wireless_options.png" src="VT-Wireless_files/Nm_vt_wireless_options.html" height="466" width="494" border="0"></a>
 +
 
 +
<table align="center" border="1" cellpadding="5">
  
{|
 
 
<tbody><tr>
 
<tbody><tr>
 
<th>Field </th><th> Value
 
<th>Field </th><th> Value
Line 121: Line 114:
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
 
 
<th>Authentication
 
<th>Authentication
 
</th><td> TLS
 
</th><td> TLS
Line 127: Line 119:
 
<tr>
 
<tr>
 
<th>Identity
 
<th>Identity
</th><td><i>Your VT PID</i>
+
</th><td>''Your VT PID''
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
Line 136: Line 128:
 
<th>CA Certificate
 
<th>CA Certificate
 
</th><td> /etc/ssl/certs/Thawte_Premium_Server_CA.pem
 
</th><td> /etc/ssl/certs/Thawte_Premium_Server_CA.pem
 
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
Line 144: Line 135:
 
<tr>
 
<tr>
 
<th>Private Key Password
 
<th>Private Key Password
</th><td> <i>netcertpasswd</i>
+
</th><td> ''netcertpasswd''
</td></tr>
+
</td></tr></tbody></table>
|}
 
 
Click "Connect" and you should connect to the VT-Wireless network.
 
Click "Connect" and you should connect to the VT-Wireless network.
  
 
===NetworkManager 0.6===
 
===NetworkManager 0.6===
 
 
Left-click the NetworkManager applet and select VT-Wireless. You
 
Left-click the NetworkManager applet and select VT-Wireless. You
 
will be prompted to enter information about the connection. Here are
 
will be prompted to enter information about the connection. Here are
Line 167: Line 156:
 
<th>Wireless Security
 
<th>Wireless Security
 
</th><td> WPA2 Enterprise
 
</th><td> WPA2 Enterprise
 
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
Line 183: Line 171:
 
<tr>
 
<tr>
 
<th>Identity
 
<th>Identity
 
+
</th><td>''Your VT PID''
</th><td><i>Your VT PID</i>
 
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
 
<th>Password
 
<th>Password
</th><td> <i>empty</i>
+
</th><td> ''empty''
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
Line 197: Line 184:
 
<th>CA Certificate File
 
<th>CA Certificate File
 
</th><td> (None)
 
</th><td> (None)
 
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
 
<th>Private Key File
 
<th>Private Key File
</th><td> netcert-1.p12 <br>(the certificate downloaded<br>from VT NetCert)
+
</th><td> netcert-1.p12 <br />(the certificate downloaded<br />from VT NetCert)
 
</td></tr>
 
</td></tr>
 
<tr>
 
<tr>
 
<th>Private Key Password
 
<th>Private Key Password
</th><td> <i>netcertpasswd</i>
+
</th><td> ''netcertpasswd''
 
</td></tr></tbody></table>
 
</td></tr></tbody></table>
 +
==Connecting by wicd(wicked)==
 +
Wicd is an alternative to network manager and is used on many light
 +
weight systems since it has few requirements and uses your systems own
 +
ifconfig/iwconfig commands.
 +
It still under active devlopment but is more than stable enough
 +
for everyday use. Also NetworkManager has a tendancy to disconnect
 +
every 10 minutes for about 20 seconds then it automatically reconnects.
 +
Not a show stopper but could be annoying during a web-based
 +
assignments.
 +
Instead of using TLS, we will be using PEAP. This is a
 +
different encryption scheme and is much more simple to setup compared
 +
to TLS. I will also try setting up networkmanager with this method
 +
later...
 +
OK, do you have a VPN password? If not, follow these instructions for setting up your remote VPN login account[http://answers.vt.edu/kb/entry/2846/ [1]].
 +
<br />
 +
Next you need to locate the copy of the Thawte_Premium_Server_CA.pem on your system.
 +
For me it was in:
  
 +
<pre>/etc/ssl/certs/
 +
</pre>
 +
After dillegently locating this file, open up network manager.
 +
Click san to make sure your list of devices is up to date.
 +
Next click the "Properties" button next to the VT-Wireless at the top of the list (any one is fine really).
 +
Make sure there is a check in both "Use these settings for all networks sharing this essid" and "Use encyption".
 +
Next in the drop down box right below choose "PEAP with TKIP/MSCHAPV2"
 +
This will present you with "Identity", "Password", and "Path to CA Cert" text boxes.
  
==Connecting by wicd (wicked)==
+
<pre>Identity: &lt;Your PID&gt;
 +
Password: &lt;The one you set up earlier for VPN access&gt;
 +
Path to CA Cert: &lt;something like /etc/ssl/certs/Thawte_Premium_Server_CA.pem&gt;
 +
</pre>
 +
Then just click OK.
  
Follow the PEM certificate creation instructions for NetworkManager. Select EAP/TLS and then input the PEM certificates and the Thawte certificate. The certificate on Debian, Arch and potentially other systems is in
+
<ul><li>Note: wicd will "star" out your identity and the path to the CA
<pre>/etc/ssl/certs/
+
Cert feilds so don't be alarmed when your ID and the path to the CA
 +
Cert get transformed automatically to * when you click away from the
 +
text box.
 +
</li><li>Note: This method works for connecting iPhone(s)/iPod Touch(s)
 +
</li></ul>
 +
<ul><li>These Instructions are based on my own personal setup
 +
</li></ul>
 +
<pre>Eee PC 901
 +
Ralink rt2860 (staging driver in kernel)
 +
ArchLinux
 +
Xfce 4.6
 +
wicd 1.6.2
 +
kernel 2.6.30
 
</pre>
 
</pre>
 
 
==Connecting by WPA Supplicant==
 
==Connecting by WPA Supplicant==
 
===Editing wpa_supplicant.conf===
 
===Editing wpa_supplicant.conf===
Line 250: Line 276:
 
</pre>
 
</pre>
 
where <tt>INTERFACE</tt> is your wireless card's device interface. Usually this is <tt>wlan0</tt> but depending on udev and perhaps other system features, it might appear as ath0, eth1 or something else. Run <tt>sudo ifconfig -a</tt> to see all your interfaces listed.
 
where <tt>INTERFACE</tt> is your wireless card's device interface. Usually this is <tt>wlan0</tt> but depending on udev and perhaps other system features, it might appear as ath0, eth1 or something else. Run <tt>sudo ifconfig -a</tt> to see all your interfaces listed.
 
 
You should see the words <tt>Access Point:</tt> followed by a MAC address (e.g., <tt>00:0F:23:EA:4A:01</tt>). If instead you see <tt>Access Point: not associated</tt>. Try the command again. If that still fails, bring down the interface and bring it back up
 
You should see the words <tt>Access Point:</tt> followed by a MAC address (e.g., <tt>00:0F:23:EA:4A:01</tt>). If instead you see <tt>Access Point: not associated</tt>. Try the command again. If that still fails, bring down the interface and bring it back up
  
Line 258: Line 283:
 
and re-issue the <tt>wpa_supplicant</tt> command.
 
and re-issue the <tt>wpa_supplicant</tt> command.
 
Next, obtain an IP address. In Ubuntu, this is done with
 
Next, obtain an IP address. In Ubuntu, this is done with
 
  
 
<pre>sudo dhclient INTERFACE
 
<pre>sudo dhclient INTERFACE
Line 272: Line 296:
 
If you're not using wpa_supplicant, you'll need to migrate from
 
If you're not using wpa_supplicant, you'll need to migrate from
 
Wireless Tools to it in order to speak WPA and 802.1X to the
 
Wireless Tools to it in order to speak WPA and 802.1X to the
VT-Wireless network. Refer to the <a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&amp;chap=4#doc_chap2" class="external text" title="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&amp;chap=4#doc_chap2" rel="nofollow">Gentoo documentation</a> for a step-by-step guide to setting up WPA Supplicant.
+
VT-Wireless network. Refer to the [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&amp;chap=4#doc_chap2 Gentoo documentation] for a step-by-step guide to setting up WPA Supplicant.
 
 
  
 
=VT_WLAN=
 
=VT_WLAN=
Line 280: Line 303:
 
network is composed of unencrypted IEEE 802.11g access nodes. To limit
 
network is composed of unencrypted IEEE 802.11g access nodes. To limit
 
access to faculty and staff, VT Communications Network Services uses an
 
access to faculty and staff, VT Communications Network Services uses an
authentication technology from Bluesocket. You have to register for <a href="http://www.cns.vt.edu/html/wireless/wlan/registration.html" class="external text" title="http://www.cns.vt.edu/html/wireless/wlan/registration.html" rel="nofollow">Customer OnLine Access (COLA)</a> or in person at the Student Telecommunications Office to enable your account.
+
authentication technology from Bluesocket. You have to register for [http://www.cns.vt.edu/html/wireless/wlan/registration.html Customer OnLine Access (COLA)] or in person at the Student Telecommunications Office to enable your account.
  
 
==Authentication==
 
==Authentication==
 
 
The Bluesocket authentication technology will automatically redirect
 
The Bluesocket authentication technology will automatically redirect
 
you to the login page (or hijack the URL you are trying to visit in
 
you to the login page (or hijack the URL you are trying to visit in
Line 305: Line 327:
 
-d source=`/sbin/ifconfig eth1 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` \
 
-d source=`/sbin/ifconfig eth1 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` \
 
https://`/sbin/route | grep -Eo '(bur|cas|hil|isb|owe|sha)-agw-[123]'`.cns.vt.edu/login.pl</pre>
 
https://`/sbin/route | grep -Eo '(bur|cas|hil|isb|owe|sha)-agw-[123]'`.cns.vt.edu/login.pl</pre>
 
+
<br />Depending on the characters in your password, you may need to
<br>Depending on the characters in your password, you may need to
 
 
quote it to prevent expansion, i.e. bs_password='MY!$?*PASSWORD'.
 
quote it to prevent expansion, i.e. bs_password='MY!$?*PASSWORD'.
 
ifconfig and route are located in /sbin and therefore generally not in
 
ifconfig and route are located in /sbin and therefore generally not in
Line 335: Line 356:
 
     return 0
 
     return 0
 
}</pre>
 
}</pre>
 
 
PID and PASSWORD should of course be your PID and password. This
 
PID and PASSWORD should of course be your PID and password. This
 
setup is only really suitable for a single user machine like a laptop.
 
setup is only really suitable for a single user machine like a laptop.
To very slightly improve security you should <tt>chmod a-r /etc/conf.d/wireless</tt>. This script does not authenticate the access point and would send your password to rogue access points. Using [#VT-Wireless] rather than this script to automate login is highly recommended. If you
+
To very slightly improve security you should <tt>chmod a-r /etc/conf.d/wireless</tt>. This script does not authenticate the access point and would send your password to rogue access points. Using [#VT-Wireless VT-Wireless]
insist on ugly hacks then you could perhaps look into using the [[VT VPN]] on top of VT_WLAN.
+
rather than this script to automate login is highly recommended. If you
 +
insist on ugly hacks then you could perhaps look into using the [http://www.vtluug.org/wiki/index.php?title=VT_VPN VPN] on top of VT_WLAN.
  
=Some Technical Details=
+
==Some Technical Details==
 
The access points force SSL and are all signed by the Thawte Premium Server CA. The routers are named:
 
The access points force SSL and are all signed by the Thawte Premium Server CA. The routers are named:
  
* bur-agw-2.cns.vt.edu
+
<ul><li> bur-agw-2.cns.vt.edu
* bur-agw-3.cns.vt.edu
+
</li><li> bur-agw-3.cns.vt.edu
* cas-agw-?.cns.vt.edu
+
</li><li> cas-agw-?.cns.vt.edu
* hil-agw-?.cns.vt.edu
+
</li><li> hil-agw-?.cns.vt.edu
* isb-agw-?.cns.vt.edu
+
</li><li> isb-agw-?.cns.vt.edu
* owe-agw-1.cns.vt.edu
+
</li><li> owe-agw-1.cns.vt.edu
* sha-agw-1.cns.vt.edu
+
</li><li> sha-agw-1.cns.vt.edu
 
+
</li></ul>
 
Generally, in order to minimize congestion, connectivity is spread across multiple channels. Channel 11 seems to be the busiest.
 
Generally, in order to minimize congestion, connectivity is spread across multiple channels. Channel 11 seems to be the busiest.
 
No MAC-based authentication is performed.
 
No MAC-based authentication is performed.
Line 363: Line 384:
  
 
=Network Information Sources=
 
=Network Information Sources=
* [http://www.cns.vt.edu/html/wireless/wlan/index.html Communications Network Services: Wireless LAN]
+
<ul><li> [http://www.cns.vt.edu/html/wireless/wlan/index.html Communications Network Services: Wireless LAN]
* [http://computing.vt.edu/internet_and_web/internet_access/ipaddresses.html Virginia Tech IP Addresses]
+
</li><li> [http://computing.vt.edu/internet_and_web/internet_access/ipaddresses.html Virginia Tech IP Addresses]
 
+
</li></ul>
[[Category:Howto]]
 
[[Category:Import cleanup]]
 

Revision as of 07:09, 13 November 2009

Introduction

Since the 2008-2009 school year, there have been two options for connecting to the Virginia Tech network by wireless card. One network, called VT-Wireless, operates by means of WPA2 Enterprise and is secured with EAP/TLS. The other network, called VT_WLAN, is an unsecured, captive portal wireless network. While connections to VT-Wireless are secure by default, and require no user authentication once set up, the setup to connect to VT-Wireless has a number of steps. In contrast, set up for connecting to the unsecured VT_WLAN network is negligible, but you will be required to manually authenticate each time you connect. [NOTE: see [#VT_WLAN_Auto_Login below] for scripts on how to enable automated authentication to VT_WLAN.] The table below summarizes the advantages and disadvantages of connecting to the two wireless LANs.

<tbody></tbody>
VT-Wireless VT_WLAN
Secure (Encrypted)
Connection
yes no
Setup involved trivial
Authentication automatic manual[#VT_WLAN_Auto_Login *]

VT-Wireless

The VT-Wireless network is secured by WPA with EAP/TLS encryption. This encryption mechanism is put in place through a certificate authentication mechanism.

Obtaining the VT-Wireless Certificate

Regardless of what program you use to make your connection, you will need to obtain your p12 certificate and password from CNS. Complete the form and download the p12 certificate file. Write down the certificate password and store it some place where you can find it again. You will need it in setting up your connection to VT-Wireless.

Connecting by NetworkManager

The setup for NetworkManager depends on your version of the software. Please follow the instructions appropriate to your version below. In GNOME, you can right-click the NetworkManager applet icon in the panel and select "About" to find the version of NetworkManager. Ubuntu users: version 0.6 ships with 8.04 Hardy Heron, and 0.7 ships with 8.10 Intrepid Ibex.

NetworkManager 0.7

Converting the certificate to PEM certificates and keys

[NOTE: The following steps are only necessary to use NetworkManager 0.7. NetworkManager 0.6 has a [#NetworkManager_0.6 more straightforward setup] and wpa_supplicant works pretty much [#Connecting_by_WPA_Supplicant out of the box] as well.] You will need to convert the p12 certificate into PEM formats. We will assume your downloaded p12 file is called netcert-1.p12 and that its password is netcertpasswd. Open a terminal and cd to the directory that contains your p12 file. Then issue the following commands:

openssl pkcs12 -in netcert-1.p12 -out vt_client_cert.pem -clcerts -nokeys
openssl pkcs12 -in netcert-1.p12 -out vt_private_key.pem -nocerts

In each step, you will be prompted for the password (netcertpasswd) that you were issued along with your p12 certificate. Additionally, in the final step where you generate your private key, you will be asked to enter a password. Enter the same password that came with your p12 key. Sources

Make sure you have the CA Certificate

Next, you will need to make sure you have the Thawte CA certificate. In Ubuntu, you should find this certificate as /etc/ssl/certs/Thawte_Premium_Server_CA.pem. If you can't find the certificate, you can copy the text below and paste it into a new file of the same name.

-----BEGIN CERTIFICATE-----
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMC
WkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3du
MR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2Vy
dGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3Rl
IFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
cnZlckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1
OVowgc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQ
BgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcg
Y2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24x
ITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3
DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhI
NTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPL
lyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/qgeN
9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
AQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI
hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZ
a4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcU
Qg==
-----END CERTIFICATE-----


Left-click the NetworkManager applet and select the VT-Wireless network. <a href="http://www.vtluug.org/wiki/index.php?title=Image:Nm_choose_wireless.png" class="image" title="Image:nm_choose_wireless.png"><img alt="Image:nm_choose_wireless.png" src="VT-Wireless_files/Nm_choose_wireless.html" height="255" width="313" border="0"></a> You will see a prompt to configure the connection. First, from the Authentication drop-down menu, select TLS. <a href="http://www.vtluug.org/wiki/index.php?title=Image:Nm_choose_tls.png" class="image" title="Image:nm_choose_tls.png"><img alt="Image:nm_choose_tls.png" src="VT-Wireless_files/Nm_choose_tls.html" height="466" width="494" border="0"></a> Next, fill in the rest of the options: <a href="http://www.vtluug.org/wiki/index.php?title=Image:Nm_vt_wireless_options.png" class="image" title="Image:nm_vt_wireless_options.png"><img alt="Image:nm_vt_wireless_options.png" src="VT-Wireless_files/Nm_vt_wireless_options.html" height="466" width="494" border="0"></a>

<tbody></tbody>
Field Value
SSID VT-Wireless
Wireless Security WPA & WPA2 Enterprise
Authentication TLS
Identity Your VT PID
User Certificate /path/to/vt_client_cert.pem
CA Certificate /etc/ssl/certs/Thawte_Premium_Server_CA.pem
Private Key /path/to/vt_private_key.pem
Private Key Password netcertpasswd

Click "Connect" and you should connect to the VT-Wireless network.

NetworkManager 0.6

Left-click the NetworkManager applet and select VT-Wireless. You will be prompted to enter information about the connection. Here are the entries you should use:

<tbody></tbody>
Field Value
SSID VT-Wireless
Wireless Security WPA2 Enterprise
EAP Method TLS
Key Type Automatic (Default)
Phase2 Type None (Default)
Identity Your VT PID
Password empty
Client Certificate File (None)
CA Certificate File (None)
Private Key File netcert-1.p12
(the certificate downloaded
from VT NetCert)
Private Key Password netcertpasswd

Connecting by wicd(wicked)

Wicd is an alternative to network manager and is used on many light weight systems since it has few requirements and uses your systems own ifconfig/iwconfig commands. It still under active devlopment but is more than stable enough for everyday use. Also NetworkManager has a tendancy to disconnect every 10 minutes for about 20 seconds then it automatically reconnects. Not a show stopper but could be annoying during a web-based assignments. Instead of using TLS, we will be using PEAP. This is a different encryption scheme and is much more simple to setup compared to TLS. I will also try setting up networkmanager with this method later... OK, do you have a VPN password? If not, follow these instructions for setting up your remote VPN login account[1].
Next you need to locate the copy of the Thawte_Premium_Server_CA.pem on your system. For me it was in:

/etc/ssl/certs/

After dillegently locating this file, open up network manager. Click san to make sure your list of devices is up to date. Next click the "Properties" button next to the VT-Wireless at the top of the list (any one is fine really). Make sure there is a check in both "Use these settings for all networks sharing this essid" and "Use encyption". Next in the drop down box right below choose "PEAP with TKIP/MSCHAPV2" This will present you with "Identity", "Password", and "Path to CA Cert" text boxes.

Identity: <Your PID>
Password: <The one you set up earlier for VPN access>
Path to CA Cert: <something like /etc/ssl/certs/Thawte_Premium_Server_CA.pem>

Then just click OK.

  • Note: wicd will "star" out your identity and the path to the CA Cert feilds so don't be alarmed when your ID and the path to the CA Cert get transformed automatically to * when you click away from the text box.
  • Note: This method works for connecting iPhone(s)/iPod Touch(s)
  • These Instructions are based on my own personal setup
Eee PC 901
Ralink rt2860 (staging driver in kernel)
ArchLinux
Xfce 4.6
wicd 1.6.2
kernel 2.6.30

Connecting by WPA Supplicant

Editing wpa_supplicant.conf

Add the following to your /etc/wpa_supplicant.conf file (if no file exists, create it):

network={
    ssid="VT-Wireless"
    key_mgmt=WPA-EAP
    eap=TLS
    identity="PID"
    private_key="/PATH/TO/NETCERT.p12"
    private_key_passwd="PASSWORD"
}

Replace PID with your actual PID (without any trailing @vt.edu), /PATH/TO/NETCERT.p12 with the actual path to your certificate (you can store it in /etc) and PASSWORD with the certificate password given to you when you downloaded the certificate. Note the certificate used here should be the original one you downloaded. Reformatting the certificate is only necessary for NetworkManager 0.7.

Running WPA Supplicant

Ubuntu

In Ubuntu, make sure to shut down NetworkManager with:

sudo /etc/init.d/NetworkManager stop

Next, issue the following command:

sudo wpa_supplicant -B -i wlan0 -D wext -c /etc/wpa_supplicant.conf

Confirm that you are associated with VT-Wireless

sudo iwconfig INTERFACE

where INTERFACE is your wireless card's device interface. Usually this is wlan0 but depending on udev and perhaps other system features, it might appear as ath0, eth1 or something else. Run sudo ifconfig -a to see all your interfaces listed. You should see the words Access Point: followed by a MAC address (e.g., 00:0F:23:EA:4A:01). If instead you see Access Point: not associated. Try the command again. If that still fails, bring down the interface and bring it back up

sudo ifconfig INTERFACE down
sudo ifconfig INTERFACE up

and re-issue the wpa_supplicant command. Next, obtain an IP address. In Ubuntu, this is done with

sudo dhclient INTERFACE

If all goes well, you'll obtain an IP address. Otherwise, you'll receive a timeout for your DHCP request.

Gentoo

If you're already using wpa_supplicant, just restart your interface:

# /etc/init.d/wlan0 restart

This should connect you. If you're not using wpa_supplicant, you'll need to migrate from Wireless Tools to it in order to speak WPA and 802.1X to the VT-Wireless network. Refer to the Gentoo documentation for a step-by-step guide to setting up WPA Supplicant.

VT_WLAN

VT_WLAN service is available in approximately 90% of academic and administrative spaces across the Blacksburg campus. This wireless network is composed of unencrypted IEEE 802.11g access nodes. To limit access to faculty and staff, VT Communications Network Services uses an authentication technology from Bluesocket. You have to register for Customer OnLine Access (COLA) or in person at the Student Telecommunications Office to enable your account.

Authentication

The Bluesocket authentication technology will automatically redirect you to the login page (or hijack the URL you are trying to visit in some cases [cache related?], leading to SSL certificate problems). Simply type in your PID and password to be granted access.

Logging in from the Command Line

You can use CURL to log in from the command line or automate the process.

curl -d which_form=reg -d _FORM_SUBMIT=1 -d bs_name=YOUR_PID -d bs_password=YOUR_PASSWORD \
-d source=`/sbin/ifconfig eth1 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` \
https://`/sbin/route | grep -Eo '(bur|cas|hil|isb|owe|sha)-agw-[123]'`.cns.vt.edu/login.pl

Here is a modified version of the above script so you do not have to store your user name and password. Save it to a file.. 'chmod +x the_file' then run it like so './the_file USER PASS' Note: By doing this the command you use (with your username and pass) will be stored in ~/.bash_history. You might wish to delete that file (or edit it).

#!/bin/bash
curl -d which_form=reg -d _FORM_SUBMIT=1 -d bs_name=$1 -d bs_password=$2 \
-d source=`/sbin/ifconfig eth1 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'` \
https://`/sbin/route | grep -Eo '(bur|cas|hil|isb|owe|sha)-agw-[123]'`.cns.vt.edu/login.pl


Depending on the characters in your password, you may need to quote it to prevent expansion, i.e. bs_password='MY!$?*PASSWORD'. ifconfig and route are located in /sbin and therefore generally not in the $PATH of a normal user. You should be able to run them as such, however.

VT_WLAN Auto Login

Although now antiquated, the following entry put in /etc/conf.d/wireless on a Gentoo machine using Wireless Tools would insecurely but automatically sign in to VT_WLAN.

postup() {
    if [[ ${IFACE} = "wlan0" ]]; then
        ROUTER="$(/sbin/route | grep -Eo '(bur|cas|hil|isb|owe|sha)-agw-[123]')"

        if [[ ! "x${ROUTER}" = "x" ]] ; then
            IP="$(/sbin/ifconfig eth1 | grep 'inet addr:' | cut -d: -f2 \
                | awk '{ print $1}')"

            curl -k -f -s -d which_form=reg -d _FORM_SUBMIT=1 \
                -d bs_name=PID \
                -d bs_password=PASSWORD \
                -d source=${IP} \
                https://${ROUTER}.cns.vt.edu/login.pl
            return $?
        fi
    fi
    return 0
}

PID and PASSWORD should of course be your PID and password. This setup is only really suitable for a single user machine like a laptop. To very slightly improve security you should chmod a-r /etc/conf.d/wireless. This script does not authenticate the access point and would send your password to rogue access points. Using [#VT-Wireless VT-Wireless] rather than this script to automate login is highly recommended. If you insist on ugly hacks then you could perhaps look into using the VPN on top of VT_WLAN.

Some Technical Details

The access points force SSL and are all signed by the Thawte Premium Server CA. The routers are named:

  • bur-agw-2.cns.vt.edu
  • bur-agw-3.cns.vt.edu
  • cas-agw-?.cns.vt.edu
  • hil-agw-?.cns.vt.edu
  • isb-agw-?.cns.vt.edu
  • owe-agw-1.cns.vt.edu
  • sha-agw-1.cns.vt.edu

Generally, in order to minimize congestion, connectivity is spread across multiple channels. Channel 11 seems to be the busiest. No MAC-based authentication is performed. DHCP is independent of of the Bluesocket authentication and occurs first. All wireless networks (including the .1x networks) on campus now use RFC-1918 addresses from the 172.31.0.0/16 network. These are translated with NAT into 198.82.x.x addresses for access outside the wireless network. All of the .1x wireless networks support IPv6. Some of the VT_WLAN networks support IPv6. You can access certain VT sites like CNS without having to authenticate.

Network Information Sources