The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
rdp через pf, !*! rootaxe, 02-Дек-08, 18:39  [смотреть все]
Добрый день.

Не удается пробросить порт 3389 внутрь сети
Шлюз FreeBSD 6.3, pf

192.168.0.0/24 - локальная сеть
192.168.3.5 - внешний ифейс смотрит на адсл-роутер (настроен роутером, если напрямую втыкать - работает)
На клиенте интернет есть, шлюзом сервер 192.168.0.5

Другие порты (по крайней мере 80 23) фурычат. Со шлюза машины в лок.сети видны, телнетом можно приконектиться

ipfw/natd в таких же условиях работает

pf.conf
в данном конфиге 80 порт работает
##############################################
# MACROS
ext_if = "em1"
int_if = "em0"
ext_addr = "192.168.3.5"
int_addr = "192.168.0.5"
int_net = "192.168.0.0/24"

set optimization normal
set block-policy drop
set loginterface $ext_if
set fingerprints "/etc/pf.os"

scrub in on ! lo0 all fragment reassemble

# NAT
nat on $ext_if from 192.168.0.7 to any -> ($ext_if)
nat on $ext_if from 192.168.0.15 to any -> ($ext_if)

# RDR
rdr on $ext_if proto tcp from any to any port 8080 -> 192.168.0.7 port 80
rdr on $ext_if proto tcp from any to any port 3389 -> 192.168.0.15 port 3389

# RULES
block log all

pass quick on lo0 all

# block ip
block in quick log on $ext_if from 81.9.67.150 to any

# nmap
block in quick from any os NMAP

# spoofing
antispoof log quick for $ext_if
block drop in  quick on $ext_if from <private_nets> to any
block drop out quick on $ext_if from any to <private_nets>

pass out on $ext_if proto tcp from $ext_addr to any flags S/SA keep state
pass out on $ext_if proto udp from $ext_addr to any keep state
pass out on $ext_if proto icmp from $ext_addr to any icmp-type $icmp_types keep state

# icmp
block in inet proto icmp from $int_if:network
pass out inet proto icmp from $int_addr to any icmp-type $icmp_types keep state
pass in inet proto icmp from <users> to $int_addr icmp-type $icmp_types keep state
pass in inet proto icmp from <users> to any icmp-type $icmp_types keep state

# traceroute
pass out on $ext_if inet proto udp from any to any port 33433 >< 33626 keep state

# 80
pass proto tcp from $admin to $nas1_server_addr port 80 keep state
# rdp
pass proto tcp from $admin to 192.168.0.15 port 3389 keep state
##############################################

pfctl -ss | grep 3389
##############################################
self tcp internet:52391 -> 192.168.0.15:3389       SYN_SENT:CLOSED
self tcp 192.168.0.15:3389 <- 192.168.3.5:3389 <- internet:52391       CLOSED:SYN_SENT
##############################################

tcpdump -n -e -ttt -i pflog0
##############################################
тишина
##############################################


Спасибо

  • rdp через pf, !*! StreSS, 14:41 , 03-Дек-08 (1)
    • rdp через pf, !*! rootaxe, 16:27 , 03-Дек-08 (2)
      >1. На внешний интерфейс фаервола пакеты приходят от адсл-роутера.

      Да, конечно. Если напрямую втыкать в фдсл-роутер - работает.
      Этот же шлюз обрабатывает www, ftp, vpn, mail и тп.

      У же не знаю что крутить.

      • rdp через pf, !*! Pahanivo, 16:42 , 03-Дек-08 (3)
      • rdp через pf, !*! StreSS, 16:46 , 03-Дек-08 (4)
        • rdp через pf, !*! rootaxe, 18:37 , 03-Дек-08 (6)
          >В какую сторону обрабатывает? В ствою локалку идут пакеты или все таки
          >только на ружу.
          >И кстати вижу как ты описал nat случаем не в одну сторону?

          С пакетами все нормально. Усе работает кроме rdp. Потому и не понятно

          >
          >tcpdump -n -e -ttt -i pflog0 - ловишь на pflog0, а описан
          >как внешний em1 и внутренний em0.

          Туда вроде оба попадают. Если запрещающее правило сделать, например на внутренний ифейс, сразу кажет

          В интернете такая проблема встречалась без ответа. Никто так не делает или у всех работает

          В основном использую ipfw

          • rdp через pf, !*! reader, 20:26 , 03-Дек-08 (7)
            • rdp через pf, !*! rootaxe, 06:09 , 04-Дек-08 (8)
              >может на 192.168.0.15 интерфейс послушать?

              На 15 соединение на 3389 разрешено. Из локальной сети и при vpn подключается

              # pfctl -ss | grep 3389
              self tcp 192.168.0.101:1314 -> 192.168.0.1:3389       ESTABLISHED:ESTABLISHED
              self tcp 192.168.0.1:3389 <- 192.168.0.101:1314       ESTABLISHED:ESTABLISHED

              Sysctl пустой

              В pf.conf пишу вместо "block all log" "pass quick all". "block" в конфиге нет совсем
              Рузультат тот же

              # pfctl -ss | grep 3389
              self tcp internet:53049 -> 192.168.0.21:3389       SYN_SENT:CLOSED
              self tcp 192.168.0.21:3389 <- 192.168.3.5:3389 <- internet:53049       CLOSED:SYN_SENT
              self tcp 192.168.0.21:3389 <- 192.168.3.5:3389 <- internet:53218       CLOSED:SYN_SENT

              • rdp через pf, !*! reader, 13:00 , 04-Дек-08 (9)
                • rdp через pf, !*! rootaxe, 18:09 , 05-Дек-08 (10)
                  >вы проверяли что до 192.168.0.15 пакеты не доходят? при ваших правилах пакет
                  >будет с обратными адресами из инета а не локалки, это на
                  >192.168.0.15 и в частности для того кто слушает 3389, разрешено?

                  На самом не проверял. Но если на него направить 80 или 22 порт - ответ есть. Пробовал на разных компьютерах. При ВПН, из лок. сети все ок. Правила одинаковые для любого порта. Ставил "pass all". Запрещающие правила для теста, смотрел логи.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру