Pasos para crear tu cuenta gitlab y subir tu proyecto




  • al llenar tus datos de registro te enviaran un email de confirmación a tu correo electrónico






  •  al presionar click en el enlace de confirmación te llevara a la siguiente pagina, y presionas el botón de New Proyect





  • proyect path: va el nombre de nuestro proyecto no puede tener espacios
  • description: una breve explicación de lo que realiza nuestro proyecto
  • visibillity level: son los distintos niveles de visibilidad de tu proyecto y acceso a el para descarga
  •  Inserta todos tus datos y Presionas Create Proyecto





  •  ok, ya creamos nuestro proyecto en gitlab, ahora hay un detalle, que no tenemos una llave ssh en nuestro gitlab por eso hay un mensaje que nos pide agregar una ssh key, bueno presionamos en add an SSH Key










  • ahora es necesario que abran un terminal en su Gnu/linux y ejecuten los siguiente:  ssh-keygen
  • Terminal:
    ssh-keygen
     
  • te preguntara si quieres registrar en la ruta /home/TU_USUARIO/.ssh/
  • Te pedirá que introduzca una clave (esta clave la usaras para conectarte)
  • te emitirá un mensaje que logro crear la llave y la ruta donde esta creada /home/TU_USUARIO/.ssh/


    ahora para obtener la key(llave) esta es la forma mas facil:

    Terminal:
    sudo apt-get install xclip


    Terminal:
     xclip -sel clip < ~/.ssh/id_rsa.pub

    o
    Terminal:
    cat ~/.ssh/id_rsa.pub

    y con eso ya tienes en tu portapapeles la información de tu llave solo de pegar en el gitlab



  •  buscas con el file manager de tu Gnu/linux en /home/TU_USUARIO/.ssh/



  • Coloca un titulo de referencia en Title
  • ahora copia lo que contiene tu archivo id_rsa.pub  en el campo Key





  • listo ya agregamos correctamente la key





  •  ahora es necesario instalar el paquete git y para eso debes abrir una consola y ejecutar los siguiente
    Terminal:
    sudo apt-get install git

      te preguntara si deseas continuar la instalación y presiones que S
  • luego que finalice la instalación vamos a ejecutar los siguientes comandos de gitlab
  • OJO ESTE ES MI GITLAB USTEDES TIENEN OTRO USUARIO Y EMAIL
Terminal:
  git config --global user.name "zcqopx"
Terminal:
 git config --global user.email "zcqopx@gmail.com"
        luego
  • Create a new repository
Terminal:
git clone git@gitlab.com:zcqopx/pruebaparablogger.git
          

  • el comando anterior nos sincroniza con el proyecto gitlab creado.


  • Entras en la carpeta del proyecto       
Terminal:
cd pruebaparablogger
  • Creas el archivo README.md          
Terminal:
touch README.md
  •  listas los archivos para verificar que se crearon
Terminal:
ls


  • ahora aunque no es necesario que lo hagas yo cree 2 archivos estilos.css y jquery.js para que vean como agregar mas archivos aparte del README.md al gitlab
  • lista los archivos dentro de la carpeta
Terminal:
ls

  •   se agregan a la cola de subida o archivos a sincronizar con gitlab
Terminal:
git add README.md

Terminal:
git add estilos.css

Terminal:
git add query.js
                si quieres añadirlos todos con un solo comando usa:
Terminal:
git add --all
        

  •  aplico los cambios en el README de los archivos a subir o sincronizar       
Terminal:
git commit -m "add README"

  •      Subir Sincronizar los archivos en gitlab pedira la clave ssh que escribiste  cuando ejecutaste el ssh-keygen ahora para realizar la acción de subida y sincronización con gitlab ejecutar:
Terminal:
git push -u origin master


  • ve a Proyect selecciona tu proyecto y en la opción de file podrás visualizar tus proyectos 





















