OpenWrt

A configuração abaixo foi testada em um TP-Link 841N (v 8.1) com o OpenWRT 12.09 de abril/2013.

Referências:
Compatibility tables for various router and non router models

http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-120001.2.2

http://wiki.openwrt.org/doc/uci/wireless#wpa.enterprise.access.point

O pacote wpad é necessário para o correto funcionamento. Por isso, após ter definido as configurações adequadas em /etc/config/network (exemplo abaixo) e possuir conectividade com a internet, rode, na sequência a seguir, os comandos: “opkg update”, “opkg remove wpad-mini” e “opkg install wpad”.

root@OpenWrt:~# grep -v ‘#’ /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0'
        option type 'bridge'
        option proto 'static'
        option ipaddr '143.107.xxx.aaa'
	option netmask '255.255.255.0'
	option gateway '143.107.xxx.1'
	option dns '143.107.253.3'

config interface 'uspnet'
        option ifname 'eth0.100'
        option type 'bridge'
        option proto 'static'
        option ipaddr '172.16.XX.YY'
        option netmask '255.255.240.0'

config interface 'eduroam'
        option ifname 'eth0.115'
        option type 'bridge'
        option proto 'static'
        option ipaddr '172.20.X.Y'
        option netmask '255.255.240.0'

config switch 'eth0'
        option enable '1'
        option reset '1'
        option enable_vlan '1'

config switch_vlan  'eth0_0'
        option device 'eth0'
        option vlan   '0'
        option ports '0 1 2 3 4 5'

config switch_vlan  'eth0_100'
        option device 'eth0'
        option vlan '100'
        option ports '0t 1t 5t'

config switch_vlan  'eth0_115'
        option device 'eth0'
        option vlan '115'
        option ports '0t 1t 5t'

Edit /etc/config/wireless (normalmente gerado pelo comando “wifi detect”) and change the mode of the existing wireless network to ap, the channel to the one selected by you. The ESSID must be changed to eduroam:

Execute os seguintes comandos para gerar um “esqueleto” do arquivo wireless que será posteriormente editado. Isto é importante pois o arquivo gerado possuirá as capacidades de hardware disponíveis e compatíveis com o OpenWrt.

cd
cp -v /etc/config/wireless .
cd /etc/config
rm -v wireless
wifi detect > wireless

A partir deste ponto, edite o /etc/config/wireless seguindo as recomendações abaixo.

root@OpenWrt:~# grep -v ‘#’ /etc/config/wireless

config wifi-device  radio0
# Use o valor compatível com o seu hardware. Só atheros e mac80211 funcionarão.
        option type     mac80211
        option channel  5
#A linha abaixo deverá esta descomentada e normalmente será gerada automaticamente com o MAC adequado.
	#option macaddr	AA:AA:AA:AA:AA:AA
        option hwmode   11ng
        option htmode   HT20
# Não é necessário comentar as linhas com "list ht_capab" pois elas conterão as caopacidades detectadas.
#        list ht_capab   LDPC

# REMOVE THIS LINE TO ENABLE WIFI:
#	option disabled 1

config wifi-iface
        option device      radio0
        option network     eduroam
        option mode        ap
        option ssid        eduroam
        option encryption  wpa2+tkip+aes
	option key         SENHA_COMBINADA_ENTRE_PARTES
	option server      SERVIDOR_RADIUS
  	option auth_server SERVIDOR_RADIUS
        option auth_secret SENHA_COMBINADA_ENTRE_PARTES
	option acct_server SERVIDOR_RADIUS
        option acct_secret SENHA_COMBINADA_ENTRE_PARTES
	option nasid       SIGLA_UNIDADE
config wifi-iface
        option device      radio0
#Aqui é minúsculo para ser igual ao que esta em /etc/config/network
        option network     uspnet 
        option mode        ap
        option ssid        USPnet
        option encryption  none

Em /etc/config/firewall edite o início para certificar-se de ter as liberações de tráfego conforme à seguir. Não foi necessário mexer no restante do arquivo para que funcionasse.

root@OpenWrt:~# cat /etc/config/firewall

config defaults
        option syn_flood        1
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT
# Uncomment this line to disable ipv6 rules
#       option disable_ipv6     1

config zone
        option name             lan
        option network          'lan'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT

config zone
        option name             wan
        option network          'wan'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT
        option masq             1
        option mtu_fix          1

config forwarding
        option src              lan
        option dest             wan

Em /etc/config/dhcp Comente com # todos so trechos do tipo “config dhcp …”.

 
Dessa forma seu ap estará autenticando-se através do eduroam. Localmente você deverá possuir um DHCP e uma NAT para rotear o tráfego dos clientes conectados nos ap. O pfSense poderá ser utilizado para este fim.

Dependendo do fabricante/revisão do hardware do AP, a porta que é equivalente à eth0 para o OpenWrt pode variar de posição na traseira de diferentes equipamentos, inclusive não correspondendo à numeração etiquetada na traseira. Por isso, caso a configuração esteja correta e revisada, porém não funcione, teste plugando o cabo nas outras portas.

Agradecimentos â colaboração da STI/MZ-USP.