Страница 1 из 1
rdp через pf
Добавлено: 2008-11-25 12:57:38
rootaxe
Добрый день.
Проблема в пробросе порта 3389 в pf. Не пробрасывается. Другие порты работают.
У клиента шлюз какой надо, интернет.
Что-то не понятно совсем.
Настройки pf:
Код: Выделить всё
nat on $ext_if from 192.168.0.15 to any -> ($ext_if)
rdr on $ext_if proto tcp from any to any port 3389 -> 192.168.0.15 port 3389
pass in on $ext_if proto tcp from any to 192.168.0.15 port 3389 keep state
pfctl -ss:
Код: Выделить всё
self tcp external:58119 -> 192.168.0.15:3389 SYN_SENT:CLOSED
self tcp 192.168.0.15:3389 <- 192.168.3.5:3389 <- external:58119 CLOSED:SYN_SENT
Может сталкивались.
Спасибо.
Re: rdp через pf
Добавлено: 2008-11-26 2:13:25
Dirty.Eager
rootaxe писал(а):Добрый день.
Проблема в пробросе порта 3389 в pf. Не пробрасывается. Другие порты работают.
У клиента шлюз какой надо, интернет.
Что-то не понятно совсем.
Настройки pf:
Код: Выделить всё
nat on $ext_if from 192.168.0.15 to any -> ($ext_if)
rdr on $ext_if proto tcp from any to any port 3389 -> 192.168.0.15 port 3389
pass in on $ext_if proto tcp from any to 192.168.0.15 port 3389 keep state
pfctl -ss:
Код: Выделить всё
self tcp external:58119 -> 192.168.0.15:3389 SYN_SENT:CLOSED
self tcp 192.168.0.15:3389 <- 192.168.3.5:3389 <- external:58119 CLOSED:SYN_SENT
Может сталкивались.
Спасибо.
192.168.3.5 - это адрес внешнего интерфейса ext_if ?
На 192.168.0.15 ничего не фильтруется? На 192.168.0.15 можно зателнетиться со шлюза (на котором pf)?
Приведи весь pf.conf по возможности.
Re: rdp через pf
Добавлено: 2008-11-27 9:08:31
rootaxe
Dirty.Eager писал(а):
192.168.3.5 - это адрес внешнего интерфейса ext_if ?
На 192.168.0.15 ничего не фильтруется? На 192.168.0.15 можно зателнетиться со шлюза (на котором pf)?
Приведи весь pf.conf по возможности.
Долго не отвечал. Пытался сам разобраться. 80 порт работает. 3389 нет.
pftcl -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 тишина
192.168.3.5 - внешний интерфейс, смотрит на адсл-роутер.
Со шлюза можно телнетиться на любую машину в сети.
Сокращенный pf.conf:
Код: Выделить всё
# 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
Работаю в основном с ipfw поэтому...
Спасибо.