Подробное руководство по ipfw nat

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-08 21:06:53

terminus писал(а):

Код: Выделить всё

add 01075 allow ip from any to 10.0.2.16 in recv em0
add 01076 allow ip from any to 10.0.3.16 in recv em1
эти не нужны. с ними ответный трафик не доходит до ната.

Это помогло?
блин точно. я их делал чтобы перекрыть 10130 и 10131 и не подумал что они могут перекрыть нат.

Спасибо за помощь!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-09-08 21:20:21

я их делал чтобы перекрыть 10130 и 10131
Не надо перекрывать. Из интернета не могут приходить "правельные" пакеты на внешний интерфейс якобы от внутренней сети. С 10130 и 10131 все будет работать.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-08 21:29:00

terminus писал(а): Не надо перекрывать. Из интернета не могут приходить "правельные" пакеты на внешний интерфейс якобы от внутренней сети. С 10130 и 10131 все будет работать.
Да, я понимаю, но у меня не прямое подключение к интернету, а через nat virtualbox'a, и он по dhcp выдает ip в диапазоне 10.0.0.0/16
а реальная система будет работать через 2 adsl модема и между модемами и шлюзом будут опять же приватные ip.
но это не проблема, я попробую как-нибудь иначе сделать 10130 и 10131.

cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-13 12:08:16

пытаюсь реализовать отказоустойчивость, используя оба канала и меня все время вопрос один мучает - в какой момент времени и как часто запускается скрипт setfib1? один раз при старте системы? я тут просто думаю, что если я в своем скрипте буду использовать команды

Код: Выделить всё

setfib 1 route delete default
setfib 1 route add default ${setfib1_defaultroute}
то не будет ли скрипт setfib1 затирать результат выполнения моего скрипта?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-09-13 16:07:55

в какой момент времени и как часто запускается скрипт setfib1?
один раз при старте системы. или вручную потом.
то не будет ли скрипт setfib1 затирать результат выполнения моего скрипта?
если рукми его не выполнять, то до следующей перезагрузки.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-17 23:12:09

написал небольшой скрипт, который будет определять жив ли тот или иной провайдер. если один из них мертв - направлять весь трафик на другого. прошу посмотреть, нет ли тут подводных камней, которые я мог по неопытности раскидать )

я прописал статические маршруты для h1 и h2 через gw1, а для h3 и h4 через gw2.
/etc/gwchecker

Код: Выделить всё

#!/bin/sh

gw1=10.0.2.2
gw2=10.0.3.2

h1=77.88.21.3           #ya.ru
h2=93.158.134.11        #ya.ru
h3=74.125.43.147        #google.com
h4=74.125.43.99         #google.com
ping -q -c 1 $h1 > /dev/null 2>&1
ph1=$?
ping -q -c 1 $h2 > /dev/null 2>&1
ph2=$?
pgw1=`expr $ph1 '*' $ph2`

ping -q -c 1 $h3 > /dev/null 2>&1
ph3=$?
ping -q -c 1 $h4 > /dev/null 2>&1
ph4=$?
pgw2=`expr $ph3 '*' $ph4`

lg(){
        echo `date` \|$ph1 $ph2 $ph3 $ph4\| $1 >> /var/log/gwchecker.log
}

case $pgw1 in
0)      if [ -f /tmp/gw1.na ]; then
                ( route change default $gw1 && rm /tmp/gw1.na && lg 'gw1 is up now. change fib0 to gw1') || lg '!!! gw1 restore failed'
        fi
        case $pgw2 in
        0)      if [ -f /tmp/gw2.na ]; then
                        ( setfib 1 route delete default && setfib 1 route add default $gw2 && rm /tmp/gw2.na && lg 'gw2 is up now. change fib1 to gw2') || lg '!!! gw2 restore failed'
                else lg OK #delete this line for decrease log size
                fi
                ;;
        *)      if [ ! -f /tmp/gw2.na ]; then
                        ( setfib 1 route delete default && setfib 1 route add default $gw1 && touch /tmp/gw2.na && lg 'gw2 is down. change fib1 to gw1') || lg '!!! change fib1 to gw1 failed'
                else lg 'gw2 still NA'
                fi
                ;;
        esac;;
*)      if [ ! -f /tmp/gw1.na ]; then
                touch /tmp/gw1.na
        fi
        case $pgw2 in
        0)      if [ -f /tmp/gw2.na ]; then
                        ( setfib 1 route delete default && setfib 1 route add default $gw2 && rm /tmp/gw2.na ) || lg '!!! change fib1 to gw2 failed'
                        lg 'gw2 is up now. change fib1 to gw2'
                fi
                if [ -f /tmp/gw1.na ]; then
                        route change default $gw2 || lg '!!! change fib0 to gw2 failed'
                        lg 'change fib0 to gw2'
                else
                        lg 'gw1 still NA'
                fi
                ;;
        *)      if [ ! -f /tmp/gw2.na ]; then
                        touch /tmp/gw2.na
                fi
                lg 'gw1 and gw2 are still NA'
                ;;
        esac;;
esac
прошу меня извинить за то что это по сути оффтоп. в свое оправдание могу сказать лишь то, что этот скрипт может послужить дополнением к пятому примеру )

cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-17 23:54:18

и ещё у меня возник вопрос по пятому примеру

Код: Выделить всё

add 1040 setfib 0 ip from any to any via fxp0 keep-state
add 1050 allow ip from any to any via fxp0

add 1060 setfib 1 ip from any to any via fxp0 keep-state
add 1070 allow ip from any to any via fxp0
почему keep-state стоит на правилах 1040 и 1060, а не на правилах 1050 и 1070?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-09-18 11:53:29

почему keep-state стоит на правилах 1040 и 1060, а не на правилах 1050 и 1070?
http://nuclight.livejournal.com/124348.html

Код: Выделить всё

         |
         v  фрагмент ipfw_chk(): начало правила с keep-state
         |                                             ______________________
         |                                            | ТАБЛИЦА ДИНАМИЧЕСКИХ |
    проверить таблицу (неявный check-state): <=======>|        ПРАВИЛ        |
    есть ли соответствующее пакету правило?           | (с таймером удаления |
         |     \                            .-------->| для каждого правила) |
        нет    да-->--перейти к действию в /          '----------------------'   
         |          найденном "родительском"                     ^
         v          правиле и сбросить таймер                    |
         |                в таблице         \                    |
         |                                   \                   |
   правило N: пакет соответствует указанному  |                  |
   условию в статическом правиле номер N ?    |         указано keep-state:
         |     \                              |         создать в таблице
        нет    да-->----------------->--------|-------> новое динамическое
         |                                    |         правило  |
         v                                    v                  |
   перейти к проверке следующего       выполнить параметры   <---'
   по списку статического правила      действия статического
         |                             правила N (log, tag, ...)
         v                                    |
         |    выполнить действие,             |
         |    указанное в статическом <-------'
         |    правиле N и обновить на
         |    правиле N счетчики
         v
Потому, что нам нужно запоминать состояние присвоенной пакету таблицы маршрутизации. Если поставить kepp-state на 1050 и 1070, то порядок действий будет такой:

пришел из локальной сети, на проходе IN пошел по правилам:
- на правиле "1010 prob 0.5 skipto 1060" пакет перепрыгнул на 1060
- на 1060 получил таблицу
- на 1070 в таблицу состояний попала записть IP 192.168.1.56 <-> IP 8.8.8.8 и действие "allow ip"
- на 1070 применяется "allow ip"

трафик ужел дальше, дошел до ната и ухел в интернет.

пришел из интернета, на проходе IN дошел до ната, демаскировался, ушел в проход OUT.
- дошел до 1040 и уже получил неверную таблицу
- дошел до 1050 и на check-state получил действие allow