CREAR RAMAS

  •  Hay 2 cosas muy importante que debes tener en cuenta
  • Branch (Ramas) ramas de desarrollo
    Cada repositorio tendrá al menos 2 branches (Ventajas de usar un branch develop):

    master <- Versiones que fueron testeadas y tienen un tag asignado.
    develop <- Modificaciones en progreso, el contenido de esta rama puede no funcionar.

    Luego opcionalmente pueden existir los siguientes branch:

    • feature-* <- Características especiales, por ejemplo 'feature-soporte_efi'
    • hotfix-* <- Corrección de bugs, por ejemplo 'hotfix-segfaul_al_abrir'
    • release-* <- Últimos comits antes de crear un tag

  •  Crear branch develop y posicionarse en ese branch:
Terminal:
git checkout -b develop
Terminal:
git checkout develop
Terminal:
git add --all
Terminal:
git commit -m "original"
Terminal:
git push -u origin develop # El -u solo es necesario en el primer push
          si quieres eliminar el branch creado usa
Terminal:
git push origin --delete develop


  • Con los comandos anteriores ya tendras sincronizados tu archivos en el branch (rama) develop
  • ahora para agregar todos los archivos modificados y sincronizarlos al repositorio

    Terminal:
    git add --all
    Terminal:
    git commit -m "prueba blogger"
    Terminal:
    git push origin develop

  • de igual forma lo puedes hacer con master pero es mas recomendable subir siempre en develop y a master cuando sepas que ya esta bien testeado

















  • si deseas sincronizar en otra computadora por ssh-key


    #creas la ssh-key la agregas como en los pasos anteriores y ejecutas los comandos

    Terminal:
    git config --global user.name "zcqopx"
    Terminal:
    git config --global user.email "zcqopx@gmail.com"
    Terminal:
    git clone git@gitlab.com:zcqopx/pruebaparablogger.git
    #entramos en la carpeta del proyecto antes creado
    Terminal:
    cd existing_folder 
    Terminal:
    git init #inicializamos git
    #añadimos el repo
    Terminal:
    git remote add origin git@gitlab.com:zcqopx/pruebaparablogger.git 
    ahora sincronizamos el repo remoto con el local
    Terminal:
    git fetch
    #o puede seleccionar directamete el branch
    Terminal:
    git fetch origin test

    #al final nos mostra lo siguiente
  • * [new branch]      develop    -> origin/develop
     * [new branch]      master     -> origin/master
     * [new branch]      test       -> origin/test

    y seleccionamos el que deseamos sincronizar
    ejemplo
Terminal:
 git checkout test


  • SUBIR ARCHIVOS EN UN PROYECTO YA CREADO


    logearnos en la configuracion local de nuestra pc

    Terminal:
     git config --global user.name "zcqopx"
    Terminal:
    git config --global user.email "zcqopx@gmail.com"
     OJO ESTE ES MI GITLAB USTEDES TIENEN OTRO USUARIO Y EMAIL
    #entramos en la carpeta del proyecto antes creado

    OJO es importante tener en cuenta que vamos primero a obtener todos los archivos remotos si hay archivos modificados en el folder que crearemos a continuacion se perderarn, añadirlos despues del paso de checkout
    Terminal:
    cd existing_folder
    #inicializamos git
    Terminal:
    git init
    #añadimos el repo
    Terminal:
    git remote add origin git@gitlab.com:zcqopx/pruebaparablogger.git
    #hacemos pull repo
    Terminal:
    git pull origin 
    #sincronizamos con nuestros repo en la rama (branch) develop
    Terminal:
    git fetch origin develop
    #sincronizamos con nuestros repo en la rama (branch) develop
    Terminal:
    git checkout -f develop

    AHORA SI PUEDEN AÑADIR LOS ARCHIVOS MODIFICADOS PARA SUBIR AL REPO SINCRONIZADO
    #añadimos todos los archivos dentro
    Terminal:
    git add --all
    #realizamos un commit(explicación de la subida o cambios en el repo)
    Terminal:
    git commit -m "desarrollador cirel ramos"
    #subir los archivos en el repo con la rama develop
    Terminal:
    git push origin develop


