From 60d72813423d3fcd539934ca08d2ee942d0111a6 Mon Sep 17 00:00:00 2001
From: Neale Pickett
Date: Fri, 11 May 2012 17:56:29 -0600
Subject: [PATCH] New OpenWRT configuration
---
doc/openwrt/README | 82 +++++++-----------
doc/openwrt/etc/config/dhcp | 2 -
doc/openwrt/etc/config/network | 27 ------
doc/openwrt/etc/config/wifi | 9 --
doc/openwrt/etc/init.d/iptables | 26 ------
doc/openwrt/etc/init.d/vlan | 20 -----
doc/openwrt/etc/rc.d/K89iptables | 1 -
doc/openwrt/etc/rc.d/K89vlan | 1 -
doc/openwrt/etc/rc.d/S41vlan | 1 -
doc/openwrt/etc/rc.d/S45iptables | 1 -
doc/openwrt/www/index.html | 18 ++++
doc/openwrt/www/password_strength.png | Bin 0 -> 93029 bytes
.../www/password_strength_reflowed.png | Bin 0 -> 131079 bytes
packages/mcp/www/index.html | 2 +-
14 files changed, 50 insertions(+), 140 deletions(-)
delete mode 100644 doc/openwrt/etc/config/dhcp
delete mode 100644 doc/openwrt/etc/config/network
delete mode 100644 doc/openwrt/etc/config/wifi
delete mode 100755 doc/openwrt/etc/init.d/iptables
delete mode 100755 doc/openwrt/etc/init.d/vlan
delete mode 120000 doc/openwrt/etc/rc.d/K89iptables
delete mode 120000 doc/openwrt/etc/rc.d/K89vlan
delete mode 120000 doc/openwrt/etc/rc.d/S41vlan
delete mode 120000 doc/openwrt/etc/rc.d/S45iptables
create mode 100644 doc/openwrt/www/index.html
create mode 100644 doc/openwrt/www/password_strength.png
create mode 100644 doc/openwrt/www/password_strength_reflowed.png
diff --git a/doc/openwrt/README b/doc/openwrt/README
index cedb2f9..ca6cdad 100644
--- a/doc/openwrt/README
+++ b/doc/openwrt/README
@@ -1,57 +1,37 @@
-This directory contains the files used to set up an OpenWRT router.
+Using an OpenWRT router
+=======================
+You can use an off-the-shelf, OpenWRT capable wireless router,
+configuring only through the web interface. The OpenWRT setup is
+intended for smaller contests, wired or non-wired, in which
+participants can be counted on not to launch link level attacks (ARP
+or NDP). Bear in mind that the cheap consumer routers have relatively
+slow CPUs and won't stand up to high volume.
-Bear in mind that the cheap consumer routers have relatively slow CPUs
-and won't stand up to high volume. This same configuration applies to
-OpenWRT running on an x86 PC, or any other target of OpenWRT. For
-larger contests, it would be a good idea to use a faster machine for the
-router. I don't have any specific recommendations at this time (Oct
-2010).
+The CTF repository includes a "router" package, which will boot a DBTL
+device as a IPv6 router complete with multicast forwarding and up to
+24 tagged VLANs (by using a managed switch). This is a better option
+for larger contests, and can better handle high-speed (Gigabit)
+traffic.
-The router comes up as 10.0.0.1/16 on eth0.
+Instructions for setting up OpenWRT
+-----------------------------------
-If the router has a built-in switch, it is brought up without VLAN
-support, since these switches typically only support 16 VLANs, and do
-not support QinQ (double VLAN tags). All 5 ports work like an unmanaged
-switch, which ends up being handy for the contest table.
+After installing OpenWRT:
-Plugging a managed switch into the router enables access to 48 VLANs,
-each configured to a /16 network. The router on VLAN number v comes up
-as 10.v.0.1/16.
+* Change the root password
+* Install the kmod-ipv6, radvd, and luci-app-radvd packages
+* Configure the LAN interface as 10.0.0.1/16 and
+ fd84:b410:3441::1/64
+* Tell DHCP to begin at 257 after the base IP: this will assure
+ all DHCP addresses are after 10.0.1.0
+* Disable router solicitations on LAN
+* Enable WPA2, with the password "correct horse battery staple"
+* Turn on router advertisements (under radvd) on LAN
+* Enable prefix fd84:b410:3441::1/54 under radvd
-If the router has the ability to come up as a wireless access point, it
-will do so with SSID "CTF" and IP 10.254.0.1/16.
-
-All subnets can route to all other subnets, through the router.
-10.0.0.1/16 and 10.254.0.1/16 may have a higher TTL when routed to a
-VLAN (I haven't checked). Keep in mind that anything connected directly
-to the router (ie. not through the managed switch) can do its own VLAN
-tagging. This would be the way to hop on another team's subnet to do
-something like check service availability in such a way as to prevent
-teams from firewalling each other out.
-
-
- SSID "CTF"
- 10.254.0.1/16
- ((Y))
- |
- -------------
- | OpenWRT |
- -0-1-2-3-4---
- /| | | | |
- / | | | | |
- / | | | | |
- / 10.0.0.1/16
- /
- -------------------t---
- | Managed Switch |
- -1-2-3-4-5-...-47-48---
- / | | \
- / | | \
- / | | \
- / | | \
- 10.1.0.1/16 | | 10.48.0.1/16
- | |
- 10.3.0.1/16 |
- |
- 10.47.0.1/16
+This should be sufficient to bring up the router for running the
+contest. If you want to get fancy, you can scp the files in
+www in this directory, into /www on the router. This will give
+users some guidance if they accidentally browse to the router IP,
+and also disables the default redirection to luci.
diff --git a/doc/openwrt/etc/config/dhcp b/doc/openwrt/etc/config/dhcp
deleted file mode 100644
index 91a9742..0000000
--- a/doc/openwrt/etc/config/dhcp
+++ /dev/null
@@ -1,2 +0,0 @@
-config dnsmasq
- option leasefile '/tmp/dhcp.leases'
diff --git a/doc/openwrt/etc/config/network b/doc/openwrt/etc/config/network
deleted file mode 100644
index d2b22cb..0000000
--- a/doc/openwrt/etc/config/network
+++ /dev/null
@@ -1,27 +0,0 @@
-#### Switch configuration
-config switch eth0
- option enable 1
- option enable_vlan 0
-
-#### Loopback configuration
-config interface loopback
- option ifname "lo"
- option proto static
- option ipaddr 127.0.0.1
- option netmask 255.0.0.0
-
-#### Administrative network
-config interface admin
- option ifname "eth0"
- option proto static
- option ipaddr 10.0.0.1
- option netmask 255.255.0.0
-
-#### Wireless
-config interface wifi
- option proto static
- option ipaddr 10.254.0.1
- option netmask 255.255.0.0
-
-# OpenWRT's "ifup/ifdown" are horribly slow, so the 48
-# vlans are set up in an init script :)
diff --git a/doc/openwrt/etc/config/wifi b/doc/openwrt/etc/config/wifi
deleted file mode 100644
index eefe021..0000000
--- a/doc/openwrt/etc/config/wifi
+++ /dev/null
@@ -1,9 +0,0 @@
-config wifi-device wl0
- option type broadcom
- option channel 1
-
-config wifi-iface
- option device wl0
- option network wifi
- option mode ap
- option ssid CTF
diff --git a/doc/openwrt/etc/init.d/iptables b/doc/openwrt/etc/init.d/iptables
deleted file mode 100755
index f608ac6..0000000
--- a/doc/openwrt/etc/init.d/iptables
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh /etc/rc.common
-
-START=45
-STOP=89
-
-start () {
- stop
-
- iptables -P INPUT ACCEPT
- iptables -P OUTPUT ACCEPT
- iptables -P FORWARD ACCEPT
-
- iptables -A INPUT -p udp --dport 53 -j ACCEPT
- iptables -A INPUT -p udp --dport 67 -j ACCEPT
- iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
- iptables -A INPUT -s 10.0.0.0/16 -j ACCEPT
- iptables -A INPUT -j REJECT
-}
-
-stop () {
- iptables -F INPUT
- iptables -F OUTPUT
- iptables -F FORWARD
-}
-
-
diff --git a/doc/openwrt/etc/init.d/vlan b/doc/openwrt/etc/init.d/vlan
deleted file mode 100755
index 49bbdbd..0000000
--- a/doc/openwrt/etc/init.d/vlan
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh /etc/rc.common
-
-START=41
-STOP=89
-
-VLANS=48
-
-start () {
- for i in $(seq 1 $VLANS); do
- vconfig add eth0 $i
- ifconfig eth0.$i 10.$i.0.1 netmask 255.255.0.0
- done
-}
-
-stop () {
- for i in $(seq 1 $VLANS); do
- vconfig rem eth0.$i
- done
-}
-
diff --git a/doc/openwrt/etc/rc.d/K89iptables b/doc/openwrt/etc/rc.d/K89iptables
deleted file mode 120000
index 17013f0..0000000
--- a/doc/openwrt/etc/rc.d/K89iptables
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/iptables
\ No newline at end of file
diff --git a/doc/openwrt/etc/rc.d/K89vlan b/doc/openwrt/etc/rc.d/K89vlan
deleted file mode 120000
index 444d959..0000000
--- a/doc/openwrt/etc/rc.d/K89vlan
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/vlan
\ No newline at end of file
diff --git a/doc/openwrt/etc/rc.d/S41vlan b/doc/openwrt/etc/rc.d/S41vlan
deleted file mode 120000
index 444d959..0000000
--- a/doc/openwrt/etc/rc.d/S41vlan
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/vlan
\ No newline at end of file
diff --git a/doc/openwrt/etc/rc.d/S45iptables b/doc/openwrt/etc/rc.d/S45iptables
deleted file mode 120000
index 17013f0..0000000
--- a/doc/openwrt/etc/rc.d/S45iptables
+++ /dev/null
@@ -1 +0,0 @@
-../init.d/iptables
\ No newline at end of file
diff --git a/doc/openwrt/www/index.html b/doc/openwrt/www/index.html
new file mode 100644
index 0000000..814d688
--- /dev/null
+++ b/doc/openwrt/www/index.html
@@ -0,0 +1,18 @@
+
+
+
+ Router
+
+
+
+ You're in the wrong place. This is the router.
+
+
+
+
diff --git a/doc/openwrt/www/password_strength.png b/doc/openwrt/www/password_strength.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0439fa426f79e089e4489bee12faa8eab5e2097
GIT binary patch
literal 93029
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