ответный трафик который сново пришел из локальной сети, на проходе IN пошел по правилам:
- на правиле "1010 prob 0.5 skipto 1060" пакет перепрыгнул на 1040
- на 1040 получил неправильную таблицу
- на 1050 на check-state перепрыгнул на 1070, выполнил действие allow и ушел дальше...

В такой последовательности сессии будут ломаться - пакеты станут произвольно прыгать между подключениями, что нежелательно.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-18 12:15:39

terminus спасибо! мне почему-то и в голову не пришло, что keep-state запоминает таблицу маршрутизации

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-09-18 22:54:57

он запоминает не таблицу маршрутизации, а действие родительского правила. Правила 1040 и 1060 имеют действие setfib. Вот и весь номер.

Почитайте внимательно статью nuclight'а - много интересного для себя откроете. :smile:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

cthtuf
рядовой
Сообщения: 13
Зарегистрирован: 2010-09-06 22:28:00
Откуда: Санкт-Петербург

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение cthtuf » 2010-09-19 0:09:39

terminus писал(а):он запоминает не таблицу маршрутизации, а действие родительского правила
ну да, я просто имел ввиду что на правилах 1040 и 1060 keep-state делает именно это :smile:
terminus писал(а):Почитайте внимательно статью nuclight'а - много интересного для себя откроете. :smile:
да, я решил что стоит снова перечитать его статью о сложных случаях) статьи nuclight'а таковы, что лично я их не могу сразу усвоить всю ту информацию, которая в них преподносится, поэтому каждый раз читая их делаю для себя все новые и новые открытия :smile:

uasash
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-09-07 13:04:25

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение uasash » 2010-09-21 20:58:05

перехожу на ядерный нат (пока не совсем проникся), може кто кинет сылку на пример проброски на внутрений фтп

mak_v_
проходил мимо

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение mak_v_ » 2010-09-22 9:12:48

Господа, а кто-нибудь уже прикручивал setfib к pf?
Тема до боли избитая, но (пока без setfib):
1) 2 канала (дорогой, дешёвый)
2) На сервере прокся, фтп, почта, днс
3) с помощью route-to, reply-to закрутили ответ по нужным интерфейсам, работают ответы со всех интерфейсов (почта, ссх и т.д.)

Но вот незадача, надо сквиду выпустить через альтернативный канал.....бьюсь уже неделю
7.2-RELEASE, pf

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-09-22 9:39:10

uasash писал(а):перехожу на ядерный нат (пока не совсем проникся), може кто кинет сылку на пример проброски на внутрений фтп

Код: Выделить всё

ipfw nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 192.168.1.2:21 21 
redirect_port tcp 192.168.1.2:21 21
192.168.1.2:21 - куда делаем мапинг
21 - какой внешний порт мапим
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

uasash
проходил мимо
Сообщения: 9
Зарегистрирован: 2010-09-07 13:04:25

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение uasash » 2010-09-22 10:11:19

terminus писал(а):
uasash писал(а):перехожу на ядерный нат (пока не совсем проникся), може кто кинет сылку на пример проброски на внутрений фтп

Код: Выделить всё

ipfw nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 192.168.1.2:21 21 
redirect_port tcp 192.168.1.2:21 21
192.168.1.2:21 - куда делаем мапинг
21 - какой внешний порт мапим
а как же все остальное у меня это прописано...

Код: Выделить всё

 
redirect_port tcp 192.168.1.205:21 21 \
redirect_port tcp 192.168.1.205:20 20 \
но все равно не работает, блокирует входящие на $extip 1024-65353 вроде как alias_ftp должен рулить но че то не рулит.
Куда копать?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-09-22 10:18:25

В остальные правила? :unknown:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SOBAN » 2010-10-07 15:43:32

Пользовался файрволом pf. Сейчас решил пользоваться ipfw, но разобраться после за не такая уж и легкая задача... все как то не могу разобраться, имеет ли смысл переходить с pf на ipfw ?

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SOBAN » 2010-10-08 13:01:41

