[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
es:howtos:network_services:running_an_access_point_from_a_slackware_box [2019/05/11 04:58 (UTC)] – [4 Configuring] antares_alfes:howtos:network_services:running_an_access_point_from_a_slackware_box [2019/06/17 05:29 (UTC)] – [4.4 Cortafuegos] antares_alf
Línea 98: Línea 98:
 Ahora veamos cómo configurar todo para que funcione correctamente. Ahora veamos cómo configurar todo para que funcione correctamente.
 ===== 4.1 Hostapd ===== ===== 4.1 Hostapd =====
-Create hostapd folder inside /etc and copy into it a few files:+Cree una carpeta hostapd dentro de /etc y copie en ella algunos archivos:
   mkdir /etc/hostapd   mkdir /etc/hostapd
   cp HOSTAPD_SOURCE_TREE/hostapd.conf /etc/hostapd/hostapd.template   cp HOSTAPD_SOURCE_TREE/hostapd.conf /etc/hostapd/hostapd.template
   cp HOSTAPD_SOURCE_TREE/hostapd.wpa_psk /etc/hostapd/   cp HOSTAPD_SOURCE_TREE/hostapd.wpa_psk /etc/hostapd/
      
-Now supposing that wlan0 is the interface you will be using for creating the AP I suggest that you copy hostapd.template to wlan0.conf or br0.conf if it's bridged.+Ahora, suponiendo que wlan0 es la interfaz que utilizará para crear el AP, le sugiero que copie hostapd.template wlan0.conf br0.conf si está enlazado.
   cd /etc/hostapd   cd /etc/hostapd
   cp hostapd.template wlan0.conf   cp hostapd.template wlan0.conf
-alternatively just copy it to hostapd.conf ... but if you like to run several AP you might prefer to differentiate their config files.+como alternativa, simplemente cópielo en hostapd.conf ... pero si desea ejecutar varios AP, es posible que prefiera diferenciar sus archivos de configuración.
  
-These are the things you have-to edit in wlan0.conf+Estas son las cosas que usted tiene que editar en wlan0-conf
   * interface=wlan0   * interface=wlan0
   * driver=nl80211   * driver=nl80211
Línea 128: Línea 128:
   * wpa_ptk_rekey=600   * wpa_ptk_rekey=600
  
-This will use WPA-PSK/WPA2-PSK authenticationHave a look [[http://wireless.kernel.org/en/users/Documentation/hostapd|here]] in the section "A good starting point for a wpa wpa2 enabled access point is:" for more details on authentication.+Esto utilizará autenticación WPA-PSK/WPA2-PSK. Hecha un vistaso [[http://wireless.kernel.org/en/users/Documentation/hostapd|here]] en la sección "Un buen punto de inicio para un punto de acceso habilitado para wpa wpa2 es:" para más detalles sobre la autenticación.
  
-There are pros and cons for dealing with mac address filtering either with iptables or with mac ACL, to put it in really short terms the main difference is that doing it with iptables allows you to keep all filtering stuff in one place but has tendency to get lengthy if your network has many clients while doing it with mac ACL will require editing of separate file (containing just a newline separated list of mac addressesbut can really simplify things if you have several wired and wireless clinets.+Existen ventajas y desventajas al tratar con el filtrado de direcciones mac, ya sea con iptables o con mac ACL, para ponerlo en términos realmente breves, la principal diferencia es que hacerlo con iptables le permite mantener todas las cosas de filtrado en un solo lugar, pero tiene una tendencia prolongarse si su red tiene muchos clientes mientras lo hace con mac ACL requerirá la edición de un archivo separado (que contiene solo una lista de direcciones mac separadas en una nueva líneapero realmente puede simplificar las cosas si tiene varios clientes cableados e inalámbricas.
  
-The above hostapd configuration has mac ACL so if you followed it closely you should now create your /etc/hostapd/wlan0.accept containing a new line separated list of macs you wish to allow into your wireless networkFailing to do so will not allow any of your wireless clients to authenticate even with the correct credentials.+La configuración de hostapd anterior tiene mac ACL, por lo que si la sigue de cerca, ahora debe crear su /etc/hostapd/wlan0.accept que contiene una nueva lista de macs separados por líneas que desea permitir en su red inalámbricaNo hacerlo no permitirá que ninguno de sus clientes inalámbricos se autentique, incluso con las credenciales correctas.
  
-There is also an option for telling hostapd about bridging but the comment in hostapd.conf states: "If the bridge parameter is not setthe drivers will automatically figure out the bridge interface (assuming sysfs is enabled and mounted to /sys) and this parameter may not be needed"I followed that to the letter and ignored altogether  +También hay una opción para decirle a hostapd sobre el puente, pero el comentario en hostapd.conf dice: "Si el parámetro bridge no está establecidolos controladores descubrirán automáticamente la interfaz del bridge (suponiendo que sysfs esté habilitado y montado en /sys) y este parámetro puede no ser necesario"Lo seguí al pie de la letra y lo ignore por completo. 
-  #bridge=br0   +  #bridge=br0 
-and besides that we'll be brigding the interfaces after having setup the AP. I've not played with this option but I suspect that enabling it and/or brigding before starting up hostapd may result in having the wired clients mandated to using WPA too+y además de eso estaremos armando las interfaces después de haber configurado el AP. No he jugado con esta opción, pero sospecho que habilitarla y/o interrumpirla antes de iniciar hostapd puede resultar en que los clientes cableados tengan la obligación de usar WPA también
- +Ahora es el momento de lidiar con la frase de contraseña para asociarsehay más de una forma de tratar las contraseñas, pero me gusta usar wpa_psk_file ya que permite las contraseñas de NIC, e incluso tener contraseñas diferentes para sus diferentes estaciones wifiSi quieres mantener las cosas simples solo usa el MAC especial "00:00:00:00:00:00" que coincidirá con cada MAC, por lo tanto, tendrá la misma frase de contraseña para todos los clientesAquí hay un ejemplo:
-Now it's time to deal with the passphrase for associatingthere is more then one way of dealing with the passwords but I like to use wpa_psk_file as it allows per NIC passwordsand even have different passwords for your different Wifi staionsIf you want to keep things simple just use the special MAC "00:00:00:00:00:00" that will match with every MAC thus having the same passphrase for all the clientsHere's an example:+
  
   00:00:00:00:00:00 your_psk_for_all_stations   00:00:00:00:00:00 your_psk_for_all_stations
  
 +Ahora deberías estar listo para encender hostapd
  
-Now you should be ready to fire up hostapd 
   /usr/local/bin/hostapd -B /etc/hostapd/wlan0.conf   /usr/local/bin/hostapd -B /etc/hostapd/wlan0.conf
   iwconfig  wlan0   iwconfig  wlan0
Línea 150: Línea 149:
           Power Management:on           Power Management:on
  
-and iwconfig should report that the interface is in master modeIf this fails you either got an old version of hostapd that does not support nl80211 of your kernel lacks the necessary options for supporting nl80211.+iwconfig debe informar que la interfaz está en modo maestroSi esto falla, o bien tiene una versión anterior de hostapd que no es compatible con el nl80211 de su kernel le faltan las opciones necesarias para admitir nl80211. 
 + 
 +Si prefiere usar iw, este es el tipo de salida que debe tener:
  
-If you prefer to use iw instead this is the sort of output you should have: 
   iw dev wlan0 info   iw dev wlan0 info
   Interface wlan0   Interface wlan0
Línea 159: Línea 159:
         wiphy 0         wiphy 0
         channel 6 (2437 MHz) NO HT         channel 6 (2437 MHz) NO HT
-===== 4.2 Bridging ===== +===== 4.2 El puente ===== 
-Now it's time to bridge together wired and Wireless NICsIt's possible to use the native bridge setup from rc.inet1.conf but you may need to restart bridge after starting hostapd so here are the commands necessary to set it up manually.+Ahora es el momento de unir las NIC inalámbricas y por cableEs posible usar la configuración nativa del puente desde rc.inet1.conf, pero es posible que deba reiniciar el puente después de iniciar hostapd, por lo que aquí están los comandos necesarios para configurarlo manualmente.
  
   /usr/sbin/brctl addbr br0   /usr/sbin/brctl addbr br0
Línea 171: Línea 171:
  
  
-===== 4.3 DNS and DHCP Servers ===== +===== 4.3 Servidores DNS DHCP ===== 
-Now it's time to start dnsmasq. You can actually leave it running from boot if you like or even run specific servers at your choiceI now run separate dnsmasq instances for each AP so I've abandoned Slackware'rc.dnsmasq and start it from my custom network scripts which requires separate config files for each interface (like /etc/dnsmasq/br0.conf and /etc/dnsmasw/wlan1.conf). +Ahora es el momento de comenzar dnsmasq. Si lo desea, puede dejarlo ejecutándose desde el arranque o incluso ejecutar servidores específicos a su elección.Ahora ejecuto instancias dnsmasq separadas para cada AP, así que abandoné rc.dnsmasq de Slackware y lo inicio desde mis scripts de red personalizados que requieren archivos de configuración separados para cada interfaz (como /etc/dnsmasq/br0.conf /etc/dnsmasw/wlan1.conf). 
-Configuring it is something you should look into to suit best your networking needs ... let's just look at some of the most common tings. +La configuración es algo que debe considerar para adaptarse mejor a sus necesidades de red... Echemos un vistazo a algunos de los tings más comunes
-Supposing that you want to assign ip addresses belonging to 192.168.0.0/24 and this are the options you will need:+Suponiendo que desea asignar direcciones IP que pertenecen a 192.168.0.0/24 y estas son las opciones que necesitará:
  
   * interface=br0   * interface=br0
Línea 184: Línea 184:
   * conf-dir=/etc/dnsmasq.d   * conf-dir=/etc/dnsmasq.d
  
-The options except-interface bind-interfaces and listen-address are particularly useful if you want to run more then one instance of dnsmasq. +Las opciones except-interface bind-interface y listen-address son particularmente útiles si desea ejecutar más de una instancia de dnsmasq. 
-For the bridge to work correctly don't forget to allow forwarding either by using rc.ip_forward or by executing +Para que el puente funcione correctamente, no olvide permitir el reenvío utilizando rc.ip_forward o ejecutando
   /bin/echo 1 > /proc/sys/net/ipv4/ip_forward   /bin/echo 1 > /proc/sys/net/ipv4/ip_forward
-See section 3.1.1 for the other useful run-time kernel parameters. +Mirar la sección 3.1.1 para los otros parámetros útiles del kernel en tiempo de ejecución.
- +
-===== 4.4 Firewalling ===== +
-Now is a good time to configure your firwall protection. +
-Supposing that the box will be routing packages thought it I'll show some rules that you might find helpfull. +
-This is the output of iptables-save, you can edit it to make the changes you require and then pipe your edited file to iptables-restore. +
-The iptables-save/iptables-restore is a handy way of keeping configuration for easy firewall activation and editing.+
  
 +===== 4.4 Cortafuegos =====
 +Ahora es un buen momento para configurar su protección de firewall.
 +Suponiendo que la caja estará enrutando paquetes, creo que le mostraré algunas reglas que le pueden resultar útiles.
 +Esta es la salida de iptables-save, puede editarla para realizar los cambios que necesita y luego canalizar su archivo editado a iptables-restore.
 +Iptables-save / iptables-restore es una forma práctica de mantener la configuración para una fácil activación y edición del cortafuegos.
      
   *mangle   *mangle
Línea 225: Línea 224:
   COMMIT   COMMIT
  
-NOTE *: Clamping MSS to PMTU can get internet browsing from your LAN working but can brake VPN packetsThe proposed workaround has been made necessary by the increasing tendency of failing to find PMTU. It is not always necessary for you to activate the workaround but be warned that it can equally inadvertently stop working leaving you with an intermittent  problem that is difficult to debugIt can be intermittent because the path your packets take to arrive to any destination on internet is not always the same dew to the necessity of fault tolerance. This note could become whole article on it's own so [[https://blog.cloudflare.com/path-mtu-discovery-in-practice/|here's]] an intresting read on the issue+NOTA *: La fijación de MSS PMTU puede hacer que la navegación por Internet funcione desde su LAN, pero puede frenar los paquetes VPN. La solución propuesta se ha hecho necesaria por la creciente tendencia a no encontrar PMTU. No siempre es necesario que active la solución alternativa, pero tenga en cuenta que también puede dejar de funcionar de manera inadvertida, lo que le deja un problema intermitente que es difícil de depurarPuede ser intermitente porque la ruta que toman sus paquetes para llegar cualquier destino en Internet no siempre es la misma necesidad de tolerancia a fallas. Esta nota podría convertirse en un artículo completo por sí mismo, por lo que [[https://blog.cloudflare.com/path-mtu-discovery-in-practice/|here]] es una lectura interesante sobre el tema.
  
-I generally put the content above in /ect/firewall.cf and add "/usr/sbin/iptables-restore < /etc/firewall.cf" to rc.local.+Generalmente pongo el contenido arriba en /ect/firewall.cf y agrego "/usr/sbin/iptables-restore < /etc/firewall.cf" rc.local. 
  
-If you want to manage your AP via ssh now is good time to restart sshd that did not appreciate taking down the interfaces it was binding on (back in section 4.2).+Si desea administrar su AP a través de ssh ahora es un buen momento para reiniciar sshd que no estaba de acuerdo en eliminar las interfaces con las que estaba enlazado (en la sección 4.2).
   /etc/rc.d/rc.sshd restart   /etc/rc.d/rc.sshd restart
-If you're going to share internet connection you might want to stop ssh access from internet by adding a firewall rule to regulate it or making sshd bind only to the address assigned to br0. The config shown above will not allow incoming ssh traffic from the internet link (by the connection tracking rulebut you may want to back that up with further safety+Si va compartir la conexión a Internet, es posible que desee detener el acceso a ssh desde Internet agregando una regla de firewall para regularlo o haciendo que sshd se enlace solo a la dirección asignada a br0. La configuración que se muestra arriba no permitirá el tráfico ssh entrante desde el enlace de Internet (según la regla de seguimiento de la conexión), pero es posible que desee realizar una copia de seguridad con mayor seguridad
-Longer iptabls chains generally have bad impact on firewall performance so you might want to add something like this to /etc/ssh/sshd_config:+Las cadenas de iptabls más largas generalmente tienen un impacto negativo en el rendimiento del firewall, por lo que es posible que desee agregar algo como esto a /etc/ssh/sshd_config:
   ListenAddress 192.168.0.1   ListenAddress 192.168.0.1
 +En este punto, debe poder asociar clientes al AP.
 +Con las reglas de iptables anteriores, el cliente con MAC 0a:0b:0c:0d:0e:0f puede asociarse y acceder al AP en sí, pero no puede enrutar a través del AP (con la excepción de las consultas dns que son enviadas por dnsmasq),el cliente con MAC 00:01:02:03:04:05 puede enrutar el AP pero no acceder al AP en sí. El ejemplo fue simplemente para mostrar claramente la diferencia de tener paquetes que van a la caja y enrutar paquetes a través de la caja ya que este comportamiento fue radicalmente diferente en las ip_chains.
 +Otra forma de implementar MAC ACL aún más compleja para decidir quién administra AP, quién solo puede enrutar y quién puede hacer ambas cosas se puede hacer mediante ebtables (es necesario agregar eso a la lista de software que no está presente en Slackware) y jugar con el cadena de broute En todos los casos, puede encontrar interesante el [[http://en.wikipedia.org/wiki/Iptablesmediaviewer/File:Netfilter-packet-flow.svg | diagrama de flujo de filtros de red]].
  
-At this point you should be able to associate clients to the AP. +Si no desea la ACL de la dirección MAC o solo implementa la ACL de MAC para el AP, puede reemplazar
-With the above iptables rules client with MAC 0a:0b:0c:0d:0e:0f can associate and access the AP itself but not route trough the AP (with the exception of dns querys that get forwarded by dnsmasq), +
-client with MAC 00:01:02:03:04:05 can route thought the AP but not access the AP itself. The example was just to show clearly the difference of having packets go into the box and routing packets trough the box as this behavior was radically different in the ip_chains.  +
-An other way to implement even more complex MAC ACL to decide who manages AP, who can only route trough and who can do both can be done by using ebtables (nee to add that to the software list not present in Slackware) and fiddle with the broute chain. In all cases you might find interesting the [[http://en.wikipedia.org/wiki/Iptables#mediaviewer/File:Netfilter-packet-flow.svg | netfilter flow diagram]].+
  
- 
- 
-If you don't want MAC address ACL or you only implement MAC ACL for the AP you could replace  
-   
   -A INPUT -p icmp -s 192.168.1.0/24 -j ACCEPT   -A INPUT -p icmp -s 192.168.1.0/24 -j ACCEPT
   -A INPUT -p tcp --dport 53 -s 192.168.0.0/24 -j ACCEPT -m comment --comment "allow dns from LAN"   -A INPUT -p tcp --dport 53 -s 192.168.0.0/24 -j ACCEPT -m comment --comment "allow dns from LAN"
Línea 252: Línea 247:
   -A FORWARD -m mac --mac-source 00:01:02:03:04:05 -j ACCEPT -m comment --comment "some other comment"   -A FORWARD -m mac --mac-source 00:01:02:03:04:05 -j ACCEPT -m comment --comment "some other comment"
  
-With something like this +Con algo como esto
      
   -A INPUT -p all -i br0 -j ACCEPT   -A INPUT -p all -i br0 -j ACCEPT
   -A FORWARD -p all -i br0 -j ACCEPT   -A FORWARD -p all -i br0 -j ACCEPT
  
-Most off the shelf AP also let you do a number of port forwardingthis is also an iptables jobRemember that we are masquerading all outgoing traffic to look like it's coming from the AP itself so we only need to create rules of the incoming trafficSupposing you want to run a web server on 192.168.0.2 you might want to add a rule like this in the FORWARD chain of the filter table+La mayoría de los AP disponibles también le permiten hacer una cantidad de reenvío de puertosesto también es un trabajo de iptables. Recuerde que estamos enmascarando todo el tráfico saliente para que parezca que viene del propio AP, por lo que solo necesitamos crear reglas del tráfico entranteSuponiendo que desea ejecutar un servidor web en 192.168.0.2 es posible que desee agregar una regla como esta en la cadena FORWARD de la tabla de filtro
-  +
   -A FORWARD -p tcp -d 192.168.0.2 -m multiport --dports 80,443 -j ACCEPT -m comment --comment "allow http traffic to be routed thought the box only to the correct server"   -A FORWARD -p tcp -d 192.168.0.2 -m multiport --dports 80,443 -j ACCEPT -m comment --comment "allow http traffic to be routed thought the box only to the correct server"
  
-and a rule like this in the PREROUTING chain of the nat table:+y una regla como esta en la cadena PREROUTING de la tabla nat:
      
   -A PREROUTING -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 192.168.0.2 -m comment --comment "nat incomming http requests to local destination before routing"   -A PREROUTING -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 192.168.0.2 -m comment --comment "nat incomming http requests to local destination before routing"
  
-To understand how this works you need to look at the [[http://en.wikipedia.org/wiki/Iptables#mediaviewer/File:Netfilter-packet-flow.svg | netfilter flow diagram]]: +Para entender cómo funciona esto, debe consultar el [[http://en.wikipedia.org/wiki/Iptablesmediaviewer/File:Netfilter-packet-flow.svg | diagrama de flujo de filtro de red]]: 
-As a http request arrives to the AP from the internet link it will first have the DNAT changed in the nat prerouting stagebut it would get dropped by the filter policy if we don't find a way to let it inthat's where the forward filter rule comes in to play.+Cuando una solicitud http llega al AP desde el enlace de Internet, primero se cambiará el DNAT en la etapa de pre-enrutamiento nat, pero la política de filtro la eliminará si no encontramos una manera de déjalo entrarahí es donde entra en juego la regla de filtro de avance.
  
 If you start going crazy over transferring large files over fast networks for a problem that seems like mtu related but is not you might want to consider turning net.ipv4.tcp_sack off. If you start going crazy over transferring large files over fast networks for a problem that seems like mtu related but is not you might want to consider turning net.ipv4.tcp_sack off.
 es:howtos:network_services:running_an_access_point_from_a_slackware_box ()