Internet para empresas con LAN , a través de RDSI.
==================================================
Pablo Idiaquez Rios.
Escenario: Empresa que cuente con una Red de Area Local (LAN),
desee navegar por Internet y Correo Corporativo.
Requisitos:
2 líneas telefónicas CTC a ser pasadas a líneas digitales RDSI.
1 PC para servidor Linux.
mínimo: Pentium 40 MB Ram
1.5 GB en dicso duro.
tarjeta de Red
puerto serial uart 16550
1 cable serial
1 dirección IP fija , puede ser una dirección intranet,
un ISP amigo ;-)
Telefonica al instalar la línea RDSI Básica instala un modem Aethra NT-IP
por lo que no es necesario comprar un modem o una tarjeta ISDN.
Solución Propuesta.
Se instala un servidor Linux en la empresa que atenderá
los siguientes servicios:
- Conexión en demanda, no es necesario marcar.
- Correo interno y a Internet.
- Servicio Proxy Cache Web, para acelerar la navegación y hacer
rendir el ancho de banda limitado 64kbps.
Para Ofrecer los servicios anteriormente descritos se usará:
Distribución Linux RedHat 6.2
Correo: Sendmail + imap
DNS: Bind
Proxy http: Squid
Conexion: pppd
Ver esquema de la Solución
Comparación de enlaces MODEM/RDSI/DEDICADO SINCRONICO
Los enlaces por modem análogos de 56 kbps y anteriores, son un enlace
asincrómico, modo PPP asincrónico.
Un enlace asincrónico por modem pierde bits en el bit de parada y el
bit de paridad. 8N1 , por lo que los bps nominales no son los que aprovecha
el usuario.
Un modem análogo de 56 kbps, típicamente se conecta entre 44 y 48 kbps,
dependiendo de la línea y la marca del modem.
Los enlaces dedicados de 64 kbps Frame-Relay, TDM o banda base, son
sincrónicos.
Los enlace RDSI son sincrónicos es decir son exactamente iguales que un
enlace dedicado sicrónico en rendimiento.
Balance de Carga y Full-Duplex
Un modem es capaz de transmitir en un solo sentido a la vez a su
velocidad nominal, lo que lo hace muy lento cuando ests siendo ocupado
en una transferencia de archivos.
Un enlace sincronico puede transmitir en ambas direcciones si no esta
saturado.
Tiempos de respuesta Característicos
Un enlace por modem tiene un tiempo de respuesta caracteríctico
que fluctua entre 100 y 300 [ms] dependiendo de la marca del modem
Un enlace de 64 kbps sicrónico tiene un tiempo de respuesta de 33 [ms]
Un enlace de 128 kbps sicrónico tiene un tiempo de respuesta de 20 [ms]
Estos tiempos de respuesta son medidos con el comando ping al servidor de
acceso o getway por defecto.
Con el comando ping podemos medir la calidad de nuestro enlace, por
ejemplo aumentando el tamaño del paquete enviado y enviando miles de
paquetes podemos hacer un estudio de la linea. Estabilidad, errores.
Como conclusión un enlace ISDN de 64 kbps es idéntico en rendimiento a un
enlace dedicado de 64 kbps y es mucho superior a un modem de 56 kbps.
Un modem de 56 kbps no puede ser ocupado por mas de 1 usuario.
Costos
Un enlace dedicado de 64 kbps cuesta como mínimo 8 UF dependiendo del
sector.
Un enlace RDSI cuesta 8 pesos el minuto en horas de oficina. Suponiendo
que el proveedor Internet ofrece tarifa SLM-IP que es un 43% del SLM.
El enlace RDSI propuesto es en demanda, es decir solo se utiliza cuando
sea necesario, se estima que una oficina puede gastar alrededor de 50.000.-
pesos en llamadas a Internet utlizando un esquema de
proxy-linea-comnutada. Esto depende claro del uso que se le de.
Además del costo de la llamada debemos pagar el acceso a Internet, si
deseamos Correo para la empresa se requiere de una Direccion IP exclusiva
para nuestro Gateway Linux, el valor de este servicio es de 2 UF mensuales.
Implementación:
1.- Instalar RedHat 6.2
Fijar un espacio abundante a la particion correspondiente a /var
en el directorio /var/ estará el de los usuario correo y las páginas
mantenidas en el cache web, ademas de los logs del sistema.
Se recomienda dejar un particion especial para el cache
web:
/dev/hdc5 4134900 3556804 368048 91% /var/spool/squid
Para esto se recomienda usar la opcion Custom de Instalación.
2.- Instalar los siguientes paquetes:
sendmail-8.9.3-20
squid-2.3.STABLE1-5
imap-4.7-5.i386.rpm
bind-8.1.2-5.i386.rpm
ppp-2.3.5-1.i386.rpm
Verificar instalar las ultimas versiones de estos, revisar en
ftp://updates.redhat.com/ de igual forma tener instalada la ultima
version del kernel disponible en redhat.
3.- Conexion a Internet con RDSI.
- Creamos una conexion a internet con netcfg o via control panel
elegir autentificación PAP.
- Utilizamos los datos del proveedor, numero de telefonos, username
password.
- Como primer para para verificar los datos podemos usar un modem
tradicional.
- Configurar el DNS en el archivo /etc/resolv.conf
nameserver 200.32.74.200
nameserver 209.88.202.3
- Para para ver como va la conexion podemos revisar /var/log/messages
#tail -f /var/log/messages
Una vez que estemos claros con los datos del ISP y que funcione nuestra
conexion con un modem tradicional, pasamos a la configuración para ISDN
- Verificamos que /dev/modem sea ahora un link a /dev/ttySX donde
esta conectado el Aethra.
- Verificamos que versión del Aethra NT-IP tenemos
para esto usamos minicom y tipeamos los comandos Hayes
ATI
ATI1
ATI2
ATI3
El Aethra nos debe responder que version del firmware tiene
instalada. Dependiendo de la version éste debemos cambiar el init
string para conectarnos.
para firmawrae 2.0.6 o anterior usar init string
ATB41CL2048
para firmaware 2.1.x usar init string
ATB40&H3&J3X5
este init string debes ponerlo en el archivo
/etc/sysconfig/network-scripts/chat-ppp0
----------------
'ABORT' 'Login incorrect'
'' 'ATZ'
'OK' 'ATM0DT906234'
------------------
en vez de ATZ
y tambien en el archivo
/etc/sysconfig/network-scripts/ifcfg-ppp0
en la línea
[AINITSTRING=
los scripts de conexion estan en el directorio
/etc/sysconfig/network-scripts/
dependiendo que herramienta usamos para hacer la conexion esta
puede usar chat o expect para marcar el numero telefónico y conversar
con el modem.
Una vez que nuestra conexion funcione, podemos configurar el modo
en demanda o Demand Dial
en el archivo /etc/sysconfig/network-scripts/ifup-ppp
ajustar los siguientes valores
RETRYTIMEOUT=6
/usr/sbin/pppd -detach demand idle 100 $opts $MODEMPORT $LINESPEED \
, en los cuales se fija el retry en 6 segundos, el idle por inactividad
en 100 segundos y el modo en demanda.
en el archivo /etc/sysconfig/network-scripts/ifcfg-ppp0
ajustar los valores de las direcciones IPS fijas.
REMIP=200.32.74.202
IPADDR=209.88.202.93
REMIP correponde a la IP del otrp extremo, esta puede variar.
IPADDR es nuestra direccion que requerimos sea fija, para poder
recibir el correo via SMTP.
Empiricamente despues de horas de prueba comprobamos que en el caso
de Infovia ( que se acaba ) la direccion el peer cambia es decir
podemos entrar por mas de 1 servidor de acceso y cada uno de estos
tiene una IP distinta por lo que el pppd en modo demanda se ranea
terminalmente como solucion parche encontre una IP bruja que se ajusta a
cualquier IP remota , explicación ? Ninguna!
REMIP=10.112.112.112
Configuracion del DNS,
La funcion del Servidor de Nombres en nuestro Linux sera
de Cache de nombre en Internet, y servidor de nombres para el reverso
de las IP de la intranet (LAN).
instalar bind y verificar que este resolviendo nombres
para esto editamos nuevamente /etc/resolv.conf y agregamos
como primer nameserver a 127.0.0.1
nameserver 127.0.0.1
con el comando nslookup podemos ver si esta resolviendo nombres.
si no verificar la configuración /etc/named.conf
zone "." {
type hint;
file "named.root";
};
//
// Localhost
//
zone "127.in-addr.arpa" {
type master;
file "127.rev";
};
zone "localhost" {
type master;
file "localhost";
};
y la existencia de los archivos localhost 127.rev named.root
en el directorio /var/named
el archivo named.root o named.ca o named.cache esta disponible en
FTP.RS.INTERNIC.NET
Debemos definir una clase C para nuestra intranet.
por ejemplo 192.168.10.0 netmask 255.255.255.0
y crear el mapa para el reverso de esta red, esto es muy importante.
debe ser como el siguiente, para el inverso o reverso de la red
192.168.10, 0 que sera 10.168.192.in-addr.arpa
--------------192.168.10.rev
; 192.168.10.0 IPs Intranet para la LAN
;
; Netmask 255.255.255.0
;
;
$ORIGIN 10.168.192.in-addr.arpa.
@ IN SOA k2.imaginativa.cl. mfkr.k2.imaginativa.cl. (
2000112201 ; Serial (Wed Nov 22 08:53:15 CLST 2000)
10800 ; Refresh
1800 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.dominio.cl. ; IP de intranet del linux gateway
; lista de PCs en la intranet
1 IN PTR pc001.dominio.cl.
2 IN PTR pc002.dominio.cl.
3 IN PTR pc003.dominio.cl.
4 IN PTR pc004.dominio.cl.
.
.
.
-------------------------------
- Editar /etc/named.conf para agregar esta zona
zone "10.168.192.in-addr.arpa" {
type master;
file "192.168.10.rev";
};
------- Hasta aqui hemos hablado solo de la configuración de
nuestrso Linux Gateway en la empresa ------------
- Crear el mapa Para el dominio dominio.cl
Existiran 2 versiones de este mapa 1 para el Linux Gateway en la
empresa y otra para el ISP.
- El DNS primario y secundario para dominio.cl deben estar
permanentemente conectados a la Internet por lo tanto la version Oficial
para Internet del mapa del dominio debe estar en los servidores DNS de
nuestro ISP.
En el caso que el ISP nos asigne una IP fija de internet el mapa del
dominio debe ser algo por el estilo:
mapa para el PC Linux en la empresa:
-----------------------------
;
; dominio.cl
;
; Linux Gateway for dominio.cl
;
$ORIGIN dominio.cl.
@ IN SOA linux.dominio.cl. mfkr.k2.imaginativa.cl.
(
2000080301 ; Serial
10800 ; Refresh
1800 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.dominio.cl
;; Configuracion de Correo mapa en Servidor Linux de la empresa
dominio.cl. IN MX 40 linux.dominio.cl.
;; PCs solo direcciones de Intranet
$ORIGIN dominio.cl.
linux IN A 192.168.10.1 ;; solo la ip de intranet
IN MX 10 linux.dominio.cl
pc002 IN A 192.168.10.2
pc003 IN A 192.168.10.3
pc004 IN A 192.168.10.4
------------
Explicacion: para los PCs de la intranet el único encargado
de correo para el dominio (registro MX) sera el Linux con
su Ip de intranet.
En este mapa el Linux solo figura con su Ip de intranet.
Mapa DNS para el ISP, este será el mapa oficial del dominio
para el resto de la Internet.
-------------------
;
; dominio.cl
;
; Linux Gateway for dominio.cl
;
$ORIGIN dominio.cl.
@ IN SOA dns1.isp.cl. mfkr.k2.imaginativa.cl.
(
2000080301 ; Serial
10800 ; Refresh
1800 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns1.isp.cl.
IN NS dns2.isp.cl.
;; Configuracion de Correo mapa en Servidor Linux de la empresa
dominio.cl. IN MX 40 mail.isp.cl. ;; El servidor mail del ISP
IN MX 60 linux.isp.cl. ;; EL linux ip de internet
;; maquinas del dominio
$ORIGIN dominio.cl.
linux IN A 209.88.202.111 ;; ip de internet fija
IN MX 10 linux.dominio.cl.
;; PCs solo direcciones de Intranet
----------------------------------------------
Explicación: Para el resto del mundo, el DNS primario y secundario
de dominio.cl son los DNS del Proveedor Internet,
Los registros MX nos dicen que el correo para dominio.cl lo pueden recibir
indistintamente el linux.dominio.cl o mail.isp.cl , de esta manera
cuando el linux no este conectado a la internet el correo para dominio.cl
será almacenado el la cola de correo del mail.isp.cl.
Configuración de correo. (Sendmail)
El servidor de correo de nuestro proveedor internet tiene que estar
configurado para ser RELAY de nuestro dominio, de manera que acepte los
correos lara usuario@dominio.cl y los guarde el la cola de correos
En el caso de sendmail hay que editar el archivo /etc/mail/access
y agregar el nuevo dominio
dominio.cl RELAY
Luego hay que actualizar la base de datos. Con el comando
#makemap hash /etc/mail/access.db < /etc/mail/access
Y reinicir el Servidor de correo
#/etc/rc.d/init.d/sendmail restart
En el servidor linux instalado el la oficina del cliente dominio.cl
hay que configurar el servidor de correo para que se haga cargo de
dominio.cl
Esto lo hacemos editando el archivo /etc/sendmail.cw
agregamos las lineas
dominio.cl
linux.dominio.cl
Configuracion Sendmail en modo Smart Host
- En el archivo /etc/sendmail.cf buscamos la línea que dice
Smart
# "Smart" relay host (may be null)
DSmail.isp.cl
De esta manera todo el correo para la internet sera sepachado via SMTP
al servidor de correo de nuestro proveedor internet. Esto ahorra mucho
tiempo en enviar directamente el mail al servidor de algun dominio
con mala conexion.
Habilitar permisos para que los PC de la intranet puedan usar
el servidor linux como Servidor de Correo Saliente (SMTP)
Editar el archivo /etc/mail/access
agregar la líneas
192.168.10 RELAY
dominio.cl RELAY
- Actualizar base de datos
#makemap hash /etc/mail/access.db < /etc/mail/access
- Reiniciar sendmail
#/etc/rc.d/init.d/sendmail restart
Configurar el Servidor Linux para que traiga el correo
cada 30 minutos.
- Es necesario configurar el Servidor Gateway Linux para que se
conecte automáticamente cada cierto periodo de tiempo y pida el
correo pendiente para su dominio.
Para esto utilizaremos el comando ETRN del protocolo ESTMP,
para este efecto disponemos del siguiente script en expect:
------get-mail.ex----------
#!/usr/bin/expect -f
spawn telnet mail.isp.cl smtp
expect -timeout 80 "ESMTP Sendmail"
sleep 0.5
send "ehlo linux.dominio.cl\r"
expect "Hello"
sleep 0.5
send "etrn dominio.cl\r"
expect "Queuing"
sleep 0.5
send "etrn DOMINIO.CL\r"
expect "Queuing"
sleep 0.5
send "quit\r"
--------------------------
Este script pide que se despache inmediatamente la cola
de correo para dominio.cl via SMTP al linux.
Para ejecutar este comando cada 30 minutos o el tiempo que estimemos
necesario recurrimos a crontab
------------crontab-get-mail
# crontab para recoger correo
00 * * * * /root/get-mail.ex >>/var/log/get-mail.log
30 * * * * /root/get-mail.ex >>/var/log/get-mail.log
------------
para configurar como cualquier usuario
$crontab crontab-get-mail
Servidor de correo entrante POP3 o IMAP
Debemos verificar que nuestro linux tenga habilitado el
servicio pop-3 y el servicio imap, como ya se indico
debe estar instalado el paquete imap, quer contiene imap y pop3
revisar el archivo /etc/inetd.conf
debe estar asi:
--------------
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
imap stream tcp nowait root /usr/sbin/tcpd imapd
--------------
si modifico el archivo, reiniciat inetd
#killall -HUP inetd
--------------------------------------
Configuración Correo en los PCs.
Necesita un programa cliente pop-3 o imap , se recomienda Outlook
o Eudora.
Servidor de correo entrante (POP3): 198.168.10.1
Servidor de correo saliente (SMTP): 198.168.10.1
username: usuario
(no debe estar marcada la opcion de trasferencia segura de correo)
------------------------------------
Proxy HTTP con Cache. (Squid)
el archivo de configuracion es el /etc/squid/squid.conf
Primero configuremos en que puerta escuchara las peticiones
------------
http_port 8080
-------------
asi configuramos para que ocupe el puerto 8080.
Luego configuramos la cantidad de espacio que ocupara nuestro
cache, esto depende de cuanto espacio tengamos en disco
recomendable para una red pequeña como mínimo 500 MB recomendable 1 GB
-----------
cache_dir ufs /var/spool/squid 1024 16 256
------------
#1024 = 1024 MB es decir 1 GB
Restricciones de acceso al cache: debemos permitir el acceso
desde todas las ips de la intranet, esto lo hacemos creado
ACL , o listas de control de acceso.
-------------
acl intranet src 192.168.10.0/255.255.255.0
http_access allow intranet
-------------
reiniciar squid
#/etc/rc.d/init.d/squid restart
Configuracion de PCs Intranet para Navegar a través de Proxy
Setear navegador para usar proxy http: 192.168.10.1 port:8080
Con esta configuración todos los usuarios podran navegar y
enviar correo. Otros protocolos no estan permitidos porque demandan
demasiado ancho de banda y demasiados minutos de conexion (napster
irc , etc)
Pablo Idiaquez
hecho para Jornadas Linux U. BioBio 2000.
mfkr@imaginativa.cl
mfkr@inf.utfsm.cl
http://www.networksolutions.cl/pablo/