Подскажите что может быть!
FreeBSD шлюзом, локальной сети раздает интернет
Правила в ipfw:

Код: Выделить всё

add allow ip from 127.0.0.0/8 to any
add allow ip from any to 127.0.0.0/8


add allow ip from any to any via sis0

nat 1 config log if ng0 same_ports reset deny_in
add nat 1 ip from any to any via ng0

add allow ip from any to any

add divert natd all from any to any via ng0 
Такое ощущение что канал стал раз в 7-8 уже, скорость упала, страницы грузятся меееедленно. Некоторые сайты не открываются вообще. До этого стоял шлюз на FreeBSD 8.0 и с темеже сетевыми настройками и DNS серверами все открывалось...

В подписи софт и железо которое на нынешней машине.
FreeBSD 7.3-RELEASE i386
CPU: Intel Pentium 4 (2.00GHz 686-class CPU)
real memory = 1056899072 (1007 MB)
ad0: 114343MB <Seagate ST3120022A 8.01>

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-10-08 13:11:18

Зачем два ната ipfw nat + natd?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Kazak
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-07-28 9:46:46

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение Kazak » 2010-10-08 13:14:50

Доброго времени суток, честной компании.

Есть проблемное наследство от прошлого админа - конфиг для ipfw. Сама проблема состоит в том что всем пользователям дается НАТ, я категорически хочу это изменить, потому подразобравшись немного создал таблицу table(3) из тех машин которые НАТить,но вот проблема - без any to any (правило № 2200) ничего не работает.

Правила:
-

Код: Выделить всё

FwCMD="/sbin/ipfw"
IfExt="vr0"
IfInt="nfe0"
IpExt="212.12.111.115"
IpInt="10.10.10.76" 
## Servers table ##
ipfw table 3 flush
ipfw table 3  add 10.10.10.1
ipfw table 3  add 10.10.10.2
ipfw table 3  add 10.10.10.65
ipfw table 3  add 10.10.10.101
ipfw table 3  add 10.10.10.76
ipfw table 3  add 10.10.10.78
ipfw table 3  add 10.10.10.113
ipfw table 3  add 10.10.10.100
ipfw table 3  add 10.10.10.119


Netmask="24"
Netmask1="30"

NetInt="10.10.10.0/24"

${FwCMD} -f flush
${FwCMD} add  check-state

${FwCMD} add 00600 allow all from any to any via nfe0

ipfw nat 1 config  log if vr0  reset same_ports
ipfw  add 02000 nat 1 all from "table(3)" to any via vr0
ipfw  add 02100 allow all from "table(3)" to any via  nfe0

ipfw  add 02110 allow icmp from "table(3)" to any via  nfe0
ipfw  add 02120 allow icmp from "table(3)" to any via  vr0

ipfw add 02200 nat 1 all from any to any via vr0
ipfw add 02300 allow icmp from any to any via vr0
ipfw add  02400 allow all from me to any via nfe0
Тоесть либо натится все либо ничего, не понимаю почему не натится только таблица 3?

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SOBAN » 2010-10-08 13:53:00

А да... сори, не убрал natd, вообще, ситуация как с natd так и с ipfw nat складываеться одинаковая! По этому и пробывал все.

Так же часть ресурсов не открывается и низкая скорость.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-10-08 15:41:27

Есть проблемное наследство от прошлого админа

Код: Выделить всё


FwCMD="/sbin/ipfw"
IfExt="vr0"
IfInt="nfe0"
IpExt="212.12.111.115"
IpInt="10.10.10.76" 
Netmask="24"
Netmask1="30"
NetInt="10.10.10.0/24"

## Servers table ##
${FwCMD} table 3 flush

${FwCMD} table 3  add 10.10.10.1
${FwCMD} table 3  add 10.10.10.2
${FwCMD} table 3  add 10.10.10.65
${FwCMD} table 3  add 10.10.10.101
${FwCMD} table 3  add 10.10.10.76
${FwCMD} table 3  add 10.10.10.78
${FwCMD} table 3  add 10.10.10.113
${FwCMD} table 3  add 10.10.10.100
${FwCMD} table 3  add 10.10.10.119


