User Tools

Site Tools


uverse_hacking

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
uverse_hacking [2020/08/24 00:07]
pengc99
uverse_hacking [2021/10/02 06:46] (current)
pengc99 [Generate / Uplink wpa_supplicant Files]
Line 1: Line 1:
-== Hardware Needed ==+====== Background ====== 
 +AT&T Uverse service is a triple-play service (internet, phone, and TV) provided by AT&T - depending on what service is available in your area you may be getting FTTH (Fiber to the Home), FTTN (Fiber to the Node), or VDSL (either bonded or unbonded). 
 + 
 +FTTN and VDSL both use VDSL2 connectivity from your house to the network. The advantage with FTTN over FTTH is reduced deployment costs for MDUs (Multiple Dwelling Units, such as duplexes or apartment complexes) - AT&T only has to run fiber to a local node that then serves VDSL2 to the customers. 
 + 
 +The problem isn't the service, the problem is with the Residential Gateway that AT&T provides. It's a decently powerful unit that allows for triple play services. However, there are a lot of limitations in the RG, namely the limitation of ~8000 NAT sessions, a poor interface with very limited options, and no true passthrough. 
 + 
 +But wait! IP Passthrough? Why not just use that? The problem is **if you're using IP Passthrough, the RG still tracks all connections going through the RG**. Once you hit the connection limit of 8000 connections, which admittedly is more than most people need, the RG will refuse new connections.  
 + 
 +I've also had some instances where the RG will spontaneously reboot or crash and hang when under heavy usage. I needed to explore options on how to bypass the RG and use my own (hopefully more sane) DSL modem that doesn't do any connection tracking is just a pure layer 2 bridge between AT&T's VDSL network and my router.  
 + 
 +Doing some research, my particular VDSL service is unbonded so it only uses one pair of copper lines. This is important because the only DSL modem that is supported by OpenWRT is the Netgear DM200, which only supports unbonded VDSL. 
 + 
 +**If you have bonded VDSL service, this will probably not work for you.** 
 + 
 +Why do we have to use OpenWRT, and not just use the DM200 in bridge mode with the stock firmware? The reason is because AT&T uses EAPOL authentication instead of every other sane DSL provider that uses PPPoE. There are a few benefits to this, namely authentication is provided by certificates and not usernames and passwords, and also there is no need for MTU shifting. 
 + 
 +The downside is that in my testing, the DM200 in bridge mode does not forward EAPOL / 802.1x packets to the DSL link. This is by design in bridged interfaces, but there is a workaround for it. However, testing the workaround did not solve the problem. 
 + 
 +The solution was to run wpa_supplicant on the DM200 itself so the DM200 can authenticate using EAPOL, then bridge the DSL line to the Ethernet line so raw layer 2 traffic is sent to my router. 
 + 
 +In this configuration, the DM200 does not connection tracking and no firewall. The only purpose of the DM200 is to run wpa_supplicant for authentication, and to bridge the DSL and Ethernet links.  
 + 
 +====== Hardware Needed ======
   *Netgear DM200 VDSL modem    *Netgear DM200 VDSL modem 
   *AT&T Uverse Router / Gateway BGW210-700   *AT&T Uverse Router / Gateway BGW210-700
   *A router that is capable of setting VLANs on the WAN / Ethernet interface   *A router that is capable of setting VLANs on the WAN / Ethernet interface
     *I'm using a Ubiquiti Unifi Security Gateway Pro 4 port. Any prosumer or professional router should allow you to set the vlan on the WAN interface, but I haven't seen this option in consumer Linksys / Netgear etc type routers. You may need to flash an alternative firmware like OpenWRT to get this if you have a consumer grade router.     *I'm using a Ubiquiti Unifi Security Gateway Pro 4 port. Any prosumer or professional router should allow you to set the vlan on the WAN interface, but I haven't seen this option in consumer Linksys / Netgear etc type routers. You may need to flash an alternative firmware like OpenWRT to get this if you have a consumer grade router.
