LINUX.ORG.RU

Iptables RDP проброс

 , , , ,


0

1

Здравствуйте. Не могу решить одну задачу, развернул Esxi, в ней есть шлюз на CentOS 7 с DHCP, на шлюзе 2 сетевых интерфейса, один смотрит в небо интернет (ens160), другой в локальную сеть (ens192). Необходимо сделать проброс портов для рдп в локальную сеть, при этом, чтобы соединение приходило на фейковый порт. Например набираем 100.100.100.100:555 и шлюз редиректит соединение на машину в локальной сети 10.1.1.1:3389 на порт рдп.

Вот мои правила для iptables.

! /bin/bash
export IPT="iptables"

export WAN=ens160
export WAN_IP=100.100.100.100
export LAN1=ens192
export LAN1_IP_RANGE=10.1.1.0/24

$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

$IPT -t nat -A POSTROUTING -o $WAN -s $LAN1_IP_RANGE -j MASQUERADE

$IPT -A FORWARD -i ens160 -p tcp --dport 3389 -j ACCEPT
$IPT -A FORWARD -i ens190 -p tcp --dport 5000 -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN1 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN1 -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

$IPT -I INPUT -i $LAN1 -p udp --dport 60:70 --sport 60:70 -j ACCEPT

$IPT -A OUTPUT -o $WAN -j ACCEPT

$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

#Проброс портов
$IPT -t nat -I PREROUTING --dst 100.100.100.100 -p tcp --dport 555 -j DNAT -to-destination 10.1.1.22:3389
$IPT -t nat -I POSTROUTING -p tcp --dst 10.1.1.22 --dport 3389 -j SNAT --to-source 10.1.1.22
$IPT -t nat -I OUTPUT --dst 100.100.100.100 -p tcp --dport 555 -j DNAT --to-destination 10.1.1.22:3389
$IPT -t nat -I FORWARD -i ens192 --dst 10.1.1.22 -j ACCEPT


$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Объясните, что я делаю не так? Почему проброс портов извне не работает?



Последнее исправление: GexogenSG1 (всего исправлений: 1)

Ответ на: комментарий от anonymous
# Generated by iptables-save v1.4.21 on Wed Aug  8 02:28:30 2018
*filter
:INPUT DROP [1965:208245]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i ens192 -p udp -m udp --sport 60:70 --dport 60:70 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i ens192 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i ens160 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -i ens160 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -i ens190 -p tcp -m tcp --dport 5000 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i ens192 -o ens160 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o ens192 -j ACCEPT
-A OUTPUT -o ens160 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
COMMIT
# Completed on Wed Aug  8 02:28:30 2018
# Generated by iptables-save v1.4.21 on Wed Aug  8 02:28:30 2018
*nat
:PREROUTING ACCEPT [15505:893289]
:INPUT ACCEPT [352:71594]
:OUTPUT ACCEPT [212710183:193869052775]
:POSTROUTING ACCEPT [212710183:193869052775]
-A PREROUTING -i ens160 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 10.1.1.22:3389
-A PREROUTING -d 100.100.100.100/32 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 10.1.1.22:3389
-A POSTROUTING -s 10.1.1.0/24 -o ens160 -j MASQUERADE
-A POSTROUTING -d 10.1.1.22/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source 100.100.100.100
-A POSTROUTING -s 10.1.1.0/24 -o ens160 -j MASQUERADE
COMMIT
# Completed on Wed Aug  8 02:28:30 2018
# Generated by iptables-save v1.4.21 on Wed Aug  8 02:28:30 2018
*mangle
:PREROUTING ACCEPT [1414291:3150431656]
:INPUT ACCEPT [599241:28293567]
:FORWARD ACCEPT [814594:3122079711]
:OUTPUT ACCEPT [1358834015:1238209960447]
:POSTROUTING ACCEPT [1359648569:1241332038558]
COMMIT
# Completed on Wed Aug  8 02:28:30 2018
GexogenSG1
() автор топика
Ответ на: комментарий от GexogenSG1

У тебя нет правила на разрешение входящих и исходящих соединений, цепочки INPUT и OUTPUT для порта 5000.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.