COMPARAR  ARCHIVOS DE UN PROYECTO LOCAL CON EL REMOTO EN GIT 


Terminal:
git diff



 DESCARGAR UN REPO ACTUALIZAR UNA RAMA

ten en cuenta que esto es para un directorio sin archivos comenzando con


Terminal:
git init
Terminal:
git remote add origin git@gitlab:tuproyecto

la idea final de esto es que de repente tienes tu archivos en otra carpeta ya bien modificados pero quieres subirlos sin dañar el trabajo de otros o el tuyo mismo, creas una nueva carpeta te bajas el repo y realizas los pasos para subirlo como se debe.

podemos realizar un git pull general y nos descargara todas las ramas(branchs) del repositorio

Terminal:
git pull
o seleccionar una en particular
Terminal:
git pull develop
ahora realizamos fetch de la rama o general
Terminal:
git fetch origin develop
y con el checkout verificamos los archivos locales y los mostramos
Terminal:
git checkout develop

ahora si añadimos los archivos modificados y luego procedemos a ejecutar los pasos para la subida empezando por el siguiente
Terminal:
git add -u
ó
Terminal:
git add --all
Terminal:
git commit -m "fetch: inicio subida"
Terminal:
git push origin develop
listo con eso deberia tener tu repo actualizado


REALIZAR UN MERGE DE UNA RAMA
Terminal:
git checkout master
Terminal:
git pull origin master
Terminal:
git merge test
ó  para forzar al merge a remplazar todo sin resolver conflictos
Terminal:
git merge -s ours
Terminal:
git push origin master



SI QUIERES RESTAURAR LOS ARCHIVOS DEL REPO SOBRE LOS LOCALES

Terminal:
git fetch origin master
Terminal:
git reset --hard origin/master


SI QUIERES RESTAURAR ARCHIVOS ESPECIFICOS

restaurar a un commit especifico
Terminal:
git checkout 9b059ae routes/web.php


restaurar a un commit especifico
Terminal:
git checkout origin/Feature-T11-add-filter-product routes/web.php




SI QUIERES MIGRAR DE UNA RAMA A OTRA SIN REALIZAR MERGE, de master a develop

Terminal:
git branch -f develop master 
Terminal:
git push origin master:develop



REALIZAR UN MERGE CUANDO: “Already up-to-date”  

personalmente prefiero borrar la carpeta donde tengo el repo en mi pc y luego realizar el merge
Terminal:
git init
Terminal:
git remote add origin git@gitlab.com:root/tu-repo
Terminal:
git pull origin master
Terminal:
git checkout master
Terminal:
git pull origin el-repo-que-quieres-merge
Terminal:
git mergetool


Nota: te recomiendo instalar meld  es un excelente gestor para comprar entre los archivos del merge


Terminal:
find -iname "*.orig*" -delete
Terminal:
git checkout  el-repo-que-quieres-merge
Terminal:
git merge master
Terminal:
git commit
Terminal:
git push origin el-repo-que-quieres-merge




BORRAR COMMITS REMOTOS
personalmente prefiero borrar la carpeta donde tengo el repo en mi pc y luego realizar el merge
listar los commits
Terminal:
git log --decorate --pretty=format:"%ad %h by %an, %s" --date=iso | sort -r | less
reiniciar localmente el repo al commit en especifico
Terminal:
git reset --hard HEAD~%number%
aplicar los cambios
Terminal:
git push origin %rama% -f



FORZAR UN GIT PULL
Ver los Commits es posible que tu local este desactualizado master
Terminal:
git log --decorate --pretty=format:"%ad %h by %an, %s" --date=iso | sort -r | less
reiniciar localmente el repo al commit en especifico
Terminal:
git reset --hard HEAD
bajar los cambios a los directorios origin del .git
Terminal:
git pull origin
ahora hacer reset en base al master actualizado remoto que seria origin
Terminal:
git reset --hard origin/master 
para que todo sea de forma original, hacemos el git pull normal
Terminal:
git pull origin master




