Documente Academic
Documente Profesional
Documente Cultură
BÁSICA DE SERVICIOS
- RED HAT 9 –
PREPARANDO EL SISTEMA
Bueno por cuestiones de seguridad la mayoría de los comandos que usaremos en consola lo haremos como usuario normal
antenponiendo la palabra sudo para ejecutar un comando con privilegio de superusuario. Si quieren saber el porque no
mantener una sesióno como root/superusuario busquen en google, es un tema amplio.
Para ello abrimos una consola (alt+F2 : gnome-terminal) y tipeamos lo siguient e:
*nota: Yo usaré en los ejemplos mi editor de texto favorito: gedit, ustedes pueden usar el que quieran.
$ su -
$ (ingresan el password de root)
$ gedit /etc/sudoers
Y luego de la linea
root ALL=(ALL) ALL
Agregamos la siguiente linea, mi usuario es einstein ustedes cambien por su usuario con el que instalaron Red Hat 9.
einstein ALL=(ALL) ALL
Configuramos la dirección IP de la máquina, ustedes pueden elegir una dirección IP a gusto en mi caso yo usaré una de
clase C: 192.168.56.101/24 (/24 = 255.255.255.0).
Para ello abrimos una consola (alt+F2 : gnome-terminal) y tipeamos lo siguiente:
$ sudo /sbin/ifconfig eth0 192.168.56.101/24 up
Si les pide que ingresen la contraseña pues ingresan la del usuario normal y no la de root.
Ahora para verificar que la interfaz esté funcionando debería responder a la petición del comando PING:
$ ping 192.168.56.101
PING 192.168.56.101 (192.168.56.101) 56(84) bytes of data.
64 bytes from 192.168.56.101: icmp_seq=1 ttl=64 time=0.000 ms
64 bytes from 192.168.56.101: icmp_seq=2 ttl=64 time=0.485 ms
...
CONFIGURANDO EL SERVICIO DE NOMBRES
La computadora que hará de servidor deberá tener un nombre (hostname), en mi caso yo elegí mentalmente el nombre leet.
Una vez definido el nombre del host deberemos definir también un dominio a nuestro gusto yo me decidí por chaplin.com
En todo caso el nombre del host sería: leet
y el dominio que configuraré será: chaplin.com
Con esos datos entonces procedo a configurarlos en el sistema Red Hat 9, para ello editamos el archivo /etc/hosts y el
/proc/sys/kernel/hostname desde una consola:
$ sudo gedit /etc/hosts
Y luego de la línea:
127.0.0.1 localhost.localdomain localhost
Agregamos: dirección ip - nombreDeMaquina.dominio - nombreDeMaquina
192.168.56.101 leet.chaplin.com leet
Luego editamos el archivo hostname
$ sudo gedit /proc/sys/kernel/hostname
Y borramos lo que haya y agregamos: nombreDeMaquina.dominio
leet.chaplin.com
Tambien tenemos que indicarle a nuestra máquina cual será la dirección del servidor dns (osea nosotros mismos)
En el archivo
$ sudo gedit /etc/resolv.conf
Borramos todo y agregamos
domain chaplin.com
nameserver 192.168.56.101
Hasta aquí hemos preparado nuestra máquina para que funcione adecuadamente con el servidor DNS ahora empezemos a
configurar el servidor de nombres ó servidor dns.
Como ya definí que el dominio que usaré será: chaplin.com entonces lo defino como zona en el servidor dns editando el
archivo /etc/named.conf
Abrimos el archivo named.conf
$ sudo gedit /etc/named.conf
Y antes de la linea
include "/etc/rndc.key";
Agregamos esto:
zone "chaplin.com" IN {
type master;
file "chaplin.zone";
allow-update { none; };
};
zone "56.168.192.in-addr.arpa" IN {
type master;
file "chaplin-inversa.zone";
allow-update { none; };
};
IN NS leet.chaplin.com.
IN A 192.168.56.101
IN MX 10 leet.chaplin.com.
leet IN A 192.168.56.101
ftp IN A 192.168.56.101
www IN A 192.168.56.101
En la linea @ IN SOA leet.chaplin.com. root.chaplin.com.
leet.chaplin.com. es el FQDN que tiene autoridad sobre @ (@ = chaplin.com, es como una variable de referencia), y
root.chaplin.com. (root@chaplin.com.) es la dirección de correo del administrador del servidor dns para contactarlo para
cualquier situación.
En la linea IN NS leet.chaplin.com. definimos un registro de tipo NS indicando que el servidor de nombres será
leet.chaplin.com (nombreMaquina.dominio).
En la linea IN A 192.168.56.101 indicamos que el servidor dns estará en la dirección 192.168.56.101
En la linea IN MX 10 leet.chaplin.com. definimos con un registro de tipo MX que el servidor de correo será nuestra
misma máquina leet.chaplin.com. en caso de que el servidor esté instalado en otra computadora entonces agregan
correo.chaplin.com. ó mail.chaplin.com. o cómo se llame la máquina, recuerden que es nombreMaquina.dominio el formato
FQDN.
Luego agregamos los nombres leet, ftp, www con un registro de tipo A e indicamos que esos nombres responderán a la
dirección 192.168.56.101
Si les sale algún tipo de error, porfavor verificar que el puerto con el que trabaja named (tcp 53) esté abierto (hasta aquí el
firewall debería estar desactivado).
Para ello verificamos los puertos que estén abiertos en nuestra máquina:
$ nmap 192.168.56.101
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on leet.chaplin.com (192.168.56.101):
(The 1587 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop-3
111/tcp open sunrpc
139/tcp open netbios-ssn
143/tcp open imap2
443/tcp open https
993/tcp open imaps
995/tcp open pop3s
6000/tcp open X11
Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds
Ahí podemos observar que el puerto 53/tcp open domain está abierto.
Para verificar que nuestro dns server esté funcionando, de manera fácil le hacemos ping a chaplin.com, luego a
leet.chaplin.com, luego a ftp.chaplin.com y www.chaplin.com. Debería haber respuestas.
De aquí en adelante si queremos verificar el funcionamiento del resto de los servicios en otras computadoras (clientes)
entonces deberemos configurar la dirección de los clientos de la siguiente forma:
Dirección IP cualquiera dentro del rango 192.168.56.1 - 192.168.56.254 pero excepto el 192.168.56.101 porque es la IP de
nuestro servidor.
- En máscara de red: 255.255.255.0
- Cómo gateway o puerta de enlace debe estar vacio.
- En servidor dns preferido o primario colocamos pues la IP de nuestro servidor dns osea la 192.168.56.101.
- Y desde el cliente deberíamos tener respuesta con el comando
ping chaplin.com
O
ping 192.168.56.101
Si hay problemas de conectividad entonces desactiven el firewall del cliente.
De ahora en adelante en cualquier cliente que deseémos debemos conectarnos a nuestro servidor usando el nombre
dominio chaplin.com en lugar de 192.168.56.101 sino no tendría sentido haber configurado nuestro resolvedor de nombres
de dominio named.
CONFIGURANDO EL SERVIDOR WEB
Para ello configuramos el archivo httpd.conf
$ sudo gedit /etc/httpd/conf/httpd.conf
Buscan la linea que empieze con:
ServerName
y Cambian la linea entera por
ServerName www.chaplin.com:80
Y eso es todo, en otro tute ya explicaré la configuración avanzada del servidor web: apache2.
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
listen=YES
tcp_wrappers=YES
# para que escuche peticiones en el puerto 21
listen_port=21
Para arrancar:
$ sudo /etc/init.d/vsftpd [start|stop|restart]
La dirección que usaremos para conetarnos al ftp es: ftp.chaplin.com
Puerto: 21
SERVIDOR TELNET
Para el tema de servidor telnet editamos el archivo telnet
$ sudo gedit /etc/xinetd.d/telnet
Y dejamos el archivo tal cómo lo siguiente:
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
SERVIDOR SSH
Editamos el archivo /etc/ssh/sshd_config
$ sudo gedit /etc/ssh/sshd_config
Guardamos lo que hay dentro del archivo en otro archivo cualquiera que nos servirá como archivo de respaldo.
Borramos todo el contenido y copiamos lo siguiente:
# $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 120
PermitRootLogin yes
#StrictModes yes
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#AFSTokenPassing no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#KeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression yes
#MaxStartups 10
# no default banner path
#Banner /some/path
#VerifyReverseMapping no
Desde la computadora cliente usando la utilidad putty verificamos que telnet y ssh estén funcionando:
Dónde dice hostname ponemos el dominio chaplin.com o la IP 192.168.56.101 pero mejor pongan el dominio debería
funcionar igual, es más fácil recordar chaplin.com que 192.168.56.101
En una oportunidad lo hacemos usando el puerto 22 y en otra el puerto 23.
Y les saldrá una ventanita negra dónde tienen que logearse con el usuario de sistema Red Hat o como root, depende de
ustedes luego ponen la contraseña correspondiente y listo.
Podrán ejecutar los mismos comandos desde esa terminal como si estuvieran enfrente de su servidor Red Hat.
SERVIDOR SAMBA
Editamos el archivo: /etc/samba/smb.conf recuerden hacer una copia de dicho archivo por si las moscas.
Borramos todo y copiamos lo siguiente
[global]
workgroup = cualquier_nombre_aqui
server string = comentario de mi maquina
hosts allow = 192.168. 127.
log file = /var/log/samba/%m.log
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
[Downloads]
comment = Downloads
path = /home/einstein/carpeta_a_compartir
browseable = yes
writable = yes
public = yes
read only = no
[homes]
comment = My Home Directory
browseable = yes
writable = yes
public = yes
read only = no
[printers]
path = /var/spool/samba
public = yes
guest ok = yes
printable = yes
browseable = yes
writable = yes
read only = no
Hasta aquí hemos configurado samba, pero tenemos que agregar usuarios validos que puedan acceder al servicio desde un
cliento windows o linux.
Primero entramos como superusuario
$ su -
$ (ingresamos el password del root)
Agregamos todos los usuarios del sistema a samba
# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
Le damos permiso al archivo
# chmod 600 /etc/samba/smbpasswd
Entonces los usuarios que estan en el sistema como root, einstein (en mi caso) podrán acceder al servicio samba desde
afuera un cliente externo como ser un windows u otro linux.
Pero tenemos que cambiarles el password solo para samba como root
# smbpasswd einstein
En el caso de ustedes en lugar de einstein colocan el nombre de su usuario.
Para acceder al servicio samba entonces van a al cliente, por ejemplo en windows. A Mis sitios de Red y despliegan el arbol
de navengación del explorer de windows y buscan ahi su host servidor Red Hat e ingresan, cuando lo hagan les pedirá el
user y password y ponen el que crearon y/o configuramos arriba.
SERVIDOR IMAP
Servidor de correo es: leet.chaplin.com
documentos de configuración: /etc/mail
Para arrancar:
$ sudo /sbin/smb imap [start|stop|restart]
Primero agregamos dos usuarios para que se envien correos de amor mutuamente.
Como superusuario:
# useradd -s /sbin/nologin chapulin1
# passwd chapulin1
Asignacion de clave de acceso para SMTP con metodos cifrados
pongan la misma clave que pusieron anteriormente
# saslpasswd2 chapulin1
# saslpasswd chapulin1
En el archivo acces:
$ sudo gedit /etc/mail/access
Agregan al final lo siguiente:
192.168.56.101 RELAY
Claro ustedes colocan la ip de su servidor.
Buscan la linea
dnl FEATURE(`accept_unresolvable_domains')dnl
Y la comentan con dnl, esto para evitar correos inexistentes.
Habilitamos las siguientes lineas que estan casi al final del archivo
MASQUERADE_AS(`chaplin.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
Es decir le quitamos los dnl
Si gustan en otra computadora cliente agregan el otro correo o en la misma maquina cliente agregan la otra cuenta, asi ya
tendrian las dos cuentas en un mismo cliente de correo.
Luego se envian mensajes de uno al otro de chapulin1@chaplin.com a chapulin2@chaplin.com le dan click en el boton
ENVIAR Y RECIBIR y deberian poder ver los correos que enviaron en el mismo cliente de correo (outlook).
SERVIDOR DHCP
Archivos de configuración en: /etc/dhcpd.conf
Para manipular el servicio:
$ sudo /etc/init.d/dpchd [start|stop|restart]
Editan el archivo
$ sudo gedut /etc/dhcpd.conf
Y agregan lo siguiente
ddns-update-style none;
ignore client-updates;
#lease-file-name "/var/lib/dhcpd/dhcpd.leases";
authoritative;
Como podrán notar en option domain-name "chaplin.com", hago que cada cliente a quién le de una IP mi servidor Red Hat
también le configure el dominio de busqueda a chaplin.com