${FwCMD} -f flush

${FwCMD} nat 1 config log if vr0 deny_in reset same_ports


${FwCMD} add 00600 allow all from ${NetInt} to me in recv nfe0
${FwCMD} add 00601 allow all from me to ${NetInt} out xmit nfe0

${FwCMD} add 00602 allow all from "table(3)" to any in recv nfe0
${FwCMD} add 00603 allow all from any to "table(3)" out xmit nfe0

${FwCMD} add 00604 deny all from any to any via nfe0

${FwCMD} add 00700 nat 1 all from any to any via vr0

${FwCMD} add 00800 allow all from any to any

:unknown:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2010-10-08 15:45:21

Игорь писал(а):А да... сори, не убрал natd, вообще, ситуация как с natd так и с ipfw nat складываеться одинаковая! По этому и пробывал все.

Так же часть ресурсов не открывается и низкая скорость.
netstat ошибок не показывет?

Код: Выделить всё

netstat -ibdn
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение hizel » 2010-10-08 16:06:17

Игорь писал(а):А да... сори, не убрал natd, вообще, ситуация как с natd так и с ipfw nat складываеться одинаковая! По этому и пробывал все.

Так же часть ресурсов не открывается и низкая скорость.
ng это pptp\pppoe? тогда mtu\mss проблема
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Curious mind
проходил мимо

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение Curious mind » 2010-10-08 17:09:11

terminus писал(а):
Есть проблемное наследство от прошлого админа

Код: Выделить всё


FwCMD="/sbin/ipfw"
IfExt="vr0"
IfInt="nfe0"
IpExt="212.12.111.115"
IpInt="10.10.10.76" 
Netmask="24"
Netmask1="30"
NetInt="10.10.10.0/24"

## Servers table ##
${FwCMD} table 3 flush

${FwCMD} table 3  add 10.10.10.1
${FwCMD} table 3  add 10.10.10.2
${FwCMD} table 3  add 10.10.10.65
${FwCMD} table 3  add 10.10.10.101
${FwCMD} table 3  add 10.10.10.76
${FwCMD} table 3  add 10.10.10.78
${FwCMD} table 3  add 10.10.10.113
${FwCMD} table 3  add 10.10.10.100
${FwCMD} table 3  add 10.10.10.119


${FwCMD} -f flush

${FwCMD} nat 1 config log if vr0 deny_in reset same_ports


${FwCMD} add 00600 allow all from ${NetInt} to me in recv nfe0
${FwCMD} add 00601 allow all from me to ${NetInt} out xmit nfe0

${FwCMD} add 00602 allow all from "table(3)" to any in recv nfe0
${FwCMD} add 00603 allow all from any to "table(3)" out xmit nfe0

${FwCMD} add 00604 deny all from any to any via nfe0

${FwCMD} add 00700 nat 1 all from any to any via vr0

${FwCMD} add 00800 allow all from any to any

:unknown:
Извиняюсь что не до конца уточнил,это шлюзовая машина раздающая инет. Мне нужно чтобы чтобы потребители не указанные в таблице получали инет только с прокси, мне не совсем понятно следующее:

Код: Выделить всё

${FwCMD} nat 1 config log if vr0 deny_in reset same_ports - Зачем запрещать вход пакетов на внешний интерфейс ?

${FwCMD} add 00600 allow all from ${NetInt} to me in recv nfe0
${FwCMD} add 00601 allow all from me to ${NetInt} out xmit nfe0

${FwCMD} add 00602 allow all from "table(3)" to any in recv nfe0
${FwCMD} add 00603 allow all from any to "table(3)" out xmit nfe0   Не до конца понятна логика этих правил хотя возможно я просто не правильно их трактую
И почему последнее правило

Код: Выделить всё

${FwCMD} add 00800 allow all from any to any