The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"IPFW2 + NATD + VPN"
Отправлено Huuk, 13-Ноя-05 23:36 
Ситуация:

Есть машина (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
################################################################################

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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