The OpenNET Project / Index page

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

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

"IPFW2 + NATD + VPN" 
Сообщение от Huuk Искать по авторуВ закладки on 13-Ноя-05, 23:36  (MSK)
Ситуация:

Есть машина (FreeBSD 5.4) с двумя сетевыми картами. (rl0, vr0).
На обеих картах "серые" адреса. Грубо говоря, есть локальная сеть "своя" (vr0) и провайдерская (rl0). Через

провайдерскую сеть устанавливается соединение с повайдерским сервером vpn для выхода в инет (используется mpd).

После установления vpn соединения появляется интерфейс ng0.

Задача - выпустить свою локалку (vr0) в интернет, используя технологию NAT. Доступ ИЗ интернета
в локальную сеть (т.е. публикация сервисов) не НУЖНО.

Настройку производил в соответствии с http://www.maxx.uz.ua/doc/www.troubles.ru/Doc/BSD/fw_natd.html
но пока схема не пашет.
Меня интересуют такие вопросы.
1) В моей схеме нат должен работать на интерфейсе ng0 или rl0?
2) В статье рассматривалась frebsd 4.9, а у меня 5.4, соответственно и ipfw2. Может что-нибудь и подругому надо

делать?
3) Есть ли грубые ошибки в моих конфигах?

Вот мои конфиги:

Ядро собрано с опциями:

options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPDIVERT

################################################################################
# cat /etc/rc.conf
defaultrouter="10.22.66.1"
hostname="serverbsd.local"
ifconfig_rl0="inet 10.22.66.31  netmask 255.255.255.0"
ifconfig_vr0="inet 192.168.110.254 netmask 255.255.255.0"
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
gateway_enable="YES"
natd_enable="YES"
natd_interface="ng0"
natd_flags="-f /etc/natd.conf"
################################################################################
# ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.110.254 netmask 0xffffff00 broadcast 192.168.110.255
        ether 00:0f:3d:df:b9:e4
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 10.22.66.31 netmask 0xffffff00 broadcast 10.22.66.255
        ether 00:80:48:1a:ee:7e
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1456
        inet 192.168.56.1 --> 111.111.111.111 netmask 0xffffffff
################################################################################
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            111.111.111.111      UGS         0     8206    ng0
10.22.66           link#2             UC          0        0    rl0
10.22.66.31         00:80:48:1a:ee:7e  UHLW        0        4    lo0
111.111.111/24       10.22.66.1          UGS         0    19013    rl0
127.0.0.1          127.0.0.1          UH          0      278    lo0
192.168.56.1       lo0                UHS         0        1    lo0
192.168.110        link#1             UC          0        0    vr0
192.168.110.254    00:0f:3d:df:b9:e4  UHLW        0      222    lo0
192.168.110.255    ff:ff:ff:ff:ff:ff  UHLWb       0      159    vr0
################################################################################
# cat /etc/rc.firewall
#!/bin/sh
fwcmd='/sbin/ipfw -q'

InetLanOut="ng0"
InetIPOut="192.168.56.1"
InetNetOut="32"

INLanIn="vr0"
INIPIn="192.168.110.254"
INNetInIP="192.168.110.0"
INNetInMask="24"

EXTLanOut="rl0"
EXTIPOut="10.22.66.31"
EXTNetOutIP="10.22.66.0"
EXTNetOutMask="24"

${fwcmd} -f flush
${fwcmd} add check-state
${fwcmd} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${fwcmd} add reject ip from ${INNetInIP}/${INNetInMask} to any in via ${EXTLanOut}
${fwcmd} add reject ip from ${INNetInIP}/${INNetInMask} to any in via ${InetLanOut}
${fwcmd} add allow ip from any to any via lo0

${fwcmd} add allow tcp from me to any keep-state via ${EXTLanOut}
${fwcmd} add allow gre from any to any
${fwcmd} add allow icmp from any to any

# DNS
${fwcmd} add allow udp from me to any domain via ${EXTLanOut} keep-state
${fwcmd} add allow udp from ${INNetInIP}/${INNetInMask} to me domain

# NAT
${fwcmd} add divert natd ip from ${INNetInIP}/${INNetInMask} to any out via ${InetLanOut}
${fwcmd} add divert natd ip from any to ${InetIPOut} in via ${InetLanOut}

