Changes between Version 62 and Version 63 of WikiStart
- Timestamp:
- May 21, 2013, 2:11:10 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WikiStart
v62 v63 50 50 Voor het opleveren van veel AP's (batches) met unieke instelligen zal er uiteindelijk een configuratie script volgen waarmee op basis van het MAC-adres van het AP een aantal unieke parameters meegegeven kunnen worden voor de configuratie: MultiSSID, hostname, kanaal, ipadres(bedraad/draadloos), etc... vergeet de unieke openvpn client certificaten niet, tevens zouden er per AP unieke client gegevens om met de radius-proxy/server te communiceren gemaakt kunnen worden. 51 51 52 Door het gebruik van het opensource software [http://www.openwrt.org OpenWRT], [http://www.freebsd.org FREEBSD]/[http://www.debian.org Debian] en gerelateerde software projecten (isc- , is deze setup niet gelimiteerd aan een enkel merk en of type hardware. Een kleine aanpassing aan de configuratie bestanden zou een vereiste kunnen zijn voordat het op ander hardware platvorm werkt. Deze handleiding zal overigens alleen toegespitst zijn op Ubiquiti AP's zoals Bullet m2 HP/ Nano station/loco m2 en via-epia-m/alixboard als radiusproxy/server & gateway. Als uitgangssituatie om deze handleiding uit te voeren word ubuntu 12.04LTS AMD64 gebruikt!52 Door het gebruik van het opensource software [http://www.openwrt.org OpenWRT], [http://www.freebsd.org FREEBSD]/[http://www.debian.org Debian] en gerelateerde software projecten (isc-dhcp-server/freeradius/openvpn/, is deze setup niet gelimiteerd aan een enkel merk en of type hardware. Een kleine aanpassing aan de configuratie bestanden zou een vereiste kunnen zijn voordat het op ander hardware platvorm werkt. Deze handleiding zal overigens alleen toegespitst zijn op Ubiquiti AP's zoals Bullet m2 HP/ Nano station/loco m2 en via-epia-m/alixboard als radiusproxy/server & gateway. Als uitgangssituatie om deze handleiding uit te voeren word ubuntu 12.04LTS AMD64 gebruikt! 53 53 54 54 *Wat niet behandeld gaat worden is het aanmaken van een user-database/list voor de radius server, aangezien alle users extern via proxy geauthenticeerd worden en niet intern want Wireless Leiden is geen eduroam identityprovider! … … 56 56 === 1 setup eduroam !AccessPoints === 57 57 ==== 1.1 hardware & software ==== 58 Het !AccessPoint zal met multiSSID ingesteld worden en bridged al het wireless verkeer van de beveiligde "eduroam" SSID via een openvpn tunnel naar de "radius-server/proxy & gateway". Het wireless verkeer van de open "ap.wlgst-bridge.wleiden.net" SSID kan via interne NAT/routing afgehandeld worden of via een bridge direct een Wireless Leiden node in die reeds met DHCP, DNS, routing en captive portal is uitgerust.58 Het !AccessPoint zal met multiSSID ingesteld worden en bridged al het wireless verkeer van de beveiligde SSID "eduroam" SSID via een openvpn tunnel naar de "radius-server/proxy & gateway". Het wireless verkeer van de tweede virtuele open SSID "ap.wlgst-bridge.wleiden.net" zal in de voorbeeld configuratie "1.2a" via bridging direct een Wireless Leiden node ingaan die reeds zelf al met DHCP, DNS, routing en natuurlijk captive portal is uitgerust. Voor de configuratie zonder bridging van het tweede virtuele SSID, maar met een eigen interne nat/routing word in 1.2b de wijzigingen t.o.v. 1.2a doorgegeven. In 1.2c word uitgelegd hoe je direct op AirOS zelf een eduroam hotspot kan realiseren. 59 59 60 60 In tegenstelling tot de oude handleiding(onderaan deze pagina) word momenteel gebruik gemaakt van een "fixed" OpenWRT releases waaronder Backfire 10.03.1 of zelfs Atitude Adjustment 12.0.9 final. Dit niet alleen omdat het bouwen van een custombuild onnodig is geworden omdat "openvpn" inmiddels als pakket direct gebruiksklaar en beschikbaar is voor de 10.03.1 en 12.09 releases. Maar vooral omdat compileren van een openwrt image & build omgeving erg veel tijd, moeite en veel variabelen introduceert in een al/nog experimentele infrastructuur. Met fixed releases kan in minder dan 5 minuten direct een werkend accesspoint prototype gerealiseerd worden en dat zelfs voor verschillende type architecturen accesspoints (arm/mips/x86/etc, mits daar openwrt images voor zijn)! Wel zou via custom gecompileerde releases het geheugen gebruik en processor belasting geoptimaliseerd kunnen worden door het weglaten van ongebruikte pakketten. *Update, inmiddels is het ook al direct mogelijk om via AirOS software dat standaard al op Ubiquiti AP's aanwezig een "eduroam" hotspot met wpa2 enterprise en radiusclient functie te maken (enkel openvpn ontbreekt)! … … 62 62 Met deze flexibele fundering is het doel om accesspoints die maar in sumiere opzichten van elkaar hoeven te verschillen zo gemakkelijk en snel mogelijk in grote hoeveelheden geautomatiseerd te kunnen configureren. Het verschil tussen de accesspoints komt deels uit hoek van beveiliging, deels uit de hoek van locatie en natuurlijk de toepassing. Als een enkel accesspoint gehackt is kan deze los van de andere accesspoint toegang tot de radius proxy ontzegt worden, (door zijn openvpn sleutel in te trekken) daardoor zijn de andere accesspoints nog operationeel. Als toepassing is het handig dat het eduroam accesspoint op de burcht in Leiden als multi-SSID "ap.burcht.wleiden.net" heet en de eduroam accesspoint bij de Hortus Botanicus als multi-SSID "ap.hortusbotanicus.wleiden.net". Als toepassing kan het wenselijk zijn kleine / goedkopere AP's te monteren op plaatsen waar grote AP's met losse sector antennes niet mogelijk zijn en natuurlijk niet te vergeten de beschikbare wifi kanalen 1,6,11. Voor ieder AP zullen unieke openvpn certifacten gebruikt worden. Deze voorbeelden duiden erop dat er toch kleine specifieke wijzigingen tussen de !AccessPoints configuratie bestanden wenselijk zijn. Samengevat, er zal eerst handmatig een work-template opgezet worden waarmee een eduroam AP ingericht kan worden. Dit vormt dan de generieke basis voor een gescripte en automatische configuratie van veel AP's tegelijk die onderling kleine specifieke aanpassingen kunnen bevatten. 63 63 64 ==== 1.2a fixed OpenWRT release ====64 ==== 1.2a fixed OpenWRT release bridged ==== 65 65 The following shell commands will first locally download the OpenWRT "Backfire" image and its packages, than flash the image, configure its packages, backup original config files so you must use them as a work-template for your own custom deployment! This work-template will form the generic base of a possible batch configure/deploy script to allow huge amount of AP's to be configured in one instance, with each little specific customisations. Instead of the Backfire 10.03.1 release also Attitude Adjustment 12.09 can be used, just change the download links for the image and packages you need! 66 66 … … 161 161 option filterwin2k 0 # enable for dial on demand 162 162 option localise_queries 1 163 option rebind_protection 1 #! disable if upstream must serve RFC1918 addresses #change to 0 if local dns "wleiden.net" won't resolve <---163 option rebind_protection 1 #! change to 0 if local dns "wleiden.net" won't resolve <--- 164 164 option rebind_localhost 1 # enable for RBL checking and similar services 165 165 #list rebind_domain example.lan # whitelist RFC1918 responses for domains … … 178 178 #list bogusnxdomain '64.94.110.11' 179 179 180 config dhcp lan #! I doubt this one is even used... <---180 config dhcp lan 181 181 option interface lan 182 option ignore 1 182 option ignore 1 #! I doubt this one is even used... <--- 183 183 #! option start 100 184 184 #! option limit 150 … … 188 188 option interface wan 189 189 option ignore 1 190 191 #!Add extra dhcp-server for multiSSID hotspot if not bridging <---192 #!config dhcp wlgst193 #! option interface wlgst194 #! option start 5195 #! option limit 252196 #! option leasetime 1h197 190 }}} 198 191 … … 216 209 config zone 217 210 option name wan 218 option network 'wan' #!was eth0 <---211 option network 'wan' #!was eth0 for bullet <--- 219 212 option input REJECT 220 213 option output ACCEPT … … 223 216 option mtu_fix 1 224 217 225 #! Allow multiSSID wlgst zone if not bridging <--- 226 #!config zone 227 #! option name wlgst 228 #! option input REJECT 229 #! option forward REJECT 230 #! option output ACCEPT 231 232 # Changing eth0 > wan made all these rules active! 233 # Allow SSH 218 #! Allow SSH <--- 234 219 config rule 235 220 option src wan … … 241 226 option src lan 242 227 option dest wan 243 244 #! Allow multiSSID wlgst to internet on wan <---245 #!config forwarding246 #! option src wlgst247 #! option dest wan248 249 #! Allow multiSSID wlgst to DNS <---250 #! Client DNS queries ordinate from dynamic UDP ports (>1023)251 #!config rule252 #! option src wlgst253 #! option dest_port 53254 #! option proto tcpudp255 #! option target ACCEPT256 257 #! Allow multiSSID wlgst to DHCP -> Router <---258 #! DHCP communication uses UDP ports 67-68259 #!config rule260 #! option src wlgst261 #! option src_port 67-68262 #! option dest_port 67-68263 #! option proto udp264 #! option target ACCEPT265 228 266 229 # We need to accept udp packets on port 68, … … 359 322 option ifname wlan0 360 323 option type bridge 361 # option proto dhcp #!TODO by this the AP's also get a real dhcp lease from the server, mac prefix range? 362 363 364 #!Add this interface if you internally NAT/Route the 2nd multiSSID instead of bridge <--- 365 #!config interface wlgst 366 #! #option ifname wlgst 367 #! #option type bridge 368 #! option proto static 369 #! option ipaddr 192.168.5.1 370 #! option netmask 255.255.255.0 324 #! option proto dhcp #!This makes the AP openvpn interface get a dhcp lease 325 #! option gateway 0.0.0.0 #!This fixes that the default route of the AP alters to the one supplied by the eduradprox, wont work on all devices?! 371 326 }}} 372 327 … … 552 507 while [ true ]; do 553 508 if [ -z "$(pid)" ]; then 554 ifconfig br-wan | grep -q inet\ || udhcpc #! use 'eth0' in nat-wlgst multiSSID mode! <---509 ifconfig br-wan | grep -q inet\ || udhcpc #! use eth0 if interface wan not a bridge, reason still not understood! <--- 555 510 /etc/init.d/sysntpd start > /dev/null 556 511 /usr/sbin/openvpn $@ … … 566 521 #TODO don't understand how ip of AP for the tunnel is created/assigned? 567 522 #Multiple AP devices work, but may conflict with dhcplease range of wireless clients? 568 #remove ${IP} and add proto dhcp to lan/etc/config/network523 #remove ${IP} in here and uncomment proto dhcp to lan see /etc/config/network 569 524 570 525 FROM=3 … … 589 544 chmod +x customize/usr/sbin/iopenvpn 590 545 chmod +x customize/sbin/wifi-update 546 chmod +x customize/sbin/openvpn-update 591 547 chmod +x customize/etc/init.d/sysntpd 592 548 chmod +x customize/etc/init.d/openvpn … … 622 578 }}} 623 579 624 ==== 1.2b default Ubiquiti AirOS ==== 580 ==== 1.2b fixed Openwrt release nat/routed ==== 581 Use these configuration examples as a replacement to the examples from the previous 1.2a configuration to replace bridging by internal nat/routing for the second virtual open SSID "ap.wlgst-bridge.wleiden.net". 582 583 584 #example code# /etc/config/dhcp 585 {{{ 586 config dnsmasq 587 option domainneeded 1 588 option boguspriv 1 589 option filterwin2k 0 # enable for dial on demand 590 option localise_queries 1 591 option rebind_protection 1 #! change to 0 if local dns "wleiden.net" won't resolve <--- 592 option rebind_localhost 1 # enable for RBL checking and similar services 593 #list rebind_domain example.lan # whitelist RFC1918 responses for domains 594 option local '/lan/' 595 option domain 'lan' 596 option expandhosts 1 597 option nonegcache 0 598 option authoritative 1 599 option readethers 1 600 option leasefile '/tmp/dhcp.leases' 601 option resolvfile '/tmp/resolv.conf.auto' 602 #list server '/mycompany.local/1.2.3.4' 603 #option nonwildcard 1 604 #list interface br-lan 605 #list notinterface lo 606 #list bogusnxdomain '64.94.110.11' 607 608 config dhcp lan 609 option interface lan 610 option ignore 1 #! I doubt this one is even used... <--- 611 #! option start 100 612 #! option limit 150 613 #! option leasetime 12h 614 615 config dhcp wan 616 option interface wan 617 option ignore 1 618 619 #! Add extra dhcp-server for multiSSID hotspot when using nat <--- 620 config dhcp wlgst 621 option interface wlgst 622 option start 5 623 option limit 252 624 option leasetime 1h 625 }}} 626 627 #example code# /etc/config/firewall 628 {{{ 629 config defaults 630 option syn_flood 1 631 option input ACCEPT 632 option output ACCEPT 633 option forward REJECT 634 # Uncomment this line to disable ipv6 rules 635 # option disable_ipv6 1 636 637 config zone 638 option name lan 639 option network 'lan' 640 option input ACCEPT 641 option output ACCEPT 642 option forward REJECT 643 644 config zone 645 option name wan 646 option network 'wan' #!was eth0 for bullet <--- 647 option input REJECT 648 option output ACCEPT 649 option forward REJECT 650 option masq 1 651 option mtu_fix 1 652 653 #! Allow SSH <--- 654 config rule 655 option src wan 656 option proto tcp 657 option dest_port ssh 658 option target ACCEPT 659 660 config forwarding 661 option src lan 662 option dest wan 663 664 #! Allow multiSSID wlgst zone if not bridging <--- 665 config zone 666 option name wlgst 667 option input REJECT 668 option forward REJECT 669 option output ACCEPT 670 671 #! Allow multiSSID wlgst to internet on wan <--- 672 config forwarding 673 option src wlgst 674 option dest wan 675 676 #! Allow multiSSID wlgst to DNS <--- 677 #! Client DNS queries ordinate from dynamic UDP ports (>1023) 678 config rule 679 option src wlgst 680 option dest_port 53 681 option proto tcpudp 682 option target ACCEPT 683 684 #! Allow multiSSID wlgst to DHCP -> Router <--- 685 #! DHCP communication uses UDP ports 67-68 686 config rule 687 option src wlgst 688 option src_port 67-68 689 option dest_port 67-68 690 option proto udp 691 option target ACCEPT 692 693 # We need to accept udp packets on port 68, 694 # see https://dev.openwrt.org/ticket/4108 695 config rule 696 option name Allow-DHCP-Renew 697 option src wan 698 option proto udp 699 option dest_port 68 700 option target ACCEPT 701 option family ipv4 702 703 # Allow IPv4 ping 704 config rule 705 option name Allow-Ping 706 option src wan 707 option proto icmp 708 option icmp_type echo-request 709 option family ipv4 710 option target ACCEPT 711 712 # Allow DHCPv6 replies 713 # see https://dev.openwrt.org/ticket/10381 714 config rule 715 option name Allow-DHCPv6 716 option src wan 717 option proto udp 718 option src_ip fe80::/10 719 option src_port 547 720 option dest_ip fe80::/10 721 option dest_port 546 722 option family ipv6 723 option target ACCEPT 724 725 # Allow essential incoming IPv6 ICMP traffic 726 config rule 727 option name Allow-ICMPv6-Input 728 option src wan 729 option proto icmp 730 list icmp_type echo-request 731 list icmp_type destination-unreachable 732 list icmp_type packet-too-big 733 list icmp_type time-exceeded 734 list icmp_type bad-header 735 list icmp_type unknown-header-type 736 list icmp_type router-solicitation 737 list icmp_type neighbour-solicitation 738 option limit 1000/sec 739 option family ipv6 740 option target ACCEPT 741 742 # Allow essential forwarded IPv6 ICMP traffic 743 config rule 744 option name Allow-ICMPv6-Forward 745 option src wan 746 option dest * 747 option proto icmp 748 list icmp_type echo-request 749 list icmp_type destination-unreachable 750 list icmp_type packet-too-big 751 list icmp_type time-exceeded 752 list icmp_type bad-header 753 list icmp_type unknown-header-type 754 option limit 1000/sec 755 option family ipv6 756 option target ACCEPT 757 758 # include a file with users custom iptables rules 759 config include 760 option path /etc/firewall.user 761 }}} 762 763 #example code# /etc/config/network 764 {{{ 765 # Copyright (C) 2006 OpenWrt.org 766 767 config interface loopback 768 option ifname lo 769 option proto static 770 option ipaddr 127.0.0.1 771 option netmask 255.0.0.0 772 773 #!this interface is wired to the Wireless Leiden infrastructure! 774 config interface wan #!interface name wan vs eth0 applies /etc/config/firewall rules <--- 775 option ifname eth0 776 option type bridge #! use bridge to forward DHCP,DNS,captive portal,etc from Wireless Leiden node to 2nd multiSSID <--- 777 option proto dhcp 778 # option peerdns 172.16.6.9 #! if dhcp is used, local dns wleiden.net resolve fix?<--- 779 # option proto static #! Unique static ip vs dhcp! <--- 780 # option ipaddr 172.16.6.13 #! Unique ip settings differ! <--- 781 # option netmask 255.255.255.248 #! Unique ip settings differ! <--- 782 # option gateway 172.16.6.9 #! Unique ip settings differ! <--- 783 # option dns 172.16.6.9 #! Unique ip settings differ! <--- do you run your own dns server? otherwise 8.8.8.8 784 785 config interface lan 786 option ifname wlan0 787 option type bridge 788 #! option proto dhcp #!This makes the AP openvpn interface get a real dhcp lease 789 #! option gateway 0.0.0.0 #!This fixes that the default route of the AP alters to the one supplied by the eduradprox, wont work on all devices?! 790 791 #!Add this interface if you internally NAT/Route the 2nd multiSSID <--- 792 config interface wlgst 793 #option ifname wlgst 794 #option type bridge 795 option proto static 796 option ipaddr 192.168.5.1 797 option netmask 255.255.255.0 798 }}} 799 800 ==== 1.2c default Ubiquiti AirOS ==== 625 801 De huidige 5.5.4 Ubiquiti AirOS software maakt het mogelijk het AP direct als radius "client" te laten fungeren. Dit is handig voor snel testen of uitrollen van inpandige afgeschermde infrastructuur waarbij het encrypten van het radius en internet verkeer via openvpn niet nodig is! Het is zo eenvoudig dat je enkel na het resetten van het apparaat, hem als normaal AP configureert(vergeet Airmax niet uit te zetten!) dan geef je bij Wireless security geen WPA2-"PSK" maar juist WPA2-"EAP" op. Direct verschijnt er een optie om een Authenticating/Accounting radius server/proxy op te geven met IP:PORT:SECRET, wanneer deze ingevuld worden is er direct al een werkend wpa2 enterprise AP oftwel eduroam hotspot! Verder is 'ntpclient' handig indien tijdsverschil te groot word om certificaat geldigheid te checken. Het remote sysloggen werkt ook. TODO SNMP client Verdere setup met NAT/Bridging/VLAN is wel aan te bevelen maar moet nog uitgezocht worden. 626 802 … … 643 819 644 820 Boot the usb-stick with the debian installation and pay attention to the devicename of the internal harddisk you are installing debian onto, aka "/dev/sdb". During "tasksel" choose "SSH server" and "Standard system utilities". When reaching the end of the installation, mind that "Grub2" might install to the usb-stick /dev/sda while while the debian install is on /dev/sdb, therefor you have to manually install Grub to /dev/sdb otherwise install might fail. After the install (postinstall) the following packages freeradius, isc-dhcp-server, openvpn and syslog-ng will be installed and configured. To finish local nat/routing and firewall rules are needed and completing openvpn setup needs keys/certifactes made in 3 certnode of this howto. 645 646 647 821 648 822 {{{ … … 1108 1282 keepalive 10 180 #! these settings keep the tunnel alive on the W.L. network <--- 1109 1283 #! run /bin/openvpnupdate update before uncommenting lladdress 1110 #! lladdr essMACADDRESS #! overides random MAC adress of the br-lan interface for controlled dhcp lease! <---1284 #! lladdr MACADDRESS #! overides random MAC adress of the br-lan interface for controlled dhcp lease! <--- 1111 1285 1112 1286 }}} … … 1349 1523 1350 1524 TODO: 1525 iptables uitzoeken en lease time for eduroam wireless clients i.v.t. ap's aanpassen dan test klaar!!! 1526 1527 configuratie 1.1a bridge/nat opdelen, gemengde examples is namelijk rommelig 1528 1351 1529 1.1a 1352 1530 openwrt country code setting? … … 1402 1580 1403 1581 Radius request lijken te worden gecached gebeurt dat op proxy met freeradius of in het ap met hostap? 1404 1582 HOSTAPd op de accesspoints blijft caches bewaren!!! Force Reathorization 1583 1405 1584 V