Mostrando las entradas con la etiqueta openrc. Mostrar todas las entradas
Mostrando las entradas con la etiqueta openrc. Mostrar todas las entradas

Hablarle al init: comandos de terminal o consola para Linux, BSD, MAC y Windows.

Hablarle al init: comandos de terminal o consola para Linux, BSD, MAC y Windows.

Imagen: Wikimedia.


Sistema Init Iniciar firewall Detener firewall



Dinit dinitctl start iptables (o firewalld) dinitctl stop iptables (o firewalld)

dinitctl start firewall dinitctl stop firewall
OpenRC rc-service firewalld start rc-service firewalld stop
RC /etc/init.d/iptables start (o firewalld) /etc/init.d/iptables stop (o firewalld)

rc-service firewalld start rc-service firewalld stop
Runit sv up firewalld (o iptables) sv down firewalld (o iptables)

sv start firewall sv stop firewall
S6 s6-svc -u /run/service/firewalld (o /var/run/s6/services/firewalld) s6-svc -d /run/service/firewalld (o /var/run/s6/services/firewalld)

s6-svc -u /service/firewall s6-svc -d /service/firewall
Suite66 service firewalld start (o similar) service firewalld stop (o similar)

s66 start firewall s66 stop firewall
Systemd systemctl start firewalld systemctl stop firewalld
SysVinit service iptables start service iptables stop
“BSD” sudo pfctl -e sudo pfctl -d

service iptables start service iptables stop
Launchd (macOS) sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
Windows (Service Control Manager) netsh advfirewall set allprofiles state on netsh advfirewall set allprofiles state off

  



Sistema Init Encender tarjeta de red Apagar tarjeta de red



Dinit ip link set <interfaz> up ip link set <interfaz> down

dinitctl start networking dinitctl stop networking
OpenRC rc-service networking start rc-service networking stop
RC ifup <interfaz> ifdown <interfaz>

rc-service networking start rc-service networking stop
Runit ifup <interfaz> ifdown <interfaz>

sv up networking sv down networking
S6 ip link set <interfaz> up ip link set <interfaz> down

s6-svc -u /service/networking s6-svc -d /service/networking
Suite66 ip link set <interfaz> up ip link set <interfaz> down

s66 start networking s66 stop networking
Systemd systemctl start NetworkManager systemctl stop NetworkManager
SysVinit ifup <interfaz> ifdown <interfaz>
“BSD” sudo ifconfig <interfaz> up sudo ifconfig <interfaz> down

ifup <interfaz> ifdown <interfaz>
Launchd (macOS) ifconfig en0 up ifconfig en0 down
Windows (Service Control Manager) netsh interface set interface "Ethernet" admin=enabled netsh interface set interface "Ethernet" admin=disabled



Sistema Init Iniciar ssh Detener ssh



Dinit dinitctl start sshd dinitctl stop sshd

dinitctl start sshd dinitctl stop sshd
OpenRC rc-service sshd start rc-service sshd stop
RC /etc/init.d/ssh start (o sshd) /etc/init.d/ssh stop (o sshd)

rc-service sshd start rc-service sshd stop
Runit sv up sshd sv down sshd

sv start sshd sv stop sshd
S6 s6-svc -u /run/service/sshd (o /var/run/s6/services/sshd) s6-svc -d /run/service/sshd (o /var/run/s6/services/sshd)

s6-svc -u /service/sshd s6-svc -d /service/sshd
Suite66 service sshd start (o similar) service sshd stop (o similar)

s66 start sshd s66 stop sshd
Systemd systemctl start sshd systemctl stop sshd
SysVinit service ssh start service ssh stop
“BSD” sudo service sshd start - sudo /etc/rc.d/sshd start sudo service sshd stop - sudo /etc/rc.d/sshd stop

service ssh start service ssh stop
Launchd (macOS) sudo launchctl load /System/Library/LaunchDaemons/ssh.plist sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
Windows (Service Control Manager) net start sshd net stop sshd



La información aquí contenida está sujeta a revisión, puesto que no ha sido probada (ni comprobada) en todos los casos. Se agradece que, de encontrar errores, dejes tu comentario aclarándolo. ¡Muchas gracias!

 

Prácticas con sistemas Linux para curso de introducción a redes y servidores.

Prácticas con sistemas Linux para curso de introducción a redes y servidores.

Asignatura: Redes II, Bachillerato Tecnológico, UTU, año 2019 en adelante.

Trabajo de autoría del profesor Hugo Napoli.


Instalación de paquetes (ejemplos con firewalld).

 Sistemas basados en Debian:

    sudo apt install firewalld

Sistemas basados en Arch:

    sudo pacman -S firewalld

OpenSUSE:

    sudo zypper install firewalld

NOTA: para instalar firewalld bajo OpenRC, por ejemplo, la sintaxis no es "firewalld", sino "firewalld-openrc". Lo mismo puede suceder con otros init y otros paquetes.

Manejo de demonios y servicios (ejemplos con firewalld).

    Visualizar estado del cortafuegos:
        systemd : systemctl status firewalld
        openrc  : rc-service firewalld status
        sysvinit: service firewalld status
        Windows : netsh advfirewall show currentprofile

Listar.

    Activos/inactivos:
        systemd : systemctl list-units
        sysvinit: service --status-all # +: activos; -:inactivos (¿ se podrá hacer "grep +" ?)
        openrc  : rc-update -v show

    Fallidos:
        systemd : systemctl --failed
        sysvinit:
        openrc  : rc-status --crashed
        
Encender.
    systemd : sudo systemctl start firewalld
    openrc  : sudo rc-service firewalld start
    sysvinit: sudo service firewalld start

Detener.
    systemd : sudo systemctl stop firewalld
    openrc  : sudo rc-service firewalld stop
    sysvinit: sudo service firewalld stop

Reiniciar.
    systemd : sudo systemctl restart firewalld
    openrc  : sudo rc-service firewalld restart
    sysvinit: sudo service firewalld restart

Habilitar.
    systemd : sudo systemctl enable firewalld
    openrc  : sudo rc-update add firewalld
    sysvinit: sudo update-rc.d firewalld defaults
    Windows : netsh advfirewall set currentprofile state on

Inhabilitar.
    systemctl: sudo systemctl disable firewalld
    openrc   : sudo rc-update del firewalld
    sysvinit : update-rc.d -f firewalld remove
    Windows  : netsh advfirewall set currentprofile state off

Habilitar e inhabilitar icmp en Linux/Windows


WINDOWS
    netsh advfirewall firewall add rule name="NOMBRE_DE REGLA" protocol=icmp4:8,any dir=in action=allow/block
    netsh advfirewall firewall add rule name="NOMBRE_DE REGLA" protocol=icmp6:8,any dir=in action=allow/block

    netsh advfirewall firewall show rule name=all

LINUX
    iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    iptables -A INPUT -p icmpv6 --icmp-type echo-request -j DROP

Encender, detener, habilitar, inhabilitar y consultar estado de ssh.


misma sintaxis que para el cortafuegos, sustituyendo por 'sshd'.

Práctica con la cual solamente habilitando ssh en Linux se pueda acceder a un usuario determinado del sistema (ssh <USUARIO>@<IP>)

Probar qué sucede con Windows. ¿Cómo activar ssh en Windows?


Abrir puertos en el firewall (sin permanencia).

Observar la zona que se está utilizando en el firewall.

sudo firewall-cmd --list-all

sudo firewall-cmd --zone <ZONA> --add-port=8000/tcp
sudo firewall-cmd --zone <ZONA> --add-port=8000/udp

sudo firewall-cmd --reload

Donde <ZONA> representa el nombre de una zona válida (la zona se escribe sin los signos de menor y mayor).

Para que la regla quede guardada (permanencia), agregar el parámetro:

--permanent

Consultar zonas existentes:

firewall-cmd --get-zones

Cambiar de zona:

firewall-cmd --set-default-zone public

                                        Ver cómo abrir puertos en Windows.

Gestionar usuarios conectados por ssh

1. Visualizar qué equipos están conectados por ssh:
    who
    (también probar "who -u")
    (tomar nota del renglón con el "pts" correspondiente)