${fwcmd} add pass tcp from any to any established

${fwcmd} add pass ip from ${InetIPOut} to any out xmit ${InetLanOut}

${fwcmd} add pass all from any to any via ${INLanIn}
  
${fwcmd} add 65535 deny ip from any to any
################################################################################
# cat /etc/natd.conf
same_ports yes
use_sockets yes
unregistered_only yes
################################################################################

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

 Оглавление

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

1. "IPFW2 + NATD + VPN" 
Сообщение от Surgutnet.ru Искать по авторуВ закладки on 14-Ноя-05, 06:45  (MSK)
Дело в том, что вы пытаетесь поднять natd в тот момент когда интерфейс ng0 не работает.. поэтому у вас ничего и не работает.... запускайте natd ПОСЛЕ того как установите VPN соединение.
По поводу Firewall.... поставте пока "OPEN" на время тестирования nat...
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "IPFW2 + NATD + VPN" 
Сообщение от Huuk Искать по авторуВ закладки on 14-Ноя-05, 09:38  (MSK)
>Дело в том, что вы пытаетесь поднять natd в тот момент когда
>интерфейс ng0 не работает.. поэтому у вас ничего и не работает....
>запускайте natd ПОСЛЕ того как установите VPN соединение.
>По поводу Firewall.... поставте пока "OPEN" на время тестирования nat...


Нет, вы не правы, соединение VPN уже установлено, все выводы программ показаны уже при установленном VPN соединении.

Связь по ВПН (через ng0) с инетом работает.

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

3. "IPFW2 + NATD + VPN" 
Сообщение от magr emailИскать по авторуВ закладки(??) on 14-Ноя-05, 10:00  (MSK)
>>Дело в том, что вы пытаетесь поднять natd в тот момент когда
>>интерфейс ng0 не работает.. поэтому у вас ничего и не работает....
>>запускайте natd ПОСЛЕ того как установите VPN соединение.
>>По поводу Firewall.... поставте пока "OPEN" на время тестирования nat...
>
>
>Нет, вы не правы, соединение VPN уже установлено, все выводы программ показаны
>уже при установленном VPN соединении.
>
>Связь по ВПН (через ng0) с инетом работает.

Вам человек советует поменять порядок запуска, а вы о говорите том, в какой момент снят вывод команд. Запустите, как он советует, natd не через rc.conf, а руками, или через скрипты mpd, после поднятия "ng0".

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

4. "IPFW2 + NATD + VPN" 
Сообщение от Huuk Искать по авторуВ закладки on 14-Ноя-05, 10:30  (MSK)
>>>Дело в том, что вы пытаетесь поднять natd в тот момент когда
>>>интерфейс ng0 не работает.. поэтому у вас ничего и не работает....
>>>запускайте natd ПОСЛЕ того как установите VPN соединение.
>>>По поводу Firewall.... поставте пока "OPEN" на время тестирования nat...
>>
>>
>>Нет, вы не правы, соединение VPN уже установлено, все выводы программ показаны
>>уже при установленном VPN соединении.
>>
>>Связь по ВПН (через ng0) с инетом работает.
>
>Вам человек советует поменять порядок запуска, а вы о говорите том, в
>какой момент снят вывод команд. Запустите, как он советует, natd не
>через rc.conf, а руками, или через скрипты mpd, после поднятия "ng0".
>

и так тоже делал, господа!

я просто хочу узнать - правильно ли я делаю, что нат вешаю на ng0 а не на rl0 и правильно ли я написал конфиги!

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

5. "IPFW2 + NATD + VPN" 
Сообщение от magr emailИскать по авторуВ закладки(??) on 14-Ноя-05, 10:49  (MSK)

>
>и так тоже делал, господа!
>
>я просто хочу узнать - правильно ли я делаю, что нат вешаю
>на ng0
да

> а не на rl0 и правильно ли я написал
>конфиги!

Определяющий фактор - не стартовые конфиги, а текущие (тем более, по вашим словам, что-то менять пробуете сами):
ps awwwx|grep nat
ipfw show

Вообще, если включите перед последним правилом
deny log ip from any to some_external_ip
и правило в обратную сторону, то быстрее поймете, где проблема, если пинги к some_external_ip не проходят (и если должны проходить)

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


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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




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

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