Añadir a inicio Flash Operator Panel, en debian

Una pequeña entrada, que me sirve para recordar cómo añadir al inicio de mi Debian, que autoarranque el Flash Operator Panel, aunque esto se aplique a cualquier cosa que queramos.

Primero, dentro del directorio /etc/init.d creamos el siguiente fichero, suponiendo que lo hayamos instalado en /etc/op_panel


root@pbx:/etc/init.d# nano operator_panel

Y le añadimos:

/etc/op_panel/op_server.pl -d

Nota: -d es para lanzarlo como daemon

Y ahora le damos los permisos de ejecución y lo añadimos:

root@pbx:/etc/init.d# chmod a+x operator_panel
root@pbx:/etc/init.d# update-rc.d operator_panel defaults

Y con ésto, ya lo tenemos todo. 😉

Squid3 + openLdap Debian

Hace unos días, me tocó usar squid contra openLdap para autentificar los usuarios. A priori, es bastante más fácil que contra un active directory, ya que no hace falta ni kerberos, samba ni windbind.

Partimos de la base que ya tenemos el openLdap funcionando correctamente y nuestro squid también… así que ahora, editamos el fichero /etc/squid3/squid.conf y lo dejamos tal que:


auth_param basic program /usr/lib/squid3/squid_ldap_auth -b "dc=craem,dc=net" -f "uid=%s" -h 192.168.2.5
auth_param basic children 30
auth_param basic realm Servidor Proxy cRAeM
auth_param basic credentialsttl 6 hours
auth_param basic casesensitive off

acl usuariosLdap proxy_auth REQUIRED
http_access allow usuariosLdap
http_access deny all

Antes de todo, miraremos si tenemos el fichero /usr/lib/squid3/squid_ldap_auth y probamos si el ldap funciona correctamente, haciendo la siguiente prueba:

root@proxy:/etc/squid3# /usr/lib/squid3/squid_ldap_auth -b "dc=craem,dc=net" -f "uid=%s" 192.168.2.5

Le damos al intro y ponemos un user y password:

root@netflow:/etc/squid3# /usr/lib/squid3/squid_ldap_auth -b "dc=craem,dc=net" -f "uid=%s" 192.168.2.5
usuario password
OK

Si sale Ok, entonces es que funcionará.. sinó, pues es que faltará alguna librería o similar

El primer parámetro: auth_param basic children
Indica el número máximo de procesos de auth concurrentes… ojo si tenemos muchos usuarios y colocamos un número bajo, aunque no debería ser problema.

auth_param basic realm Servidor Proxy cRAeM
Es lo que saldrá en la ventanita de user / pass … me gusta tenerlo personalizado 😉

auth_param basic credentialsttl 6 hours
Básicamente, el tiempo que tendrá cacheada nuestras credenciales

auth_param basic casesensitive off
Pues eso

El resto:

acl usuariosLdap proxy_auth REQUIRED
http_access allow usuariosLdap
http_access deny all

acl usuariosLdap proxy_auth REQUIRED
Definimos la acl usuariosLdap con autenticación requerida

http_access allow usuariosLdap
http_access deny all

Permitimos el acceso a los usuarios autentificados y el resto… deny

Enjoy your ldap + squid

Cliente cisco ipsec Debian / Ubuntu

Esta entrada es otro apunte.

Cisco, con su política de licencias y demás, está dejando en desuso su cliente ipsec… para windows 8 funciona con algunos retoques… pero para los que afortunadamente podemos usar linux, el soporte se quedó estancado en el 2009, con lo que, en los últimos kernels, el cliente vpn no funciona.

Como me niego usar windows para conectarme a mis clientes y a mi casa, busqué la compatibilidad…. de hecho, es ipsec y no debería de haber más problema… así que investigando, descubrí que en los repositorios de debian / ubuntu, hay un cliente compatible… así que, a instalar:


craem@music2:~$ sudo apt-get install vpnc vpnc-network-manager
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
...

Y ahora, para configurar el cliente:
icono

Y en las conexiones de red:
conexionesdered

