The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"MPD4+NAT+Static - Проблема"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"MPD4+NAT+Static - Проблема"  +/
Сообщение от Snake email(??) on 16-Окт-09, 11:45 
Доброго времени суток!

Имеется шлюз на FreeBSD 7.2, с поднятыми на нем MPD4 (pptp) и натом через PF. Ядро собрано со следующими опциями:

options         NETGRAPH
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
options         ALTQ_NOPCC

# PF Support
device          pf
device          pflog
device          pfsync


Интерфейсы следующие:

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:1c:25:a3:23:b3
        inet 10.18.88.239 netmask 0xfffffe00 broadcast 10.18.89.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC>
        ether 00:21:91:8a:7a:4d
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
pflog0: flags=0<> metric 0 mtu 33204
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 88.82.хх.хх --> 172.16.255.10 netmask 0xffffffff

С недавнего времени провайдер запустил у себя некоторые медийные ресурсы, которые доступны даже без установления VPN-сессии и скорость на них провайдером не режется. Маршруты на эти сетки приходят от провайдера по DHCP. Общая таблица маршрутизации ниже (три последних - от провайдера):

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            172.16.255.10      UGS         0     2458    ng0
10.18.88.0/23      link#1             UC          0        0    re0
10.18.88.1         00:1c:b0:ca:1b:c0  UHLW        3       29    re0   1198
127.0.0.1          127.0.0.1          UH          0        0    lo0
172.16.255.10      10.18.88.1         UGHS        1     4792    re0
192.168.1.0/24     link#2             UC          0        0    vr0
192.168.1.1        00:21:91:8a:7a:4d  UHLW        1        0    lo0
192.168.1.2        00:1f:c6:e5:b9:19  UHLW        1     2018    vr0    353
217.30.ххх.ххх/28  10.18.88.1         UGS         0        0    re0
217.30.ххх.ххх/30  10.18.88.1         UGS         0        0    re0
217.30.ххх.ххх/27  10.18.88.1         UGS         0     4147    re0

Конфигурация PF - наипростейшая, тестовый вариант, так сказать:
cat /etc/pf.conf

ext_if="ng0"
dsl_if="re0"
int_if="vr0"
internal_net="192.168.1.0/24"
# nat
no nat on $ext_if from $internal_net to 217.30.ххх.ххх/27
no nat on $ext_if from $internal_net to 217.30.ххх.ххх/28
no nat on $ext_if from $internal_net to 217.30.ххх.ххх/30
nat on $ext_if from $internal_net to any -> ($ext_if)
# open all
pass out all keep state
pass in all keep state
pass quick on lo0 all
pass quick on $int_if all
pass quick on $dsl_if all
pass out on $ext_if all keep state
pass in on $ext_if all keep state
pass out on $dsl_if all keep state
pass in on $dsl_if all keep state

Ну и rc.conf выглядит следующим образом:

defaultrouter="10.18.88.1"
gateway_enable="YES"
hostname="gate1.local.dom"
ifconfig_vr0="inet 192.168.1.1  netmask 255.255.255.0"
ifconfig_re0="DHCP"
keymap="ru.koi8-r"
sshd_enable="YES"
mpd_enable="YES"
pf_enable="YES"

Проблема в том, что пользователи из локальной сети не могут попасть на эти медийные ресурсы. С самой BSD машины ресурсы доступны с соурсом 10.18.88.239, с соурсом 192.168.1.1 - нет. И трейс умирает на первом же хопе. Отключал pf и mpd. Ситуация не меняется. Т.е. создается такое впечатление, что не включен net.inet.ip.forwarding. Хотя на самом деле включен:

# sysctl -a | grep  net.inet.ip.forwarding
net.inet.ip.forwarding: 1

Сломал уже всю голову, прошу помочь, кто чем может. Заранее спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "MPD4+NAT+Static - Проблема"  +/
Сообщение от serg_b email(??) on 16-Окт-09, 12:14 
>ext_if="ng0"
>dsl_if="re0"
>int_if="vr0"
>internal_net="192.168.1.0/24"
># nat
>nat on $ext_if from $internal_net to any -> ($ext_if)

Доброго времени суток.

Вам надо убрать запрет ната на эти сетки, тоесть строки:
no nat on $ext_if from $internal_net to 217.30.ххх.ххх/27
no nat on $ext_if from $internal_net to 217.30.ххх.ххх/28
no nat on $ext_if from $internal_net to 217.30.ххх.ххх/30
и сделать нат на эти сети через интерфейс что смотрит в провайдера, т.е. re0.
Должно быть примерно так:
nat on $dsl_if from $internal_net to 217.30.ххх.ххх/27
nat on $dsl_if from $internal_net to 217.30.ххх.ххх/28
nat on $dsl_if from $internal_net to 217.30.ххх.ххх/30
nat on $ext_if from $internal_net to any -> ($ext_if)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "MPD4+NAT+Static - Проблема"  +/
Сообщение от Snake email(??) on 16-Окт-09, 12:36 
>[оверквотинг удален]
>no nat on $ext_if from $internal_net to 217.30.ххх.ххх/27
>no nat on $ext_if from $internal_net to 217.30.ххх.ххх/28
>no nat on $ext_if from $internal_net to 217.30.ххх.ххх/30
>и сделать нат на эти сети через интерфейс что смотрит в провайдера,
>т.е. re0.
>Должно быть примерно так:
>nat on $dsl_if from $internal_net to 217.30.ххх.ххх/27
>nat on $dsl_if from $internal_net to 217.30.ххх.ххх/28
>nat on $dsl_if from $internal_net to 217.30.ххх.ххх/30
>nat on $ext_if from $internal_net to any -> ($ext_if)

Спасибо за подсказку! Помогло, только правила немножко по другому звучат:

nat on $dsl_if from $internal_net to 217.30.ххх.ххх/27 -> ($dsl_if)
nat on $dsl_if from $internal_net to 217.30.ххх.ххх/28 -> ($dsl_if)
nat on $dsl_if from $internal_net to 217.30.ххх.ххх/30 -> ($dsl_if)
nat on $ext_if from $internal_net to any -> ($ext_if)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "MPD4+NAT+Static - Проблема"  +/
Сообщение от serg_b email(??) on 16-Окт-09, 12:45 
Извиняюсь, забыл дописать :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "MPD4+NAT+Static - Проблема"  +/
Сообщение от mr_gfd on 16-Окт-09, 12:47 
netstat -nr ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "MPD4+NAT+Static - Проблема"  +/
Сообщение от Snake email(??) on 16-Окт-09, 14:05 
>netstat -nr ?

В первом посте есть вывод. Но все решилось уже, спасибо. Сам ступил. Понятно, что здесь провайдерские медийные сетки не directly connected, поэтому статики для локалки работать не будут, только НАТ.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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