%20a%20la%20m%C3%A1quina%20LAN.png)
Ningún tráfico será externo (orientado a Internet), todo el tráfico será interno.
Lo que estoy tratando de lograr es realizar RDP desde la PC 1 con WINDOWS, hacer que el tráfico RDP de la PC 1 con WINDOWS se haga pasar por la dirección IP de los SERVIDORES Linux (10.0.2.5) y desde allí continuar hasta la PC 2 con WINDOWS de destino.
Aquí hay una imagen para ilustrar más:
WINDOWS PC 1 (10.0.2.122)
|
[RDP]
|
V
LINUX SERVER (10.0.2.5)
|
[FW 3389]
|
V
WINDOWS PC 2 (10.0.2.188)
LO QUE HE PROBADO
- He habilitado el reenvío de puertos en el kernel:
sysctl net.ipv4.ip_forward=1
- Ya probé varias respuestas de muchos foros, pero todavía no lo hice:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to 10.0.2.188:3389
iptables -A FORWARD -p tcp --dport 3389 -d 10.0.2.188 -j ACCEPT
- Miré los contadores de iptables y no veo actividad:
watch 'iptables -vL'
Respuesta1
Bueno después de leer tu comentario parece que esas 2 PC son parte de lo mismoRed de área local (LAN). Esta es la razón por la que no puedes ver el tráfico desde tu Linux Box.
este tutorialLe enseñará los conceptos básicos de LAN, pero de forma sencilla:
- Esas computadoras se conocerán entre sí a través deARP;
- "Verán" que pertenecen a la misma LAN y hablarán directamente
- Si su máquina Linux es la puerta de enlace, solo se usará para enrutar el tráfico que NO pertenece a esa LAN (fuera de
10.0.2.0/24
la máscara que haya definido)
tl, dr.: Esas computadoras están en la misma LAN, por lo tanto, para ver algo de tráfico desde su máquina Linux (y no podrá "interceptar/destrozar", solo ver") tendrá que poner su tarjeta Linux en modo promisc:ip link set dev eth0 promisc on
De acuerdo. Pasando todo este material teórico, cuando estés creando una DNAT
dentro de la misma LAN, tendrás que hacer que el paquete REGRESE a sus orígenes "con fuerza" usando un SNAT. Este es un caso especial en el que tienes 2 computadoras en la misma LAN mientras realizas una NAT.
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 10.0.2.188:3389
iptables -t nat -A POSTROUTING -p tcp -d 10.0.2.188 --dport 3389 -j SNAT --to-source 10.0.2.122
De esta manera, hará cumplir que, cuando un paquete regrese a su máquina Linux, se realizará una fuente nat para10.0.2.122
Otras alternativas:
Hacer unaProxy RDP con proxy HAy poner esos hosts en redes separadas. Esto es una exageración (crear un saldo de proxy rdp de un solo miembro) pero es una alternativa.
Respuesta2
Solución HAProxy
Cf.Equilibrio de carga de Servicios de Escritorio remoto (RDS) de Microsoft
sudo apt install haproxy
cat << EOF | sudo tee -a /etc/haproxy/haproxy.cfg
frontend ft_rdp
mode tcp
bind :3389 name rdp
timeout client 1h
log global
option tcplog
tcp-request inspect-delay 2s
tcp-request content accept if RDP_COOKIE
default_backend bk_rdp
backend bk_rdp
mode tcp
balance leastconn
persist rdp-cookie
timeout server 1h
timeout connect 4s
log global
option tcp-check
tcp-check connect port 3389 ssl
default-server inter 3s rise 2 fall 3
server windows_pc_2 10.0.2.188:3389 weight 10 verify none
EOF
sudo systemctl restart haproxy
systemctl list-units | grep haproxy