-== Software Needed ==+====== Software Needed ======
   *curl (already installed on recent Windows 10 builds)   *curl (already installed on recent Windows 10 builds)
   *7zip - https://www.7-zip.org/   *7zip - https://www.7-zip.org/
Line 28: Line 51:
     -''openssh-sftp-server''     -''openssh-sftp-server''
  
-== Extract Certificates From AT&T UVerse RG ==+====== Extract Certificates From AT&T UVerse RG ======
   -Unzip AT&T RG Uverse firmware package - we're looking for ''spTurquoise210-700_1.0.29.bin''   -Unzip AT&T RG Uverse firmware package - we're looking for ''spTurquoise210-700_1.0.29.bin''
   -Disconnect the DSL cable from the UVerse RG.    -Disconnect the DSL cable from the UVerse RG. 
Line 62: Line 85:
   -Extract the tar.gz file - you'll end up with a directory that contains three ''pem'' formatted certificates, a sample ''wpa_supplicant.conf'' file, and a ''readme.txt'' file.    -Extract the tar.gz file - you'll end up with a directory that contains three ''pem'' formatted certificates, a sample ''wpa_supplicant.conf'' file, and a ''readme.txt'' file. 
  
-== Generate / Uplink wpa_supplicant Files ==+====== Generate / Uplink wpa_supplicant Files ======
   -Create a new text file, and paste the following into it and save it as ''99_dsl_eapol.sh'' - you can also just click on the link below and download it.<code - 99_dsl_eapol.sh>#!/bin/sh   -Create a new text file, and paste the following into it and save it as ''99_dsl_eapol.sh'' - you can also just click on the link below and download it.<code - 99_dsl_eapol.sh>#!/bin/sh
  
Line 90: Line 113:
 identity="18:9C:27:18:ED:F1" # Internet (ONT) interface MAC address must match this value identity="18:9C:27:18:ED:F1" # Internet (ONT) interface MAC address must match this value
 key_mgmt=IEEE8021X key_mgmt=IEEE8021X
-phase1="allow_canned_success=1"+phase1="allow_canned_success=1 tls_disable_time_checks=1"
 private_key="/etc/wpa_supplicant/PrivateKey_PKCS1_001E46-27058949910000.pem"</code> private_key="/etc/wpa_supplicant/PrivateKey_PKCS1_001E46-27058949910000.pem"</code>
   -Open FileZilla and connect to the DM200 modem using the sftp protocol as the ''root''   -Open FileZilla and connect to the DM200 modem using the sftp protocol as the ''root''
Line 109: Line 132:
   -At this point the DSL modem should have authenticated using EAPOL using ''wpa_supplicant'', and you should be able to get a IP address and access the internet!   -At this point the DSL modem should have authenticated using EAPOL using ''wpa_supplicant'', and you should be able to get a IP address and access the internet!
  
-== Known Problems ==+====== Known Problems ======
   *DSL training sometimes gets hung up on the DM200. This only happens with the OpenWRT firmware and I haven't been able to figure out why. Power cycling usually solves the problem.    *DSL training sometimes gets hung up on the DM200. This only happens with the OpenWRT firmware and I haven't been able to figure out why. Power cycling usually solves the problem. 
   *Currently there is no way to access the DM200 to configure or view settings. On most DSL / cable modems, it is accessible on a static IP address such as ''192.168.100.1'' or ''192.168.5.1'' even after it has connected to the ISP network. I tried assigning an IP address to the bridge interface on the DM200, but I still can't access it.   *Currently there is no way to access the DM200 to configure or view settings. On most DSL / cable modems, it is accessible on a static IP address such as ''192.168.100.1'' or ''192.168.5.1'' even after it has connected to the ISP network. I tried assigning an IP address to the bridge interface on the DM200, but I still can't access it.
uverse_hacking.1598245628.txt.gz · Last modified: 2020/08/24 00:07 by pengc99