Схема:
Шлюз на базе FreeBSD 10. В качестве nat используется pf
Внутри есть сервер windows 2008 r2 с поднятыми входящими подключениями, к нему и нужно пробросить подключения извне.
Внешний адрес белый 1.1.1.1
внутренний адрес шлюза 192.168.10.253
внутренний адрес сервера, на котором vpn 192.168.10.254
Если напрямую из внутренней сети к нему подключаться, то все работает.
В конфиге pf все открыто. Не понимаю что еще ему надо.
int_if="re0"
ext_if="re1"
ext_gw="192.168.8.1"
lan_nt="192.168.10.0/24"
irk_nt="192.168.19.0/24"
vpn_nt="192.168.23.0/24"
table <our_nt> { $lan_nt , $irk_nt , $vpn_nt }
######################################
set block-policy return
scrub in all
######################################
######################################
rdr on $ext_if proto tcp from any to any port 3389 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 3080 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 3081 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 8080 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 555 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 554 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 1723 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 1701 -> 192.168.10.254
rdr on $ext_if proto udp from any to any port 1701 -> 192.168.10.254
rdr on $ext_if proto tcp from any to any port 443 -> 192.168.10.254
rdr on $ext_if proto udp from any to any port 500 -> 192.168.10.254
nat on $ext_if inet from $lan_nt to !<our_nt> -> ($ext_if)
######################################pass log all
pass in proto igmp all allow-opts
pass out proto igmp all allow-opts
pass in proto gre from any to any keep state
pass out proto gre from any to any keep state
pass proto udp all allow-opts
Все работает, кроме этого. Выдает ошибку 800, там что то на счет того, что у удаленного сервера нет GRE. Подскажите что ему нужно то?
PPTP это ведь инкапсуляция GRE внутри TCP порт 1723.