yum install vsftpd
Para instalar Apache:
yum groupinstall “Servidor Web”
Para iniciar Apache:
service httpd start
Para que se inicie al bootear:
chkconfig httpd on
Para iniciar FTP:
service vsftp start
Para que se inicie al bootear:
chkconfig vsftpd on
Para agregar un usuario:
useradd –g ftp –d /var/www/directorio_de_user –c “nombre” nombre
Asignar contraseña con:
passwd nombre
Para una shell fantasma, primero creamos una carpeta con:
mkdir /bin/ftp
Ahora editamos el siguiente archivo “/etc/shells” y agregamos al final la línea:
/bin/ftp
Modificamos el siguiente archivo “/etc/passwd” y a los usuarios de ftp les cambiamos la shell de /bin/bash a /bin/ftp
Dejamos a un usuario como dueño de un directorio y sus subdirectorios:
chown –R nombreuser /var/www/directorio_de_user
Le damos al dueño del directorio, permisos de lectura-escritura-ejecucion:
chmod 777 /var/www/directorio_de_user
Editamos el archivo de configuración de Apache “/etc/httpd/conf/httpd.conf” y descomentamos o cambiamos lo siguiente:
ServerName www.miservercentos.com:80 # también se puede poner: ip_del_server:80
ServerSignature off
NameVirtualHost *:80
Y agregamos lo siguiente al final:
DocumentRoot /var/www/directorio_de_user/
ServerName www.user_url.tco
Después de guardar el archivo, ponemos el siguiente comando en la consola:
service httpd restart
Hacemos esto para asegurarnos, de que se configuro correctamente
Editamos el archivo de configuración de FTP “/etc/vsftpd/vsftpd.conf” y agregamos/modificamos lo siguiente:
anonymous_enable=NO # Colocar esto al inicio
.
.
.
chroot_local_user=YES # Colocar
chroot_list_file=/etc/vsftpd/chroot_list # esto
pasv_max_port=4500 # al
pasv_min_port=4000 # final
Creamos el archivo “chroot_list” con:
touch /etc/vsftpd/chroot_list
Copiamos los nombre de usuario desde el archivo passwd a chroot_list
cat /etc/passwd | awk -F: '{ print $1 }' > /etc/vsftpd/chroot_list
Editamos el archivo “/etc/vsftpd/chroot_list” y borramos los usuarios que NO queremos enjaular, dejamos solo los que queremos que se conecten por FTP
Modificamos el siguiente archivo de configuración de IPTABLES “/etc/sysconfig/iptables” y agregamos las siguientes líneas entre sus similares:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4000:4500 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20:21 -j ACCEPT
En el archivo de configuración de SELINUX “/etc/selinux/config” cambiamos la opción de SELINUX de enforcing a permissive
SELINUX=permissive
Reiniciamos el computador, para que SELINUX haga los cambios y cuando este cargado el sistema, desde otro computador, con el programa FileZilla, coloca la IP del server y un nombre de usuario y contraseña de los que se crearon, con el puerto 21.
2da parte:
Para instalar DHCP:
yum install dhcp
Editamos el archivo “/etc/dhcp/dhcpd.conf” y agregamos lo siguiente:
autoritative;
ddns-updates on;
ddns-update-style ad-hoc;
shared-network red1{
subnet 200.104.13.0 netmask 255.255.255.0{
option routers 200.104.13.106;
option domain-name-servers 8.8.8.8,8.8.4.4;
option subnet-mask 255.255.255.0;
range dynamic-bootp 200.104.13.6 200.104.13.38;
default-lease-time 2160;
max-lease-time 4320;
}
group{
host macip{
hardware ethernet 90:A4:DE:3C:34:03;
fixed-address 200.104.13.42;
}
}
}
Modificamos el archivo de configuración de IPTABLES “/etc/sysconfig/iptables” y agregamos la siguiente línea para abrir los puertos 67 y 68 que usa DHCP:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 67:68 -j ACCEPT
Editamos el archivo “/etc/sysconfig/dhcpd” y en “DHCPDARGS” ponemos la o las interfaces que va a utilizar DHCP:
DHCPDARGS='eth0'
Con esto DHCP ya esta configurado, ahora para ver si la configuración esta bien, ponemos el siguiente comando:
service dhcpd configtest
Si dice “Syntax: OK” es que todo esta bien, caso contrario revisar lo que se modifico en busca de errores
Para iniciar DHCP:
service dhcpd start
Para que se inicie al bootear:
chkconfig dhcpd on
Eso seria.. no tengo ni idea de como probar si funciona.
Para instalar Squid:
yum install squid
Editar “/etc/squid/squid.conf” y poner lo siguiente:
acl todo src all
acl mired src 200.104.13.0/24
acl palabrasno url_regex "/etc/squid/palabrasno"
.
. # Colocarlo despues de todas las definiciones acl
http_access allow mired !palabrasno
visible_hostname neveg_server
.
. # aquí solo hay que buscar la línea http_port 3128 y agregarle transparent
http_port 3128 transparent
Crear archivo “/etc/squid/palabrasno” y poner lo siguiente:
youtube
hola
perro
gato
animal
marte
gmail
En “/etc/sysconfig/iptables” poner lo siguiente:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -s 200.104.13.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
COMMIT
*filter
.
. # Colocarlo entre las otras lineas que igual abren puertos.
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
.
COMMIT
Despues poner:
service iptables restart
Para iniciar squid:
service squid start
DNS:
Para instalar BIND y proporcionar DNS:
yum install bind bind-chroot bind-utils bind-libs
Directorios:
Archivo de configuracion general:
/var/named/chroot/etc/named.conf
Es en este archivo donde se colocan las opciones del servidor y definimos las zonas que queremos crear.
Directorio de archivos de zonas:
/var/named/chroot/var/named/
Es en este directorio donde guardaremos los archivos los archivos “.zone” y los de resolución inversa “.in-addr.arpa.zone”, los cuales van a ser llamados por “named.conf”.
Editamos “/var/named/chroot/etc/named.conf” y agregamos lo siguiente:
options {
directory "/etc";
pid-file "/var/run/named/named.pid";
recursion no;
};
zone "example.org" {
type master;
file "/var/named/example.org.hosts";
};
Ahora creamos un archivo zone (en realidad se puede llamar como sea) haciendo:
vim /var/named/chroot/var/named/example.org.hosts
Le ponemos lo siguiente:
$ttl 38400
example.org. IN SOA dns0.example.com. pmembrey.example.org. (
1187790697 ; serial number
10800 ; refresh
3600 ; retry
604800 ; expiry
38400 ) ; minimum
www.example.org. IN A 192.168.1.1
ftp.example.org. IN CNAME www
mail.example.org. IN A 192.168.1.2
mail2.example.org. IN A 10.0.0.1
example.org. IN NS dns0.example.com.
example.org. IN NS ns1.example.net.
example.org. IN MX 10 mail
example.org. IN MX 20 mail
Para ver que todo esté bien, reiniciamos el servicio named colocando:
service named restart
De haber errores, te dirá cuales son para que puedas corregirlos.
Ahora ponemos el comando:
host www.example.org localhost
Con eso le daría una dirección ipv4 y ipv6 a nuestro dominio a nivel local.
Ojo que pueden haber N zonas dentro de un server DNS, solo hay que preocuparse de escribir el archivo .zone
No coloque un ejemplo de resolución inversa porque ningún ejemplo de los que hay en internet me funcionaron, esto bien puede ser problema de mi conexión o bien que los ejemplos de versión de Centos son diferentes a los de la versión 6।
para probar las zonas y la configuracion ejecutar una vez terminado
named-checkzone
named-checkconf
del paquete bind-utils