Si el .gitignore no funciona
Terminal:
git rm . -r --cached
Terminal:
git add .
Terminal:
git commit -m "fixed untracked files"
Terminal:
git push origin master


verificar si hay un repositorio 

Terminal:
git remote -v 

Verificar la rama donde estas o el commit

Terminal:
git show --name-status
Terminal:
git show --name-status <commit>

Mostrar los commit y elementos añadidos en cada commit

Terminal:
git show --stat --oneline

o

Terminal:
git log --stat --oneline


Limpiar archivos basura o sin limpiar

Terminal:
git clean -f
Visualizar archivos a Limpiar

Terminal:
git clean -n -f
Limpiar Archivos

comandos utiles

Terminal:
git commit --amend
reescribir el ultimo comit

Terminal:
git add -p
agregar por pedazos o partes codigo al commit

Terminal:
git rebase -i
ordenar o depurar commits


 Mostrar Diferencias entre ramas

primero chequeamos las ramas locales y remotas que tenemos
Terminal:
git branch -a

luego seleccionamos la rama local o remota a comparar seguido por  2 puntos entre cada una ejemplo

Version Consolax

Terminal:
git diff master..develop

Version Grafica
Terminal:
git difftool master..remotes/origin/desarrollo

para cambiar la herramienta de comparacion
Terminal:
git difftool --tool-help





Realizar un Merge

ejemplo quiero hacer merge con master y mi rama modificada es develop
Terminal:
git checkout master

Terminal:
git pull origin master

ahora tenemos bien actualizado master, procedemos hacer merge

cambiamos a la rama develop
Terminal:
git checkout develop

Sincronizamos con master
Terminal:
git pull origin master
te pedira que confirmes el commit o que resuelvas los conflictos y luego hacer pust
Terminal:
git push origin develop


Configurar para copiar commits a otro repo
Terminal:
git remote add cirelramos git@gitlab.com:cirelramos/blog-production

Terminal:
git push -u cirelramos --all

Terminal:
git push -u cirelramos --tags

borrar ramas locales 
Terminal:
git branch | grep -v "master" | xargs git branch -d

BORRAR RAMAS REMOTAS
IMPORTANTE LO QUE ESTA MARCADO EN AZUL SON LAS RAMAS QUE VA A EXCEPTUAR DE LA ELIMINACION
Terminal:
git checkout -f master && git branch -r | grep -v -e master -e stable -e upload-version-laravel-to-7 | cut -d '/' -f2- | xargs  git push origin --delete


Comparar cambios de una rama en otra.

tendremos 3 ramas presentes: rama_cambios_nuevos, rama_de_comparacion, master.
partiendo de la premisa que ya tenemos modificaciones en rama_cambios_nuevos

Terminal:
git checkout master
Terminal:
git checkout -b rama_de_comparacion
Terminal:
git checkout rama_cambios_nuevos ./ -f
Terminal:
 git restore --staged ./
Terminal:
 git status | grep "modified:" | cut -d ":" -f2 |  xargs grep -L "string_not_exist_in_files"




borrar commits de una rama, supongamos que el commit hasta donde queremos restaurar es c26fbb30

ejecutamos los siguientes comandos en la rama, en este caso seria test 


Terminal:
git checkout test -f
Terminal:
git pull origin test
Terminal:
git reset --soft c26fbb30
Terminal:
git push origin test -f
los commits posteriores a estaran eliminados del historico del repositorio.

Fuente: https://drive.google.com/file/d/0B-2FDrPc5MapN2Y5cU9QX2lhMGs/view?usp=sharing

Fuente: https://www.atlassian.com/git/tutorials/syncing/git-push
Solución:

ante todo verificar que tengas instalado correctamente el guest additions
, de lo contrario debes primero instalar el guest additions

puedes seguir esta guia ->   http://cirelramos.blogspot.com/2015/05/virtualbox-guest-additions-building.html

crear el archivo o modificarlo /etc/X11/xorg.conf

con el siguiente comando:

nano  /etc/X11/xorg.conf


y pegar el siguiente código:

Section "Device"
   Identifier "VBoxVideo"
   Driver "vboxvideo"
EndSection

Section "Monitor"
  Identifier   "Monitor[0]"
  ModelName    "VirtualBox Virtual Output"
  VendorName   "Sun Microsystems Inc"
EndSection

Section "Device"
  BoardName    "VirtualBox Graphics"
  Driver       "vboxvideo"
  Identifier   "Device[0]"
  VendorName   "Sun Microsystems Inc"
EndSection

Section "Screen"
  SubSection "Display"
    Depth      24
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection





para guardar crtl+O  y para salir ctrl+x


reiniciar la maquina virtual y verificar el funcionamiento


fuente: https://forums.virtualbox.org/viewtopic.php?f=3&t=33077
Pasos para instalar LAN Messenger

ir a la pagina oficial de LAN Messenger  http://lanmsngr.sourceforge.net/ y Presionar el botón Download    



presionar en el boton "Debian Packge" ya que instalaremos en ubuntu/linux mint



 Esperamos a que pasen los segundos para ejecutar la descarga...



guardamos el Archivo


Esperamos que descargar el archivo



y lo ejecutamos con GDebi o el centro de software en ubuntu


Esperamos que finalice la instalación



Abrimos un editor de texto

Nota: la imagen del icono se las coloco mas abajo igual que el texto de contenido



icono ->  
copiar al icono a la siguiente ruta  /home/TU_USUARIO/.local/share/applications
Nota: si falta la carpeta "applications" la pueden crear y funcionara el icono.

codigo:


[Desktop Entry]
Version=1.0
Type=Application
Name=lan Messenger
Comment=lan messenger
Icon=/home/TU_USUARIO/.local/share/applications/icon.png
Exec="lmc"
NoDisplay=false
Categories=WebBrowser;X-Gnome-Other;
StartupNotify=true
Terminal=false




guardar el archivo con el siguiente nombre y extensión: lanmessenger.desktop

en la siguiente ruta  /home/TU_USUARIO/.local/share/applications

Nota: si falta la carpeta "applications" la pueden crear y funcionara el icono.


Luego puedes buscar directamente la aplicación en tu menu



en la parte inferior derecha arrancara el LAN Messenger, presionamos click derecho y se despliega una serie de opciones o simplemente damos doble click izquierdo para que se muestre la ventana principal de LAN Messenger



Shodan es un motor de búsqueda que permite al usuario encontrar tipos específicos de equipos (routers, servidores, etc.) conectados a Internet a través de una variedad de filtros. Algunos también lo han descrito como un motor de búsqueda de banners de servicios, que son meta-datos que el servidor envía de vuelta al cliente. Esto puede ser información sobre el software de servidor, ¿qué opciones admite el servicio, un mensaje de bienvenida o cualquier otra cosa que el cliente puede saber antes de interactuar con el servidor.
Shodan recoge datos sobre todo en los servidores web en el momento (HTTP puerto 80), pero también hay algunos datos de FTP (21), SSH (22) Telnet (23), SNMP (161) y SIP (5060) servicios.
Fue lanzado en 2009 por el informático John Matherly, quien, en 2003, concibió la idea de dispositivos conectados a Internet a buscar. El nombre Shodan es una referencia a SHODAN, un personaje del videojuego System Shock.

(CNN) – “Cuando la gente no encuentra algo en Google, se cree que nadie lo puede encontrar. Eso es falso”.
La apreciación corresponde a John Matherly, creador de Shodan, el buscador más terrorífico de Internet.
A diferencia de Google, que se concentra en la búsqueda de sitios web, Shodan es una especie de buscador “oscuro” que detecta servidores, cámaras web, impresoras, routers y todo aquello que se conecta y forma Internet.
Shodan opera permanentemente y obtiene información de unos 500 millones de dispositivos y servicios conectados cada mes. Y los resultados de las búsquedas son sorprendentes: desde semáforos hasta cámaras de seguridad, pasando por sistemas de calefacción y crematorios.
Los usuarios de Shodan también han encontrado sistemas de control para un parque acuático y una estación de servicio. Y los investigadores en seguridad informática han localizado sistemas de comando y de control de plantas nucleares y un acelerador de partículas utilizando Shodan.
Pero lo que llama la atención de Shodan, y lo que lo hace tan escalofriante, es que muy pocos de estos dispositivos tienen restricciones de seguridad para acceder a ellos.
En mayo de 2013, CNN Money publicó un artículo que detalla cómo SHODAN se puede utilizar para encontrar sistemas peligrosas en Internet, incluyendo controles de semáforos. Muestran imágenes de esos sistemas, que proporcionaron la bandera de advertencia “La muerte puede ocurrir !!!” al conectarse.
El cortafuegos utilizado para gestionar las conexiones en Linux es iptables. Las posibilidades de iptables son prácticamente infinitas y un administrador que quiera sacarle el máximo provecho, puede realizar configuraciones extremadamente complejas. Para simplificar, diremos que básicamente, iptables permite crear reglas que analizarán los paquetes de datos que entran, salen o pasan por nuestra máquina, y en función de las condiciones que establezcamos, tomaremos una decisión que normalmente será permitir o denegar que dicho paquete siga su curso.



El cortafuegos controla las comunicaciones entre la red y el exterior
Para crear las reglas, podemos analizar muchos aspectos de los paquetes de datos. Podemos filtrar paquetes en función de:

Tipo de paquete de datos:
  • Tipo INPUT: paquetes que llegan a nuestra máquina
  • Tipo OUTPUT: paquetes que salen de nuestra máquina
  • Tipo FORWARD: paquetes que pasan por nuestra máquina
Interfaz por la que entran (-i = input) o salen (-o = output) los paquetes
  • eth0, eth1, wlan0, ppp0, ...
IP origen de los paquetes (-s = source)
  • IP concreta, ej: 10.0.1.3
  • Rango de red, ej: 10.0.1.0/8
IP destino de los paquetes (-d = destination)
  • IP concreta, ej: 10.0.1.3
  • Rango de red, ej: 10.0.1.0/8
Protocolo de los paquetes (-p = protocol)
  • Tcp, udp, icmp...
Hacer NAT (modificar IP origen y destino para conectar nuestra red a otra red o a Internet) y...
  • Filtrar antes de enrutar: PREROUTING
  • Filtrar después de enrutar: POSTROUTING


Los paquetes pueden entrar, salir o pasar
Una forma sencilla de trabajar con iptables es permitir las comunicaciones que nos interesen y luego denegar el resto de las comunicaciones. Lo que se suele hacer es definir la política por defecto aceptar (ACCEPT), después crear reglas concretas para permitir las comunicaciones que nos interesen y finalmente, denegar el resto de comunicaciones. Lo mejor será crear un script en el que dispondremos la secuencia de reglas que queremos aplicar en nuestro sistema. Un ejemplo típico podría ser el siguiente:
#!/bin/sh
# Script cortafuegos.sh para la configuración de iptables
#
# Primero borramos todas las reglas previas que puedan existir
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

# Después definimos que la politica por defecto sea ACEPTAR
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# Para evitar errores en el sistema, debemos aceptar
# todas las comunicaciones por la interfaz lo (localhost)
iptables -A INPUT -i lo -j ACCEPT

# Aceptamos las comunicaciones que nos interesan y luego denegamos el resto.

# Ejemplo: Denegamos acceso al aula 1
iptables -A FORWARD -s 10.0.1.0/24 -j DROP

# Aceptamos SMTP, POP3 y FTP (correo electrónico y ftp)
iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 21 -j ACCEPT

# HTTP y HTTPS no es necesario porque nuestro servidor será servidor proxy
# Dejamos comentadas las líneas, por si algún día las necesitamos
#iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 80 -j ACCEPT
#iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT

# DNS no es necesario porque nuestro servidor será servidor DNS
# Dejamos comentadas las líneas (tcp y udp), por si algún día las necesitamos
#iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 53 -j ACCEPT
#iptables -A FORWARD -s 10.0.0.0/8 -p udp --dport 53 -j ACCEPT

# Al PC del Director le damos acceso a todo (cliente VIP)
iptables -A FORWARD -s 10.0.0.7 -j ACCEPT

# Denegamos resto de comunicaciones (no funcionará el p2p)
iptables -A FORWARD -s 10.0.0.0/8 -j DROP

# Hacemos NAT si IP origen 10.0.0.0/8 y salen por eth0
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

# Activamos el enrutamiento
echo 1 > /proc/sys/net/ipv4/ip_forward

# Comprobamos cómo quedan las reglas
iptables -L -n
En el script anterior vemos una serie de reglas que se van a ir ejecutando secuencialmente conformando la configuración del cortafuegos iptables. Cuando indicamos "-A FORWARD" nos referimos a paquetes que van a pasar por nuestro servidor. Otras opciones son "-A INPUT" y "-A OUTPUT". Acto seguido ponemos las condiciones. Si ponemos "-s 10.0.0.0/8" nos referimos a paquetes cuya IP origen está en el rango 10.0.0.0/8. Cuando ponemos "-p tcp" nos referimos a paquetes que utilizan el protocolo tcp. Cuando indicamos "--dport 25" nos referimos a paquetes cuyo puerto de destino es el 25, es decir, protocolo SMTP (correo saliente). Si en una regla no ponemos la condición -p ni la condición --dport, significa que no nos importa el protocolo (cualquier protocolo) ni nos importa el puerto destino (cualquier puerto destino). Por ejemplo, en la regla donde damos acceso al PC del Director, no hemos indicado ni protocolo ni puerto, por lo que dejará pasar todos los protocolos y todos los puertos.





Debian / Ubuntu:
sudo apt-get install w3m 

En caso de que uses RedHat/Fedora: 
yum install w3m 
--------------------------------------------------------------------------------------------- 
NOTA: ALGUNAS DISTROS DE LINUX YA VIENEN CON w3m. 

Mini Manual --------------------------------------------------------------------------- 
* Para abrir una página ejecutas: w3m google.com.uy 

* Para editar un campo de texto como puede ser lo que 
quiero buscar con google, mueve el cursor hasta "la caja de texto" 
que generalmente se ve así:  y pulsa enter. 
Ingresa el texto y vuelve a pulsar enter. 

* Los botones generalmente se ven así: [Buscar con Google] 
muevete hasta arriba de él y pulsa enter. 

* Los links generalmente se ven en color azúl o celeste. 

* Las Imágenes generalmente aparecen en color verda. 

* Si quieres volver a la página anterior presion Shift+B 

* Si quieres ver la lista de links de esa página, pulsa Shift+L 
luego, vuelves a la página con el tip de arriba. (Shift+B) 

* Si quieres especificar una URL presiona Shift+U 

* Para recargar una página presiona Shift+R 

* Para ver el título de la página presiona Shift+T 

* Para Ir a una linea en específico presiona Esc+G 

* Si tienes disponible una interfaz gráfica muevete sobre el nombre de 
la imágen (en color verde o azúl) y presiona enter. Esto abrirá la imágen con 
tu visor de imágenes predeterminado. 

* Por último, para salir presiona la letra Q (pregunta antes de salir) 
o Shift+Q (sale sin preguntar) 

* ¿Pero saben qué es lo mejor? Soporta integración con el mouese! 


Vídeos sobre el Proyecto Thoth
https://www.youtube.com/embed/videoseries?list=PL8bSwVy8_IcNNS5QDLjV7gUg8dIeMFSER