The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Трансляция PPTP (GRE) на шлюзе с PF
Как известно, межсетевой экран PF, портированный в FreeBSD из OpenBSD, не может
корректно транслировать (NAT) GRE-протокол и, к примеру, из локальной сети
невозможно создать несколько одновременных соединений к внешнему серверу VPN PPTP.

Одним из способов решения проблемы является трансляция PPTP-соединений родным
IPFW с "ядерным" NAT. При этом вовсе необязательно компилировать ядро. Все
описанные действия проверены в FreeBSD версии 7.2. Но должно работать и в
других версиях, где есть поддержка "ядерного" NAT для IPFW.

В /etc/rc.conf добавляем

   #Включаем IPFW
   firewall_enable="YES"
   # Подгружаем модуль ядра ipfw_nat
   firewall_nat_enable="YES"
   # Указываем путь к скрипту загрузки правил
   firewall_script="/etc/ipfw.script"

Создаем файл /etc/ipfw.script

   #!/bin/sh
   
   /sbin/ipfw -q /dev/stdin <<RULES
   flush
   #em0 - внешний интерфейс шлюза
   nat 10 config if em0
   #Правила для трансляции PPTP-соединения
   add 10 nat 10 gre from any to any
   add 11 nat 10 tcp from any to any dst-port pptp
   add 12 nat 10 tcp from any pptp to any
   # Разрешаем весь трафик
   add allow all from any to any
  
   RULES

Делаем скрипт исполняемым

   # chmod +x /etc/ipfw.script

Добавляем в правила PF

   # Запрещаем PF транслировать PPTP-соединения
   no nat on $external_if proto gre all
   no nat on $external_if proto tcp from any to any port = pptp
   no nat on $external_if proto tcp from any port = pptp to any
   ... skip ...
   
   # Пропускаем PPTP-соединения
   pass quick on $external_if inet proto tcp from any to any port 1723
   pass quick on $external_if inet proto tcp from any port 1723 to any
   pass quick on $external_if inet proto gre from any to any

После всех сделанных изменений перезагружаемся.
 
11.12.2009 , Автор: Князь , Источник: http://www.propheta.ru/2009/11/pptp...
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Aquarius, 14:24, 12/12/2009 [ответить] [смотреть все]
  • +/
    > После всех сделанных изменений перезагружаемся.

    наследие off-topic?

     
     
  • 2.3, Аноним, 20:33, 12/12/2009 [^] [ответить] [смотреть все]
  • +/
    Скорее - это привычка перестраховщика при правке etc rc conf, не желающего чтоб... весь текст скрыт [показать]
     
  • 1.2, Добрый Дохтур, 15:23, 12/12/2009 [ответить] [смотреть все]  
  • +/
    опять же, почему просто не использовать ipfw вместо pf?
     
  • 1.4, Анонимный, 23:10, 12/12/2009 [ответить] [смотреть все]  
  • +/
    Потому что ipfw не нужен.
     
     
  • 2.7, Дядюшка Ляо, 00:14, 13/12/2009 [^] [ответить] [смотреть все]  
  • +/
    >Потому что ipfw не нужен.

    Работающий только на одном cpu pf не нужен.

    http://forum.nag.ru/forum/index.php?showtopic=47497

     
  • 2.10, Дядюшка Ляо, 04:15, 13/12/2009 [^] [ответить] [смотреть все]  
  • +/
    >Потому что ipfw не нужен.

    в догонку: http://forum.nag.ru/forum/index.php?showtopic=49812

     
     
  • 3.14, iZEN, 15:08, 14/12/2009 [^] [ответить] [смотреть все]  
  • +/
    Над комментариями пользователей IPFW относительно PF я плакал.
     
     
  • 4.16, Дядюшка Ляо, 10:14, 15/12/2009 [^] [ответить] [смотреть все]  
  • +/
    дадада я тоже плакал, но над наивностью тех, кто повелся на syntax sugar от pf ... весь текст скрыт [показать]
     
  • 1.11, shurik, 11:49, 14/12/2009 [ответить] [смотреть все]  
  • +/
    http://shurik.kiev.ua/blog/index.php?/archives/9-FreeBSD_i_GRE.html
    +камент
     
  • 1.12, abigor, 12:51, 14/12/2009 [ответить] [смотреть все]  
  • +/
    народ, а у меня работает, у меня отдел бухов весь долбится для отправки платежек по pptp в банки. Чего я не так желаю?
     
  • 1.13, Аноним, 14:26, 14/12/2009 [ответить] [смотреть все]  
  • +/
    Немного не по теме, но может кто подскажет Почему через D Link овский PPPoE р... весь текст скрыт [показать]
     
  • 1.17, Анонимный Анонимус, 12:10, 22/12/2009 [ответить] [смотреть все]  
  • +/
    Странно, но у меня на FreeBSD 7.2-p5 amd64 при включенном PF, это не работает - к одному и тому же внешнему IP с двух "серых" адресов из локалки может подключиться только один, другим выдает Error 800. Пришлось вернуться к "костылю" с Frickin'ом. А жаль.
     
     
  • 2.18, Alexander, 22:37, 18/10/2010 [^] [ответить] [смотреть все]  
  • +/
    А у меня на 7 3 frickin не работает Клиенту что-то не нравится в ответе сервера... весь текст скрыт [показать]
     
  • 1.19, Дуров, 10:50, 01/07/2011 [ответить] [смотреть все]  
  • +/
    добавьте правило в PF

    pass proto 47 all keep state

     
     
  • 2.20, iZEN, 16:05, 01/07/2011 [^] [ответить] [смотреть все]  
  • +/
    > добавьте правило в PF
    > pass proto 47 all keep state

    "keep state" уже не обязательно — оно и так по дефолту у правил, если возможно, выставляется. //К.О.

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList