Paso de firewall SSH

Paso de firewall SSH

Buenas tardes. Estoy trabajando en un proyecto que utiliza el servidor Ubuntu y tengo 3 configuraciones de VM. un Firewall, enrutador y cliente (1) por ahora. Actualmente puedo usar PuTTY para enviar ssh al firewall, luego puedo enviar ssh al enrutador y finalmente puedo enviar ssh al cliente y escribir código y compilar.

Lo que quiero saber es ¿cómo puedo enviar ssh directamente al cliente sin todo el sshing adicional?

gracias kbot

EDITAR: salida desde sudo iptables -t nat -v -x -n -Lel firewall:

Chain PREROUTING (policy ACCEPT 1217 packets, 108875 bytes)
pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 2 packets, 136 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 11 packets, 783 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 6 packets, 406 bytes)
pkts bytes target prot opt in out source destination
35 2218 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0

Respuesta1

En primer lugar, le sugeriría que fusione los servidores del firewall y del enrutador en un solo servidor, porque el firewall ya está implementando la funcionalidad del enrutador.

Digamos que desea mantener la capacidad de SSH en el firewall, pero también agregar la capacidad de SSH desde el mundo exterior directamente a su cliente. Necesitará usar un puerto diferente para este propósito, ya que es la única forma en que su conjunto de reglas de iptables determina lo que desea. Yo usaré el puerto 2222, pero tú usas el puerto libre que quieras.

Necesitará una regla PREROUTING en la tabla nat:

sudo iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 2222 -j DNAT --to $INTIP:22

Donde: $EXTIF es el nombre de su interfaz de red externa. Creo que eth0. $INTIP es su dirección IP interna.

También deberá permitir que el tráfico pase a través de su cadena FORWARD, porque su política predeterminada es DROP, que debería ser:

sudo iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 2222 -d $INTIP -m state --state NEW -j LOG --log-prefix "PFNEW2222:" --log-level info
sudo iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 2222 -d $INTIP -m state --state NEW -j ACCEPT

Donde: $INTIF es el nombre de su interfaz de red interna. Creo que eth1.

Observe que también existe una regla de registro. Sólo una sugerencia.

Tu ruta de regreso debería estar bien.

Otras sugerencias:

No necesita su regla de cadena de SALIDA actual, porque su política predeterminada es ACEPTAR.

Si conoce su dirección IP externa ($EXTIP a continuación), use SNAT en lugar de MASQURADE:

sudo iptables -t nat -A POSTROUTING -o $EXTIF -j SNAT --to $EXTIP

Si no lo haces, entonces está bien.

Supongo que ya tienes habilitado el reenvío:

$ cat /proc/sys/net/ipv4/ip_forward
1

información relacionada