2. Enviar un mensaje a la terminal del equipo conectado, antes de expulsarlo:
    echo "ATENCIÓN: en 60 seguntos, finalizará su conexión con el servidor." | write prueba_redes pts/<ID> && sleep 60
3. Listar el IDentificador del proceso que está permitiendo que dicho equipo esté conectado:
    ps -t pts/<ID>
4. Finalizar la conexión, según el ID correspondiente:
    sudo kill <ID>

Iniciar aplicaciones gráficas por ssh en máquina destino.

Lo primero a tener en cuenta, es que es necesario iniciar con el parámetro "-X" para poder controlar el servidor gráfico:

ssh -X usuario@ip

Luego:

export DISPLAY=:0

kolourpaint

Ejecutar iperf en modo cliente y servidor:

Máquina SERVIDOR:
iperf3 -s -p yyyy
siendo "yyyy" el número de puerto. Ejemplo:
iperf3 -s -p 5201

Máquina CLIENTE:
iperf3 -c xxx.xxx.xxx.xxx -p yyyy
siendo "xxx.xxx.xxx.xxx" la IP de la máquina servidor, e "yyyy", nuevamente, el número de puerto de la máquina servidor. Ejemplo:
iperf3 -c 192.168.44.155 -p 5201

ping

Averiguar ip de sitio:
ping www.google.com

Hacer ping a nivel individual:
ping <IP>

Hacer ping a nivel de broadcast:
ping -b X.X.X.255

Hacer ping con el máximo tamaño de paquete posible:
ping 192.168.1.1 -s 65507

ip

Agregar una dirección IP secundaria a un dispositivo:
sudo ip address add 192.168.1.254/24 dev wlan0

mtr

Consultar la ruta utilizada hasta llegar a un sitio específico (no funciona sin privilegios root):
sudo mtr www.google.com
sudo mtr www.wikipedia.org

Misma consulta, pero mostrando las IPs de todos los hosts involucrados:
sudo mtr -b www.wikipedia.org

tcpdump

Listar las interfases disponibles para el comando:
sudo tcpdump -D

Capturar tráfico de una determinada interfaz:
sudo tcpdump -i wlan0

Capturar tráfico de un determinado host:
sudo tcpdump -i wlan0 host 10.30.175.36

Capturar tráfico de una determinada red:
sudo tcpdump -i wlan0 net 10.30.172.0 mask 255.255.255.0

Capturar tráfico de un determinado puerto:
sudo tcpdump -i wlan0 port 80

Capturar tráfico de un determinado puerto de un determinado host:
sudo tcpdump -v -i wlan0 host 10.30.175.36 and port 48478
("v" = "verbose")

ss

Para que "ss" funcione, hay que revisar que esté instalado el paquete iproute2, o en su defecto, iproute.

Visualizar todas las conexiones de un host en particular:
ss src 10.30.175.36

Visualizar todos los PIDs (útil con ssh):
ss -p

nmap y arp-scan

Obtener IPs de la LAN:
nmap -sP X.X.X.0/24

Un método más agresivo:
sudo arp-scan --localnet
sudo arp-scan --interface wlan0 --localnet

Menos ético:
sudo arp-scan --interface wlan0 --localnet | grep Apple/Xiaomi/Samsung/HUAWEI, etc.

Obtener fingerprint e información del sistema a través de su IP:
sudo nmap -O <IP>
Si el equipo no responde, probar:
sudo nmap -O <IP> -Pn

Obtener información de puertos y dirección MAC de un host:
nmap -sV <IP>
sudo nmap -sV <IP>
Si el equipo no responde, probar:
sudo nmap -sV <IP> -Pn

El comando nmap, ¿escanea todos los puertos? (¿Qué sucede con los 1000 puertos "raíz")


Comprobar si un determinado puerto está abierto, aunque no esté activo:
nmap -p 8000 127.0.0.1
nmap -p 8000 localhost


Probar con la propia IP de la máquina y también con la IP de localhost. ¿Qué puede deducirse?

sudo nmap -p 0-65535 127.0.0.1
sudo nmap -p 0-65535 <IP>

Los servicios que solo están vinculados a "localhost" solo se muestran con el comando nmap en 127.0.0.1 (muchas veces sucede con motores de bases de datos, tales como mariaDB, etc.), y los asociados a la IP del mismo host, haciendo nmap a ésta.

lsof

sudo lsof -i:<PUERTO>
sudo lsof -i -P -n | grep LISTEN

Cerrar puertos.
sudo ss --kill state listening src :8000

Listar proceso corriendo en un determinado puerto:
fuser 8080/tcp
Matar proceso corriendo en un determinado puerto:
fuser -k 8080/tcp

nslookup

Obtener IP WAN:
nslookup myip.opendns.com resolver1.opendns.com
cual-es-mi-ip.net

Obtener ip de sitio:
nslookup www.wikipedia.org

Ejemplos nslookup:
https://www.thegeekstuff.com/2012/07/nslookup-examples/

Encender y apagar tarjeta de red.
ip link set <NOMBRE_TARJETA> up
ip link set <NOMBRE_TARJETA> down

Obtener MAC ADDRESS
arp-scan a <IP>

Revisar (I), abrir (II) y cerrar (III) puertos.

I)

Con lsof.

Para 1 puerto específico (el 3891).

sudo lsof -nP -i:3891
sudo lsof -nP -iTCP:3891
sudo lsof -nP -iUDP:3891

Para todos los puertos.

sudo lsof -nP -iTCP -sTCP:LISTEN

-n: sin "host names"
-P: sin "port names"
-i: IP v4 o v6
-s: "size"

Con ss.

sudo ss -tunpl

-t: TCP
-u: UDP
-n: "numeric"
-p: "process"
-l: "listening"

Con nmap.

nmap localhost -p 38911
sudo nmap -n -PN -sT -sU -p- localhost

-n:
evita resolución de DNS.
-PN: se saltea la fase de "descubrimiento".
-sT and -sU - "scan" modo TCP y UDP.
-p: todos los puertos.

Con netcat.

nc -z -u -v localhost 1-65535 

-z: modo "zero-I/O".
-u: UDP | -t: TCP.
-v: "verbose", verborragia.

Con netstat (en desuso).

sudo netstat -tunpl

-t: TCP
-u: UDP.
-n: evita búsqueda de DNS y muestra solo direcciones IP, haciendo más rápida la ejecución.
-p: despliega el ID del proceso y el nombre del programa que está utilizando el puerto.
-l: puertos en estado "listening".

II)

sudo iptables -A INPUT -p tcp --dport 3891 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 3891 -j ACCEPT

-A: "append", agregar.
INPUT: regla de entrada.
-p: "protocol", protocolo (tcp/udp).
--dport: "destination port", puerto de destino.
-j: "jump target", saltar hacia el objetivo, hacer inmediatamente.
ACCEPT: aceptar el tráfico.

En lugar de INPUT, se pueden utilizar para otras acciones: OUTPUT y FORWARD.
En lugar de ACCEPT, se pueden utilizar para otras acciones: DROP y RETURN.

III)

Para 1 puerto específico.

sudo ss --kill state listening src :3891

fuser -k -n tcp 3891
fuser -k -n udp 3891

iptables -I INPUT -p tcp --dport 3891 -j DROP

sudo netstat -ap | grep :3891
kill <PID_SALIDA_NETSTAT>

Si la línea anterior no funciona, utilizar "kill -9" en lugar de "kill".

Para todos los puertos (2 maneras).

iptables -F INPUT;iptables -P INPUT REJECT

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

-F equivale a "--flush", y sirven ambos atributos para eliminar todas las reglas preexistentes.
-P: "policy", política predeterminada.

ACCEPT: permite el paso de paquetes sin realizar acciones adicionales.
DROP: descarta paquetes sin enviar notificaciones.
REJECT: descarta paquetes, enviando mensajes de rechazo al remitente.

Se recomienda leer:

https://phoenixnap.com/kb/linux-check-open-ports
https://www.digitalocean.com/community/tutorials/opening-a-port-on-linux

Flag Counter Visitas previas a la existencia de este contador: 3433

Artículos aleatorios

    Páginas: