[kwlug-disc] OpenWRT: DHCP/VLAN problems
Paul Nijjar
paul_nijjar at yahoo.ca
Sat Aug 13 05:28:28 EDT 2011
I have a Linksys WRT54GL running OpenWRT backfire.
Here is what I want:
0. A trunk with two VLANs (tagged 2 and 3) going in on the "wan" port
(port 4 on the device). I think that is not yet relevant to
the problem, but setting up VLANs may be messing other things up.
1. Two different networks handled by the device:
- The "WR" network consists of two of the LAN ports (0 and 1)
- The "66APT" network consists of the other two LAN ports (2 and 3)
and the wireless device.
2. No DHCP server running on the device. Both of the networks
interfaces should have addresses, but they will get those addresses
from someplace else (say coming in on the LAN ports). Assume that each
of the WR and 66APT networks has exactly one wired connection which
answers DHCP requests.
3. No firewalling or NAT.
So basically I am looking for this device to be a smart switch that
can offer wireless and handle VLANs, as opposed to a firewall or a
router.
I have been twiddling with configuration files, but I can't get the
setup to work right. Even ignoring the trunking, I cannot get the LAN
ports to accept DHCP requests. In the configuration below, the
wireless (!) accepted DHCP requests and assigned the "66APT" interface
an address accordingly, but neither the WR nor the 66APT LAN ports
will accept DHCP, and I don't know why.
HOWEVER, the LAN ports allow DHCP packets through just fine. If I hook
up a laptop to one port and a cable from my DHCP server to the other
LAN port in a group, then the laptop gets a DHCP address just fine.
But the WRT54GL does not accept DHCP requests itself, and I am not
sure why. I suspect I do not understand Linux bridging well at all.
Here are some ways I twiddled the files:
- Clearing the firewall file entirely
- Twiddling with making port 5 (the internal port connected to the
CPU) tagged or untagged
- Twiddling with commenting out all references to VLAN tagging
In the worst case I have to set static IP addresses and move on to the
VLAN configuration (which is the point of this exercise) but I am
getting frustrated that I don't even know why OpenWRT is behaving the
way it is. Any thoughts?
Here is my /etc/config/network file:
=======================
config 'switch' 'eth0'
option 'enable' '1'
config 'switch_vlan' 'eth0_0'
option 'device' 'eth0'
option 'vlan' '2'
option 'ports' '0 1 4t 5t'
config 'switch_vlan' 'eth0_1'
option 'device' 'eth0'
option 'vlan' '3'
option 'ports' '2 3 4t 5t'
config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'
config 'interface' '66APT'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'dhcp'
#option 'proto' 'static'
#option 'netmask' '255.255.255.0'
#option 'ipaddr' '172.26.98.2'
config 'interface' 'WR'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
=======================
Here is my /etc/config/wireless
=======================
config 'wifi-device' 'wl0'
option 'type' 'broadcom'
option 'disabled' '0'
option 'channel' '11'
config 'wifi-iface'
option 'device' 'wl0'
option 'network' '66APT'
option 'mode' 'ap'
option 'ssid' 'mynetwork'
option 'encryption' 'psk'
option 'key' 'topsecret'
#option 'isolate' '1'
=======================
Here is my /etc/config/dhcp file:
=======================
config dnsmasq
option domainneeded 1
option boguspriv 1
option filterwin2k '0' #enable for dial on demand
option localise_queries 1
option local '/lan/'
option domain 'lan'
option expandhosts 1
option nonegcache 0
option authoritative 1
option readethers 1
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
#list server '/mycompany.local/1.2.3.4'
#option nonwildcard 1
#list interface br-66APT
#list notinterface lo
config dhcp 66APT
option interface 66APT
option ignore 1
#option start 100
#option limit 150
#option leasetime 12h
config dhcp WR
option interface WR
option ignore 1
=======================
Here is my /etc/config/firewall file (which I suspect might be useless
since I did not rename interfaces in this file:
=======================
config option 'syn_flood' '1'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
config 'zone'
option 'name' 'lan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
config 'zone'
option 'name' 'wan'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'
option 'mtu_fix' '1'
config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan'
option 'mtu_fix' '0'
config 'rule'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'
config 'rule'
option 'src' 'wan'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'ACCEPT'
config 'include'
option 'path' '/etc/firewall.user'
======================
- Paul
--
http://pnijjar.freeshell.org
More information about the kwlug-disc
mailing list