LINUX.ORG.RU
ФорумAdmin

rdp iptables

 ,


0

1

Добрый день. Очень прошу помощи в написании правила,потому что бьюсь с ним уже полтора месяца безрезультатно.

Ситуация: есть удаленный пк под windows (серый ip 192.168.30.5), необходимо к нему подключаться по RDP из внутренней сети предприятия. Технический маршрут следующий: ПК пользователя (с которого нужно подключаться по RDP на удаленный пк) -> frw(Centos)-> GW(CentOS) -> mikrotic -> удаленный пк Если подключить ноутбук, к примеру напрямую к микротику, то RDP работает. Значит на микротике проброс правильный сделан.

вот правило на frw:

$IPTABLES --append FORWARD --in-interface ${IFACE_G1} --out-interface ${IFACE_INET} --destination ${IP_SKLAD} --protocol tcp --dport 3389 -j ACCEPT
$IPTABLES --append FORWARD --in-interface ${IFACE_INET} --out-interface ${IFACE_G1} --source ${IP_SKLAD} --protocol tcp --sport 3389 -j ACCEPT

где, IFACE_G1 это порт в группу, куда подключен пк пользователя.

IFACE_INET это порт на GW,

IP_Sklad это ip удаленного пк.

#####################################

правило на gw:

$IPTABLES --append FORWARD --in-interface ${IFACE_FRW} --out-interface ${IFACE_SK} --destination ${IP_SKLAD} --protocol tcp --dport 3389 -j ACCEPT

$IPTABLES --append PREROUTING -t nat --in-interface ${IFACE_FRW} --protocol tcp -m tcp --dport 3389 -j DNAT --to-destination ${IP_SKLAD}

$IPTABLES --append POSTROUTING -t nat --out-interface ${IFACE_SK} --protocol tcp -m tcp --dport 3389 --destination ${IP_SKLAD} -j MASQUERADE

где, IFACE_SK это порт на микротике, через который идет выход на удаленный пк

IFACE_FWR это порт на FRW,

IP_Sklad это ip удаленного пк.

правило не срабатывает. Буду благодарна за любую помощь.

ps еще в файле /etc/sysconfig/network-scripts/route-eth0 192.168.30.5 via 192.168.252.223 dev eth0

192.168.30.5 это удаленный пк, а 192.168.252.223 это ip микротика, eth0 порт на микротике. ответ от 192.168.30.5 придёт не на 3389 порт, а на динамический.



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

как я понимаю, тебе не хватает правило для DNAT'а.
И из схемы не понятно, что такое frw ? Они в одном сегменте с GW ?

v9lij ★★★★★
()
Ответ на: комментарий от v9lij

правило то есть, но оно не срабатывает.

frw это сервер Firewallа, а gw это прокси-сервер. у frw ip 192.168.140.1,

у gw ip 192.168.130.1.

Пользователь в группе 192.168.109.n

Ka_the_Rine
() автор топика
Ответ на: комментарий от Ka_the_Rine

Лор код сделай , всем в падлу об партянку глаза ломать.

pyatak123
()

$IPTABLES --append FORWARD --in-interface ${IFACE_INET} --out-interface ${IFACE_G1} --source ${IP_SKLAD} --protocol tcp --sport 3389 -j ACCEPT

Зачем так сложно? Чем не устроил обычный

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

?
Адрес в rdp-клиенте какой указываешь? 192.168.30.5 или 192.168.130.1?

NightSpamer
()
Ответ на: комментарий от NightSpamer

в rdp-клиенте 192.168.30.5 потому что мне нужно в дальнейшем определенному пользователю дать только право подключаться, то есть я там допишу потом --source ${IP_USER}

Ka_the_Rine
() автор топика
Ответ на: комментарий от Ka_the_Rine

Я не очень понимаю это

$IPTABLES --append PREROUTING -t nat --in-interface ${IFACE_FRW} --protocol tcp -m tcp --dport 3389 -j DNAT --to-destination ${IP_SKLAD}
Ты натишь все запросы с dport 3389 в 192.168.30.5 ?

Ты еще вот что скажи , топология ..

ПК пользователя (с которого нужно подключаться по RDP на удаленный пк) -> frw(Centos)-> GW(CentOS) -> mikrotic -> удаленный пк

Тут между GW(CentOS) и mikrotic , интернет ?

pyatak123
()
Последнее исправление: pyatak123 (всего исправлений: 2)
Ответ на: комментарий от Ka_the_Rine

Попробуй rdp к 192.168.130.1
Вообще - есть подозрение на то, что кто-то не знает про 192.168.30.0/24 (или наоборот, про 192.168.109.0/24). Показывай `ip r s` с FRW и GW. И кто default gw у микротика?

NightSpamer
()
Ответ на: комментарий от pyatak123

переписала правило с PREROUTING

 $IPTABLES --append PREROUTING -t nat --destination ${IP_REGIONS} --protocol tcp --dport 3389 -j DNAT --to-destination ${IP_SKLAD}:3389 

IP_REGIONS это ip микротика, он выступает в роли шлюза

2. да, простите, здесь INTERNET между микротиком и удаленным пк, то есть микротик стоит на нашей стороне.

Ka_the_Rine
() автор топика
Ответ на: комментарий от Ka_the_Rine

Кхм, так вы понимаете , что вы делаете ?
Вы запросы на IP_REGIONS на порт 3389 натите в IP_SKLAD , и выпускаете это в интернет. Т.е к провайдеру уйдет пакет с ip.dst из приватной сети ? Зачем так делать то ?
Если я все правильно понял то вам тут вообще не надо трогать iptables на GW. Вам нужно просто разрешить этот трафик в FOWRWARD и снатить его -j MASQUERADE , все. Далешь уже забота микротика прокинуть этот трафик на WIN .

pyatak123
()
Ответ на: комментарий от NightSpamer

- iptables -L -v -n показывает только Chain FORWARD пакеты на 3389 при попытках коннекта счётчик увеличивается

Ka_the_Rine
() автор топика
Ответ на: комментарий от Ka_the_Rine

Вообще ничего не понятно.
1)На «ПК юзера» какой ip в качестве шлюза ? Нарисуйте путь трафика от «ПК юзера» до linux.org.ru.
2)Как так «удаленный пк (30.5)» в интернет то подключен ? Через что ?
3)У вас в интернет всех выпускает microtik ?
4)Если 2 - да , то - исходя из вашей схемы никакой нат вам не нужен и MASQARADE тоже .

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