Y añadimos una nueva:
nuevavpn

Y la configuramos:
configVPN

Y una vez lo tenemos hecho….. a conectarnos desde aquí, con el botón derecho del ratón :

icono

Y nada, enjoy your VPN 😉

Policy Based Routing Cisco y Mikrotik, tunnel IPIP y NAT (3)

Ahora, vamos a NATear las ip’s de nuestro proveedor a las máquinas de la red local.

Quiero que mi servidor Debian, con la 192.168.2.1, tenga como ip pública la 1.1.1.4. Para ello, usaremos 2 reglas en nuestra mikrotik; una src-nat y otra dst-nat, usando como interface público el tunnel PPTP:


/ip firewall nat
add action=src-nat chain=srcnat disabled=no out-interface=pptp_provider
src-address=192.168.2.1 to-addresses=1.1.1.4
add action=dst-nat chain=dstnat disabled=no dst-address=1.1.1.4
in-interface=pptp_provider to-addresses=192.168.2.1
add action=masquerade chain=srcnat disabled=no out-interface=pptp_provider
add action=masquerade chain=srcnat disabled=no out-interface=outside

Y recordamos que tenemos que tener una entrada de masquerade para el tunnel pptp y que estas reglas deben de estar antes.

La primera es para indicar que los paquetes entrantes desde internet, que vengan por el tunnel pptp (de entrada), a la ip pública 1.1.1.4, lo traduzca a la 192.168.2.1 de nuestra red.

La segunda regla, es para indicar que, la salida de nuestra máquina 192.168.2.1, la NATee directamente a la 1.1.1.4, por el interface pptp_provider.

Policy Based Routing Cisco y Mikrotik, tunnel IPIP y NAT (2)

En esta ocasión, vamos a configurar la mikrotik RouterOS, como cliente, mediante un tunnel PPTP.

Necesito que mi Debian Server, con la IP 192.168.2.1, salga a través del tunnel PPTP y el resto de equipos de la red, por mi conexión normal, para no malgastar recursos de mi buen proveedor.


/ppp profile
set 0 change-tcp-mss=yes name=default only-one=default use-compression=
default use-encryption=default use-ipv6=yes use-mpls=default
use-vj-compression=default
set 1 change-tcp-mss=yes name=default-encryption only-one=default
remote-ipv6-prefix-pool=none use-compression=default use-encryption=yes
use-ipv6=yes use-mpls=default use-vj-compression=default
/interface pptp-client
add add-default-route=no allow=pap,chap,mschap1,mschap2 connect-to=
3.3.3.3 dial-on-demand=no disabled=no max-mru=1460 max-mtu=1460 mrru=
disabled name=pptp_provider password=password profile=default-encryption
user=usuarioPPTP

Y ahora las reglas de NAT y el pre-routing para marcar los paquetes:


/ip firewall mangle
add action=mark-routing chain=prerouting disabled=no new-routing-mark=
tunnel_provider passthrough=no src-address=192.168.2.1
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pptp_provider
add action=masquerade chain=srcnat disabled=no out-interface=outside

La primera regla sirve para marcar los paquetes que queramos que salgan por el tunnel PPTP.

Y ahora las rutas:


/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pptp_provider
routing-mark=tunnel_provider scope=30 target-scope=10
add comment=red_guifi disabled=no distance=1 dst-address=10.0.0.0/8 gateway=
172.26.2.251 scope=30 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=172.26.2.20 scope=30
target-scope=10

La primera ruta, indica que los paquetes marcados con el pre-routing / tunnel_provider, saldrán por aquí.

La segunda ruta, para indicar que todos los paquetes para la red 10.0.0.0/8 de Guifi.net, saldrán por mi antenita. 🙂

La tercera, para el resto.

En el siguiente POST, explicaremos el tema del NAT, para asignar las ip’s locales a públicas.

Policy Based Routing Cisco y Mikrotik, tunnel IPIP y NAT (1)

Esta entrada, con diferencia, es una de las configuraciones que más me ha hecho sudar la gota gorda…. intervienen varios factores:

1º) Tengo un proveedor de servicio que me proporciona 8 ip’s públicas
2º) Tengo que llegar con mi conexión al proveedor
3º) Hago un tunel IPIP entre la Mikrotik y mi router cisco
4º) Hay que usar nat

El motivo es que, necesito usar esas 8 ip’s y sólo determinados equipos, saldrán por el tunnel IP / ip’s públicas; el resto de máquinas de mi casa, saldrá por la conexión normal que tengo.

Primero de todo, haré la config y el esquema con cisco como cliente y mikrotik como servidor:
ipip1

Empezamos por la configuración de la mikrotik:

/interface ipip
add disabled=no dscp=0 local-address=3.3.3.3 mtu=1480 name=ipip_craem remote-address=2.2.2.2
/ip address
add address=192.168.194.1/30 disabled=no interface=ipip_craem network=192.168.194.0

add disabled=no distance=1 dst-address=1.1.1.1/32 gateway=192.168.194.2 scope=30 target-scope=10
add disabled=no distance=1 dst-address=1.1.1.2/32 gateway=192.168.194.2 scope=30 target-scope=10
add disabled=no distance=1 dst-address=1.1.1.3/32 gateway=192.168.194.2 scope=30 target-scope=10
add disabled=no distance=1 dst-address=1.1.1.4/32 gateway=192.168.194.2 scope=30 target-scope=10
add disabled=no distance=1 dst-address=1.1.1.5/32 gateway=192.168.194.2 scope=30 target-scope=10
add disabled=no distance=1 dst-address=1.1.1.6/32 gateway=192.168.194.2 scope=30 target-scope=10

Primero creamos el tunnel, le damos la ip y, para no perder la de red y broadcast, negociamos con el proveedor que nos la enrute una a una, tras pagarle unas cervezas al técnico 😉

Y ahora el lado Cisco; empezamos por el tunnel:

interface Tunnel7
description TUNNEL proveedor /29
ip address 192.168.194.2 255.255.255.252 --> ip privada del tunnel
ip mtu 1480 --> ajustamos el mtu
ip nat outside --> mis máquinas están detrás del firewall, con NAT
ip virtual-reassembly
ip policy route-map prov_lan --> policy route aplicado
qos pre-classify --> aplico QoS antes de meter en el tunnel
tunnel source 2.2.2.2 --> ip pública mia
tunnel destination 3.3.3.3 --> ip destino
tunnel mode ipip --> modo del tunnel

Creamos la política:

ip local policy route-map prov_map

Metemos en un access-list las ip’s que tendrán salida por el tunnel:

access-list 112 remark -> ACL NAT prov IPS PUBLICAS
access-list 112 permit ip host 172.26.2.9 any
access-list 112 permit ip host 172.26.2.11 any
access-list 112 permit ip host 172.26.2.5 any
access-list 112 permit ip host 172.26.2.6 any
access-list 112 permit ip host 172.26.2.12 any

Hacemos el route-map para identificar los paquetes:

route-map prov_lan permit 10
match ip address 112
set interface Tunnel7

Y ahora, nacemos el nat de las privadas a las públicas de nuestro proveedor:

ip nat inside source static 172.26.2.9 1.1.1.1
ip nat inside source static 172.26.2.11 1.1.1.2
ip nat inside source static 172.26.2.5 1.1.1.3
ip nat inside source static 172.26.2.6 1.1.1.4
ip nat inside source static 172.26.2.12 1.1.1.5

Si no ponemos el nat en el tunnel; no habrá traducción y no podremos usar las ip’s.

Ahora hemos de aplicar el policy-map a los interfaces:

interface FastEthernet0/0
bandwidth 6096
ip address dhcp
ip flow ingress
ip nat outside
ip virtual-reassembly
ip policy route-map rlan_map

interface GigabitEthernet0/1/0
ip address 172.26.2.20 255.255.255.0
ip flow ingress
ip nat inside
ip virtual-reassembly
ip policy route-map rlan_map
negotiation auto