{"id":883,"date":"2013-04-16T16:03:59","date_gmt":"2013-04-16T20:03:59","guid":{"rendered":"https:\/\/infotechguy.net\/?p=883"},"modified":"2025-02-22T13:14:21","modified_gmt":"2025-02-22T18:14:21","slug":"multiple-access-points-over-802-1q-using-openwrtpart1","status":"publish","type":"post","link":"https:\/\/infotechguy.net\/?p=883","title":{"rendered":"OpenWRT &#8212; Multiple Access Points With 802.1Q (part1)"},"content":{"rendered":"<p>I set out on this home project with the intent of providing wireless internet to friends and family when visiting. I wanted to provide internet without allowing any malicious clients from consuming all my bandwidth and\/or crippling my internal home network. There are many Wireless Access Points(WAP) that are capable of broadcasting multiple SSIDs. Cisco makes a few from their Aironet series, however they seem to be pretty expensive. I settled with a Netgear WNDR3700 after reading a few posts on <a href=\"http:\/\/hardforum.com\" target=\"_blank\" rel=\"noopener noreferrer\">hardforum.com<\/a> that had success running OpenWRT.<\/p>\n<p><a href=\"https:\/\/openwrt.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">OpenWRT<\/a> is an third-party firmware designed for consumer based Access Points, such as Netgear, Linksys, Dlink, etc. OpenWRT adds many additional features, including the two features I needed. Support for 802.1Q trunking and gives the ability to run multiple SSID wireless signals.<\/p>\n<h3>Topology<\/h3>\n<p><a href=\"http:\/\/s6.postimg.org\/edzl0ay9t\/Open_WRT_802_1_Q.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/s6.postimg.org\/edzl0ay9t\/Open_WRT_802_1_Q.png\" alt=\"\" \/><\/a><a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/Open-WRT-802-1-Q.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3512\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/Open-WRT-802-1-Q-300x172.png\" alt=\"\" width=\"600\" height=\"344\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/Open-WRT-802-1-Q-300x172.png 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/Open-WRT-802-1-Q-1024x586.png 1024w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/Open-WRT-802-1-Q-768x439.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/Open-WRT-802-1-Q.png 1197w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<!--more--><\/p>\n<h3>Installing OpenWRT<\/h3>\n<ol>\n<li>\n<h4>Download OpenWRT for Netgear WNDR3700<\/h4>\n<p>Visit the OpenWRT download site, <a href=\"http:\/\/downloads.openwrt.org\/backfire\/10.03.1\/ar71xx\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. Download the firmware image named openwrt-ar71xx-wndr3700-squashfs-factory.img<\/li>\n<li>\n<h4>Upload firmware<\/h4>\n<p>Connect to the Netgear WNDR3700 using an Ethernet cable, the instructions for uploading the firmware warn against doing it over wireless.<\/li>\n<li>\n<h4>Verify firmware change<\/h4>\n<p>The only point of this step is to verify that the new firmware was a success. We changed the OS running from the factory Netgear firmware to OpenWRT. Visit <a href=\"http:\/\/192.168.1.1\">http:\/\/192.168.1.1<\/a>, you should say the following:<br \/>\n<a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/OpenWRT_Homepage.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3516\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/OpenWRT_Homepage-300x69.png\" alt=\"\" width=\"601\" height=\"138\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/OpenWRT_Homepage-300x69.png 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/OpenWRT_Homepage-1024x236.png 1024w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/OpenWRT_Homepage-768x177.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/OpenWRT_Homepage.png 1046w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/openWRT_statuspage.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3518\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/openWRT_statuspage-300x158.png\" alt=\"\" width=\"600\" height=\"316\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/openWRT_statuspage-300x158.png 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/openWRT_statuspage-1024x541.png 1024w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/openWRT_statuspage-768x406.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/openWRT_statuspage.png 1032w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><strong>NOTICE:<\/strong> <em>Verify the Firmware Version.<\/em><\/li>\n<\/ol>\n<h3>Configure OpenWRT<\/h3>\n<ol>\n<li>\n<h4>Configuring our 1st SSIDs<\/h4>\n<p>The <strong>two(2) SSIDs<\/strong> that we will be configuring will be named <strong>secureWiFi<\/strong> and <strong>insecureWiFi<\/strong>. To do this go to the Web Configuration page of the Netgear Router, <a href=\"http:\/\/192.168.1.1\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/192.168.1.1<\/a> (or whatever you have yours is IP&#8217;d for). Click on the main Network tab, and the WiFi subtab. This will list the following WiFi SSIDs defined. On a fresh firmware install it will be named OpenWRT and there should be only a single instance of it. Click Edit next to the OpenWRT SSID, change the name of the SSID to <strong>secureWiFi<\/strong>, then click <strong>Save &amp; Apply.<\/strong><br \/>\n<a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/editSSID.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3520\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/editSSID-300x232.png\" alt=\"\" width=\"603\" height=\"466\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/editSSID-300x232.png 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/editSSID-768x595.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/editSSID.png 910w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><\/li>\n<li>\n<h4>Configuring our 2nd SSID<\/h4>\n<p>We will now add an additional SSID and name it insecureWiFi. On the Netgear Router&#8217;s page, go back to the Network tab and WiFi tab. <strong>Change the SSID name from OpenWRT to insecureWiFi<\/strong>.<br \/>\n<a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/edit-SSID2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3519\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/edit-SSID2-263x300.png\" alt=\"\" width=\"601\" height=\"686\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/edit-SSID2-263x300.png 263w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/edit-SSID2-899x1024.png 899w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/edit-SSID2-768x875.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/edit-SSID2.png 927w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/li>\n<li>\n<h4>Configuring Interfaces in OpenWRT<\/h4>\n<p>For the next part, we need to configure two separate interfaces on the OpenWRT router. These two separate interfaces will physically separate the two(2) different WiFi Access Points. We will need two separate IP network segemnets as well. For this article the two(2) IP networks will be <strong>192.168.0.0\/24<\/strong> and <strong>192.168.1.0\/24<\/strong>. To do this, go to the Network tab, then the Interfaces subtab. Here there should already be one or two default interfaces. Click the button for Add New Interface(s). On the next page, Fill out the <strong>Name of the New Interface, &#8220;secure&#8221;<\/strong>. Check the box for <strong>&#8220;Create a bridge over multiple interfaces&#8221;<\/strong>. Under the section <strong>&#8220;Cover the following interfaces&#8221;<\/strong> Check of the <strong>Wireless Network &#8220;OpenWRT&#8221;<\/strong> or whatever you called yours that you would like to be associated with this &#8220;secure&#8221; interface&#8221; we are creating. The last part is to check the box for <strong>&#8220;Custom Interface&#8221;<\/strong> and add the <strong>label &#8220;eth1.100&#8221;<\/strong>. Now the <strong>eth1<\/strong> is the physical interface of the WAN port, see <a href=\"http:\/\/wiki.openwrt.org\/doc\/networking\/network.interfaces\" target=\"_blank\" rel=\"noopener noreferrer\">diagram<\/a>. The <strong>&#8220;.100&#8221;<\/strong> means add a virtual interface or VLAN interface with <strong>VLAN ID (VID) 100.<\/strong><\/p>\n<p><a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/add-Interface.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3521\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/add-Interface-263x300.png\" alt=\"\" width=\"601\" height=\"686\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/add-Interface-263x300.png 263w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/add-Interface-899x1024.png 899w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/add-Interface-768x875.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/add-Interface.png 927w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/li>\n<li>\n<h4>802.1Q Trunking<\/h4>\n<p>Now have to set the trunk port on the Netgear Access-point. Browse to the <strong>Network tab<\/strong> and then to the <strong>Switch subtab<\/strong>. Here You&#8217;ll see some information regrading the ports on the Netgear router and the VLAN IDs. With a new install there should be only VLAN ID 1 and it will be untagged on every port. This is the native VLAN, which pretty much means it is the only VLAN that will always be untagged for every interface, see <a href=\"http:\/\/etherealmind.com\/basics-cisco-ios-native-vlans\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p>Ok so Click Add button to add a new row. In the new row that appears type in <strong>100<\/strong> in for the VLAN ID. <strong>Make sure every port number, except port 5 is off. Port 5 is tagged.<\/strong> <strong>Port 5 = WAN port <\/strong>on the back of the Netgear device. Perform this step again for our Guest\/Insecure <strong>VLAN 110.<\/strong> Last step is to ensure the checkbox is checked for <strong>Enable VLAN Functionality.<\/strong><\/p>\n<p><a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/VLANsw-itch-Tab.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3523\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/VLANsw-itch-Tab-264x300.png\" alt=\"\" width=\"602\" height=\"684\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/VLANsw-itch-Tab-264x300.png 264w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/VLANsw-itch-Tab-901x1024.png 901w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/VLANsw-itch-Tab-768x873.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/VLANsw-itch-Tab.png 929w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p><strong>NOTICE:<\/strong> <em>We have just created one end of a trunk link. The Netgear device will now tag Frames with VLAN ID 100 and 110 out Port5\/WAN port.<\/em><\/li>\n<li>\n<h4>Optional: Set Device IP for Insecure Network<\/h4>\n<p>As of now we have successfully configured our Layer 2 network. However, if we were to connect to our Guest\/Insecure network we would not be able to reach our Netgear device from an IP perspective. Meaning guests could not access the Netgear configuration page. This is only to make troubleshooting in the next section easier, you can remove it later if you are worried about security.<\/p>\n<p>So browse to the <strong>Network Tab<\/strong>, then to the <strong>Interfaces<\/strong> subtab. Here you should see another subtab from earlier steps that shows our insecure interface. Click on that and there will be a <strong>Common Configuration <\/strong>section, with Status, Protocol, etc. <strong>Change the protocol to static address<\/strong>. There is an option for &#8220;Unmanaged&#8221; that would effectively mean that you cannot access the management part of the Netgear device through this interface. Fill in the IP information for our <strong>192.168.1.0\/24 network<\/strong>.<\/p>\n<p><a href=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/untrusted-Static-IP.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3524\" src=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/untrusted-Static-IP-300x183.png\" alt=\"\" width=\"600\" height=\"366\" srcset=\"https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/untrusted-Static-IP-300x183.png 300w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/untrusted-Static-IP-768x468.png 768w, https:\/\/infotechguy.net\/wp-content\/uploads\/2021\/03\/untrusted-Static-IP.png 889w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/li>\n<li>\n<h4>Save &amp; Apply<\/h4>\n<p>Go ahead and hit the Save &amp; Apply button.<\/li>\n<\/ol>\n<h3>Switch Configuration<\/h3>\n<ol>\n<li>\n<h4>Physical Configuration<\/h4>\n<p>On your VLAN capable switch, choose an interface that will be used as a trunk interface. For this tutorial I am using a PowerConnect 5324 with 24 Gigabit ports. I will be using port 20 for the trunk between our Netgear device and the PoweConnect switch. I also have another Trunk port, port 24 which is a trunk between my Linux Firewall and the PowerConnect switch.<\/p>\n<p>Go ahead and plug in the WAN on the Netgear AP to the trunk port on the switch that you chose.<\/li>\n<li>\n<h4>Configuring the Switch<\/h4>\n<p>Terminal into your switch. Now depending on what manufacture you have the commands may be a little different. But, really all we need to accomplish is add our two VLANs (100 &amp; 110) to the VLAN database, and change the mode of the switch interface you picked to a trunk interface.<\/li>\n<li>\n<h4>Adding to the VLAN Database<\/h4>\n<p>On the PowerConnect:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SW1 configure\r\nSW1(config)vlan database\r\nSW1(config-vlan)vlan 100\r\nvlan 110\r\nSW1(config-vlan) exit\r\nSW1(config)\r\n<\/pre>\n<p>Assign VLAN Names:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SW1 configure\r\nSW1(config) interface vlan 100&lt;\r\nW1(config-if) name SecureVLAN\r\nSW1(config-if) exit\r\nSW1(config) interface vlan 110\r\nSW1(config-if) name InsecureVLAN\r\nSW1(config-if) exit\r\nSW1(config) exit<\/pre>\n<\/li>\n<li>\n<h4>Assigning Trunk Ports<\/h4>\n<p><em>Using interface <strong>g20<\/strong> as Trunk port<\/em><\/p>\n<p>On the PowerConnect:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SW1 configure\r\nSW1(config) interface ethernet g20\r\nSW1(config-if) switchport mode trunk\r\n switchport trunk allowed 100\r\n switchport trunk allowed 110\r\n<\/pre>\n<\/li>\n<li>\n<h4>Configuring Access VLAN Ports<\/h4>\n<p>Access Ports are interfaces that 99% of the time are connected directly to an end user device, such as a computer or server. Sometimes referred to untagged ports, etc. These next steps will be heavliy relative to your physical set up. For me, I know on my PowerConnect 24-port switch that ports 1-19 are secure and trusted. These ports go directly to network drops in my house so I know they are secure. The remaining ports 20-24 are untrusted and insecure, at least I left them open to be used that way. Remember Your Scenario May Be Different.<\/p>\n<p>Assigning Access Ports on the PowerConnect:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SW1 configure\r\nSW1(config) interface range ethernet g1-19\r\n<\/pre>\n<p><strong>NOTICE:<\/strong> <em>This allows me to configure multiple interfaces within a range.<\/em><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">SW1(config-if) switchport access vlan 100<\/pre>\n<p><strong>NOTICE:<\/strong> <em>We don&#8217;t do the same thing for our guest network or insecure network. There is no point as none of my network drops in my house I want on the insecure network.<\/em><\/li>\n<\/ol>\n<h2>That&#8217;s it for the first part!<\/h2>\n<p>We have a trunk link going from our PowerConnect Switch to our Netgear Access Point. Wahoo!<\/p>\n<h4>See <a title=\"Multiple Access Points Over 802.1Q using OpenWRT(part1)\" href=\"https:\/\/infotechguy.net\/multiple-access-points-over-802-1q-using-openwrtpart1\/\">part 1<\/a>, <a title=\"Multiple Access Points Over 802.1Q using OpenWRT(part2)\" href=\"https:\/\/infotechguy.net\/multiple-access-points-over-802-1q-using-openwrtpart2\/\">part 2<\/a><\/h4>\n<ul>Sources:<\/p>\n<li><a title=\"WNDR3700\" href=\"http:\/\/www.netgear.com\/home\/products\/wirelessrouters\/high-performance\/wndr3700.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.netgear.com\/home\/products\/wirelessrouters\/high-performance\/wndr3700.aspx<\/a><\/li>\n<li><a href=\"https:\/\/openwrt.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">OpenWRT<\/a><\/li>\n<li><a href=\"http:\/\/wiki.openwrt.org\/toh\/netgear\/wndr3700\" target=\"_blank\" rel=\"noopener noreferrer\">OpenWRT WNDR3700 Wiki page<\/a><\/li>\n<li><a href=\"http:\/\/etherealmind.com\/basics-cisco-ios-native-vlans\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/etherealmind.com\/basics-cisco-ios-native-vlans\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I set out on this home project with the intent of providing wireless internet to friends and family when visiting. I wanted to provide internet without allowing any malicious clients from consuming all my bandwidth&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":4272,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[141],"tags":[112,129],"class_list":["post-883","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-openwrt","tag-security-2","tag-wifi"],"_links":{"self":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=883"}],"version-history":[{"count":2,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/883\/revisions"}],"predecessor-version":[{"id":4274,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/posts\/883\/revisions\/4274"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=\/wp\/v2\/media\/4272"}],"wp:attachment":[{"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infotechguy.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}