Ubiquiti - Configuring an EdgeRouter X to Replace a CenturyLink Router
Published: Ubiquiti Estimated reading time: ~5 minutes
Previously, I discussed various options when considering the replacement of a CenturyLink Technicolor C2000T router/modem in Getting Rid of the CenturyLink Router.
Time to get rid of the CenturyLink router. With the Ubiquiti EdgeRouter X plugged in, and the eth1 port hooked up to my laptop’s LAN port, getting to the login was easy enough.
In the Windows Network and Sharing Center, I selected the ethernet adapter’s properties and gave it a static IP of 192.168.1.100
with a subnet mask of 255.255.255.0
Next, I pointed the browser to 192.168.1.1
and was greeted with the EdgeMax login screen. The default user name and password are both ubnt.
There were a lot of settings, so I wandered over to https://community.ubnt.com/t5/EdgeMAX/CenturyLink-FTTH-w-Prism-IPTV-working-with-hardware-offload/td-p/1343070 and grabbed the following script for FTTH and Prism.
firewall {
all-ping enable
broadcast-ping disable
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "packets from Internet to LAN"
enable-default-log
rule 1 {
action accept
description "allow established sessions"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 3 {
action accept
description "allow multicast UDP in"
log disable
protocol udp
source {
address 224.0.0.0/4
}
}
rule 4 {
action accept
description "allow CenturyLink Prism multicast UDP in"
log disable
protocol udp
source {
address 67.12.0.0/15
}
}
rule 5 {
action accept
description "allow CenturyLink Prism multicast UDP in"
log disable
protocol udp
source {
address 151.118.0.0/16
}
}
rule 6 {
action drop
description "drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
name WAN_LOCAL {
default-action drop
description "packets from Internet to the router"
enable-default-log
rule 1 {
action accept
description "allow established session to the router"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 2 {
action accept
description "allow IGMP in"
log disable
protocol igmp
}
rule 3 {
action drop
description "drop invalid state"
log enable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
ethernet eth0 {
duplex auto
speed auto
vif 201 {
address dhcp
description "CenturyLink VLAN"
firewall {
in {
name WAN_IN
}
local {
name WAN_LOCAL
}
}
}
}
ethernet eth1 {
address 192.168.53.1/24
duplex auto
speed auto
}
ethernet eth2 {
disable
duplex auto
speed auto
}
loopback lo {
}
}
protocols {
igmp-proxy {
interface eth0.201 {
alt-subnet 0.0.0.0/0
role upstream
threshold 1
}
interface eth1 {
alt-subnet 0.0.0.0/0
role downstream
threshold 1
}
}
}
service {
dhcp-server {
disabled false
hostfile-update disable
shared-network-name eth1 {
authoritative disable
subnet 192.168.53.0/24 {
default-router 192.168.53.1
dns-server 192.168.53.1
lease 86400
start 192.168.53.100 {
stop 192.168.53.199
}
}
}
}
dns {
forwarding {
cache-size 150
listen-on eth1
}
}
gui {
https-port 443
}
nat {
rule 5000 {
description NAT
log disable
outbound-interface eth0.201
protocol all
type masquerade
}
}
ssh {
port 22
protocol-version v2
}
}
system {
conntrack {
expect-table-size 4096
hash-size 4096
table-size 32768
tcp {
half-open-connections 512
loose enable
max-retrans 3
}
}
host-name ubnt
login {
user ubnt {
authentication {
encrypted-password $1$zKNoUbAo$gomzUbYvgyUMcD436Wo66.
}
level admin
}
}
name-server 8.8.8.8
name-server 8.8.4.4
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
ipv4 {
forwarding enable
vlan enable
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone America/Denver
}]
So, I copied that to a text file.
Next, I fired up Putty to take a look at the EdgeOS Command Line Interface (CLI). Pointing Putty to 192.168.1.1
and using the default ubnt user/pass combo, I was in.
Then, I fired up WinSCP, but FileZilla should do just as well. Again pointing to 192.168.1.1
and logging in with the default.
The first thing I did was to back up the original config file. There are CLI operations to do this, but I was in the FTP client anyway.
I went up to the root and copied /config/config.boot
to my local machine. Then, I edited the config.boot
file on the router. I copied the config from the ubnt forum into the router’s boot.config
, saved it, then went back to Putty and issued a reboot command.
The script above turns on DHCP using the 192.168.53.0
range. I went back into my ethernet settings and turned on DHCP discovery. When the router rebooted, I was able to browse to 192.168.53.1
and log into the web gui. Scuttling over to the users tab, I did the following:
- Create a new admin user with a strong password.
- Log out.
- Log in with the new admin user.
- Delete the original admin user.
- Shutdown the router.
Now it was time to hook up the WAN to to eth0 and the LAN to eth1.
Voila!
Now you can hook up a wireless router to eth1
or look at setting up WAPs instead.
I got some great start on this project by reading a post the following post. It has some good pointers on what to look for in your CenturyLink setup to make sure this solution will work for you.
http://kmwoley.com/blog/bypassing-needless-centurylink-wireless-router-on-gigabit-fiber/