Nat в FreeBSD 7.0 release

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-13 7:43:14

Привет! Подскажите люди добрые вот такую тему.
Везде написано, что в новой версии ipfw включен nat
NETWORK ADDRESS TRANSLATION (NAT)
The nat configuration command is the following:

nat nat_number config nat-configuration

The following parameters can be configured:

ip ip_address
Define an ip address to use for aliasing.

if nic Use ip addres of NIC for aliasing, dynamically changing it if
NIC's ip address change.

log Enable logging on this nat instance.

deny_in
Deny any incoming connection from outside world.

same_ports
Try to leave the alias port numbers unchanged from the actual
local port numbers.

unreg_only
Traffic on the local network not originating from an unregistered
address spaces will be ignored.

reset Reset table of the packet aliasing engine on address change.

reverse
Reverse the way libalias handles aliasing.

proxy_only
Obey transparent proxy rules only, packet aliasing is not per-
formed.

To let the packet continue after being (de)aliased, set the sysctl vari-
able net.inet.ip.fw.one_pass to 0. For more information about aliasing
modes, refer to libalias(3) See Section EXAMPLES for some examples about
nat usage.
ну и сам exemple
NAT, REDIRECT AND LSNAT
First redirect all the traffic to nat instance 123:

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

ipfw add nat 123 all from any to any
так вот читаю handbook часть про ipfw и вижу там

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

options    IPDIVERT
This enables the use of NAT functionality.
......
28.6.5.7 An Example NAT and Stateful Ruleset

There are some additional configuration statements that need to be enabled to activate the NAT function of IPFW. The kernel source needs 'option IPDIVERT' statement added to the other IPFIREWALL statements compiled into a custom kernel.

In addition to the normal IPFW options in /etc/rc.conf, the following are needed.

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

natd_enable="YES"                   # Enable NATD function
natd_interface="rl0"                # interface name of public Internet NIC
natd_flags="-dynamic -m"            # -m = preserve port numbers if possible
Так вот тут наступил ступор! Получается, что б включить NAT надо скомпилить ядро с "options IPDIVERT" при этом включается natd, ну а если хочеться не использовать natd, а по юзать nat встроенный в ipfw, какие опции нужно включать в ядро, то ????
Али без natd ни куда?
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

Хостинговая компания 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/

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

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение hizel » 2008-03-13 9:37:14

для nat в ipfw

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

options IPFIREWALL_NAT
options LIBALIAS
что то похожее, 7-ки точнее посмотреть, под боком нет
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

uderik
рядовой
Сообщения: 35
Зарегистрирован: 2007-10-24 12:15:47

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение uderik » 2008-03-13 19:34:56

ipfw nat во FreeBSD 7

В конфигурацию ядра добавляем:

options IPFIREWALL #firewall
options IPFIREWALL_VERBOSE #enable logging to syslogd(8)
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
options IPDIVERT # for divert
options IPFIREWALL_FORWARD
options DUMMYNET
options IPFIREWALL_NAT #ipfw kernel nat support
options LIBALIAS

Далее пересобираем ядро:

В конфигурационном файле ipfw:

NatIP="111.111.111.111"
ipfw nat 123 config ip ${NatIP} log
ipfw add 10 nat 123 ip from 192.168.0.0/16 to any
ipfw add 20 nat 123 ip from any to ${NatIP}
источник: http://www.opennet.ru/tips/info/1618.shtml

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-18 7:51:35

Все ядро откомпилил, NAT запустился как писать правило под нат глянул в rc.firewall стандартном

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

 
.....
case ${firewall_nat_enable} in
        [Yy][Ee][Ss])
                if [ -n "${firewall_nat_interface}" ]; then
                        ${fwcmd} nat 123 config if ${firewall_nat_interface} log
                        ${fwcmd} add 50 nat 123 ip4 from any to any via ${firewall_nat_interface}
                fi
                ;;
        esac
.....
у себя прописал так

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

#!/bin/sh
ipfw -f flush
oif="rl0"
iif="rl1"
oip="192.168.0.7" # внешний интерфейс как бы 
iip="192.168.1.1" # внутриний как бы

#Хождение через loopbask
ipfw add 10 allow all from any to any via lo0


#НАТ NAT
ipfw nat 100 config if $oif log
ipfw nat 101 config redirect_port tcp 192.168.1.2:3389 3389
ipfw add 20 nat 100 ip4 from any to any via $oif
ipfw add 21 nat 101 ip4 from any to any via $oif

ipfw add 1001 allow all from any to any 

При этом редирект ни фига не пахает... где копать то???
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение Alex Keda » 2008-03-18 10:11:34

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

ipfw show
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение dikens3 » 2008-03-18 12:07:23

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

ipfw add 20 nat 100 ip4 from any to any via $oif
ipfw add 21 nat 101 ip4 from any to any via $oif
Вторая строка должно быть лишняя. Убери и оставь только:

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

ipfw add 20 nat 100 ip4 from any to any via $oif
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-18 12:37:18

ipfw show вот:

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

00010     54      5918 allow ip from any to any via lo0
00020 284281 179361885 nat 100 ip4 from any to any via rl0
00021      0         0 nat 101 ip4 from any to any via rl0
00110      0         0 allow ip from 192.168.0.7 to any out via rl0 setup
00111 248375 140321817 allow tcp from any to any established
00112      0         0 allow tcp from any to any frag
01001    534     33339 allow ip from any to any
65535      0         0 deny ip from any to any
А насчет

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

    ipfw add 20 nat 100 ip4 from any to any via $oif
    ipfw add 21 nat 101 ip4 from any to any via $oif
оставлял

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

    ipfw add 20 nat 100 ip4 from any to any via $oif
ни чего не помогает.
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение dikens3 » 2008-03-18 13:37:00

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

ipfw nat 100 config if $oif log redirect_port tcp 192.168.1.2:3389 3389
А в одну строку прописать?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-18 14:05:20

Это попробую завтра

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

    ipfw nat 100 config if $oif log redirect_port tcp 192.168.1.2:3389 3389
поставил компилить mysql 5.1 так он мен сказал типа памяти не хватат оставил машинку в спокойном компилинии до заре пока пашет
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-19 11:07:23

Сделал так

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

/cnf/fw.conf
#!/bin/sh
ipfw -f flush
oif="rl0"
iif="rl1"
oip="192.168.0.7"
iip="192.168.1.1"

#Хождение через loopbask
ipfw add 10 allow all from any to any via lo0

#NAT
#ipfw nat 1 config if $oif log redirect_port tcp 192.168.1.2:3389 5050
ipfw nat 2 config if $oif log redirect_port tcp 192.168.1.2:80 5000
#ipfw nat 3 config if $oif log redirect_port tcp 192.168.1.2:3389 5100

#ipfw add 100 nat 1 tcp from 192.168.0.0/24 to any 3389,5050
#ipfw add 100 nat 1 tcp from any 3389,5050 to 192.168.0.0/24

ipfw add 200 nat 2 tcp from 192.168.0.0/24 to any 80,5000
ipfw add 200 nat 2 tcp from any 80,5000 to 192.168.0.0/24

#ipfw add 300 nat 3 tcp from 192.168.0.0/24 to any 3389,5100
#ipfw add 300 nat 3 tcp from any 3389,5100 to 192.168.0.0/24

ipfw nat 100 config if $oif log redirect_port tcp 192.168.1.2:3389 3389
ipfw add 500 nat 100 ip4 from any to any via $oif

#ipfw nat 101 config redirect_port tcp 192.168.1.2:3389 500
#ipfw add 21 nat 101 all from any to any

ipfw add 1110 allow all from $oip to any out via $oif setup
ipfw add 1111 allow tcp from any to any established
ipfw add 1112 allow tcp from any to any frag
ipfw add 1001 allow all from any to any
При этом хождение из 192.168.0.0/24 возможно на 192.168.1.2:80 при обращение на 192.168.0.7:5000 и на 192.168.1.2:3389 при обращение на 192.168.0.7:3389

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

[root@router_2 /cnf]# ipfw show
00010    0      0 allow ip from any to any via lo0
00200   44   8600 nat 2 tcp from 192.168.0.0/24 to any dst-port 80,5000
00200   34  26332 nat 2 tcp from any 80,5000 to 192.168.0.0/24
00500 4005 787070 nat 100 ip4 from any to any via rl0
01001 4100 795136 allow ip from any to any
01110    0      0 allow ip from 192.168.0.7 to any out via rl0 setup
01111    0      0 allow tcp from any to any established
01112    0      0 allow tcp from any to any frag
65535    2    112 deny ip from any to any

при этом если лазишь из 192.168.1.0/24 на кого-нить из 192.168.0.0/24 по 3389 тебя пускает...

Если сделать так

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

/cnf/fw.conf
#!/bin/sh
ipfw -f flush
oif="rl0"
iif="rl1"
oip="192.168.0.7"
iip="192.168.1.1"

#Хождение через loopbask
ipfw add 10 allow all from any to any via lo0

#NAT
ipfw nat 1 config if $oif log redirect_port tcp 192.168.1.2:3389 5050
ipfw nat 2 config if $oif log redirect_port tcp 192.168.1.2:80 5000
#ipfw nat 3 config if $oif log redirect_port tcp 192.168.1.2:3389 5100

ipfw add 100 nat 1 tcp from 192.168.0.0/24 to any 3389,5050
ipfw add 100 nat 1 tcp from any 3389,5050 to 192.168.0.0/24

ipfw add 200 nat 2 tcp from 192.168.0.0/24 to any 80,5000
ipfw add 200 nat 2 tcp from any 80,5000 to 192.168.0.0/24

#ipfw add 300 nat 3 tcp from 192.168.0.0/24 to any 3389,5100
#ipfw add 300 nat 3 tcp from any 3389,5100 to 192.168.0.0/24

ipfw nat 100 config if $oif log #redirect_port tcp 192.168.1.2:3389 3389
ipfw add 500 nat 100 ip4 from any to any via $oif

ipfw add 1110 allow all from $oip to any out via $oif setup
ipfw add 1111 allow tcp from any to any established
ipfw add 1112 allow tcp from any to any frag
ipfw add 1001 allow all from any to any
То подключиться с 192.168.0.7:5000 на 192.168.1.2:3389 получается без проблем... При этом из 192.168.1.0/24 на 192.168.0.0/24 на 3389 я зайти не могу!!!
И еще момент надо писать разрешение для redirect и туда и сюда

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

ipfw add 100 nat 1 tcp from 192.168.0.0/24 to any 3389,5050
ipfw add 100 nat 1 tcp from any 3389,5050 to 192.168.0.0/24
если место этого сдесь написать

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

ipfw add 100 nat 1 tcp from any to any via rl0 

то "основной NAT" переключиться с правила 500 и оно перестанет работать вообще...

Блин ребята молодцы, что нат в ядро засунули, но помимо этого еще манульчик написали бы, как его настраивать и пользоваться с картинками и подробной инструкцией для чайников....
А то пол нета перерыл ни кто этим вопросом видимо не удосужился заняться...
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение Alex Keda » 2008-03-19 11:14:30

напиши.
поможем.
Много народу спасибо скажет - ибо ты уже не первый с этой проблемой
Убей их всех! Бог потом рассортирует...

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-19 11:27:35

дык я уж написал все что разобрал...
Помаюсь еще малость и когда уже в боевую машину запущу это все крутиться отпишусь...
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-03-20 7:46:33

вот попробовал настроить редирект из внутреней подсетки навнутренюю же (такой трюк у меня через natd не прошёл) и вот что из этого получилось

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

#!/bin/sh
ipfw -f flush
oif="rl0"
iif="rl1"
oip="192.168.0.7"
iip="192.168.1.1"

#Хождение через loopbask
ipfw add 10 allow all from any to any via lo0

#NAT
#ipfw nat 1 config if $oif log redirect_port tcp 192.168.0.5:9999 9999

ipfw nat 2 config if $oif log redirect_port tcp 192.168.1.2:80 5000
ipfw nat 3 config if $oif log redirect_port tcp 192.168.1.2:3389 5100
ipfw nat 4 config if $iif log redirect_port tcp 192.168.1.2:80 5000

#ipfw add 100 nat 1 tcp from 192.168.0.0/24 to any 3389,5050
#ipfw add 100 nat 1 tcp from any 3389,5050 to 192.168.0.0/24

ipfw add 200 nat 2 tcp from 192.168.0.0/24 to any 80,5000
ipfw add 200 nat 2 tcp from any 80,5000 to 192.168.0.0/24

ipfw add 300 nat 3 tcp from 192.168.0.0/24 to any 3389,5100
ipfw add 300 nat 3 tcp from any 3389,5100 to 192.168.0.0/24

ipfw add 400 nat 4 tcp from 192.168.1.0/24 to any 80,5000
ipfw add 400 nat 4 tcp from any 80,5000 to 192.168.1.0/24

ipfw nat 100 config if $oif log #redirect_port tcp 192.168.1.2:3389 3389
ipfw add 500 nat 100 ip4 from any to any via $oif

ipfw add 1110 allow all from $oip to any out via $oif setup
ipfw add 1111 allow tcp from any to any established
ipfw add 1112 allow tcp from any to any frag

ipfw add 1001 allow all from any to any
ipfw show

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

00010    54    5920 allow ip from any to any via lo0
00200   172   27156 nat 2 tcp from 192.168.0.0/24 to any dst-port 80,5000
00200   282  334242 nat 2 tcp from any 80,5000 to 192.168.0.0/24
00300    94    9000 nat 3 tcp from 192.168.0.0/24 to any dst-port 3389,5100
00300   118   38143 nat 3 tcp from any 3389,5100 to 192.168.0.0/24
00400   253   64062 nat 4 tcp from 192.168.1.0/24 to any dst-port 80,5000
00400   343  344074 nat 4 tcp from any 80,5000 to 192.168.1.0/24
00500  9919 2707701 nat 100 ip4 from any to any via rl0
01001 10434 2755326 allow ip from any to any
01110     0       0 allow ip from 192.168.0.7 to any out via rl0 setup
01111     0       0 allow tcp from any to any established
01112     0       0 allow tcp from any to any frag
65535     0       0 deny ip from any to any
а вот ipfw nat show config показывает всяку хрень...

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

ipfw nat 100 config if rl0 log
ipfw nat 0 config
ipfw nat 0 config
ipfw nat 0 config
Приэтом из подсетки 192.168.0.0/24 при обращение на 192.168.0.7 до машины 192.168.1.2 прокидываются порты 5000->80 и 5100->3389.
А из подсетки 192.168.1.0/24 при обращении на 192.168.1.1:5000 происходит редирект на 192.168.1.2:80

Вот такие пироги... думую из-за того, в нате 2 раза использован порт 5000 (в разных правилах)

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

ipfw nat 2 config if $oif log redirect_port tcp 192.168.1.2:80 5000 #<---- Здесь
.....
ipfw nat 4 config if $iif log redirect_port tcp 192.168.1.2:80 5000 #<---- И здесь
.....
ipfw add 200 nat 2 tcp from 192.168.0.0/24 to any 80,5000 
ipfw add 200 nat 2 tcp from any 80,5000 to 192.168.0.0/24
.....
ipfw add 400 nat 4 tcp from 192.168.1.0/24 to any 80,5000   
ipfw add 400 nat 4 tcp from any 80,5000 to 192.168.1.0/24


поэтому он на ipfw nat show config выдаетвсякую хрень
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

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

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение atckoe » 2008-03-21 9:09:20

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

ipfw add 200 nat 2 tcp from 192.168.0.0/24 to any 80,5000
ipfw add 200 nat 2 tcp from any 80,5000 to 192.168.0.0/24
Непонятен сокральный смысл этого правила, обычно (а наверное даже правельно :) ) делают так
from net/mask to any (ports)
from any to ip_nat
ip_nat - это айпишник на который натится сеть :)
вот :)

Аватара пользователя
TaN
рядовой
Сообщения: 49
Зарегистрирован: 2007-08-13 8:39:00
Откуда: Россия, Волгоград/Волжский (Работа/Дом)
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение TaN » 2008-03-28 9:35:18

Всё правильно человек сделал. Ну не хочет он пропускать ответы с левых портов. Я бы, единственное, порекомендовал ещё порты из диапазона 1024-65535 в последнем правиле добавить. Безопасности не ухудшит. А проблем с некоторыми сервисами избежать можно будет. Особенно если не только http использоваться будет через НАТ.

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

ipfw add 200 nat 2 tcp from any 80,5000,1024-65535 to 192.168.0.0/24
"Верьте в нас, ибо только вера придаёт богам силу." @ Ом (Терри Пратчетт "Маленькие Боги")

Аватара пользователя
diversunt
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-12-02 20:43:13
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение diversunt » 2008-04-09 12:57:36

Ну вот вроде закончил маятся с NAT встроенным в ядро вот что получилось...
Народ вот конфиг, гляньте если не затруднит и дайте советы, если где то не очень красиво написано, буду рад совет в исправлении косяков...

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

#!/bin/sh
ipfw -f flush
oif="rl0"
iif="rl1"
oip="xxx.xxx.xxx.xxx"
iip="192.168.0.1"
dns1="yyy.yyy.yyy.yyy"
#Хождение через loopbask
ipfw add 10 allow all from any to any via lo0

ipfw add 20 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any dst-port 80 via $iif

#------------------------------------------
ipfw nat 1 config if $oif log redirect_port tcp 192.168.0.5:9999 9999
ipfw add 100 nat 1 tcp from any to $oip 9999 via $oif
ipfw add 100 allow tcp from any to 192.168.0.5 9999 via $iif

#------------------------------------------
ipfw nat 2 config if $oif log redirect_port tcp 192.168.0.5:9990 9990
ipfw add 100 nat 2 tcp from any to $oip 9990 via $oif
ipfw add 100 allow tcp from any to 192.168.0.5 9990 via $iif

#------------------------------------------
ipfw nat 3 config if $oif log redirect_port tcp 192.168.0.5:80 80
ipfw add 100 nat 3 tcp from any to $oip 80 via $oif
ipfw add 100 allow tcp from any to 192.168.0.5 80 via $iif

#------------------------------------------
ipfw nat 4 config if $oif log redirect_port tcp 192.168.0.6:7777 7777
ipfw add 200 nat 4 tcp from any to $oip 7777 via $oif
ipfw add 200 allow tcp from any to 192.168.0.6 7777 via $iif

#------------------------------------------
ipfw nat 5 config if $oif log redirect_port tcp 192.168.0.6:7770 7770
ipfw add 200 nat 5 tcp from any to $oip 7770 via $oif
ipfw add 200 allow tcp from any to 192.168.0.6 7770 via $iif

#------------------------------------------
ipfw nat 6 config if $oif log redirect_port tcp 192.168.0.6:7779 7779
ipfw add 200 nat 6 tcp from any to $oip 7779 via $oif
ipfw add 200 allow tcp from any to 192.168.0.6 7779 via $iif

#---------------NAT--------------------------------------
ipfw nat 10 config if $oif
ipfw add 300 nat 10 ip4 from any to any via $oif

#---------------Old config-------------------------------
#Запрет к 255.0.0.0 подсети
ipfw add 400 deny all from any to 127.0.0.0/8
ipfw add 400 deny all from 127.0.0.0/8 to any

#Запрет на наружнем интерфейсе внтреней сети
ipfw add 450 deny all from 192.168.0.0/24 to any via $oif

#Допуск определенных ping'ов
ipfw add 500 allow icmp from any to any in via $oif icmptypes 0,3,8,11
ipfw add 500 allow icmp from any to any out via $oif
ipfw add 500 allow icmp from any to any via $iif

#Запрет сетей
ipfw add 600 deny all from any to 0.0.0.0/8 via $oif
ipfw add 600 deny all from any to 169.254.0.0/16 via $oif
ipfw add 600 deny all from any to 224.0.0.0/4 via $oif
ipfw add 600 deny all from any to 240.0.0.0/4 via $oif

ipfw add 600 deny all from 0.0.0.0/8 to any via $oif
ipfw add 600 deny all from 169.254.0.0/16 to any via $oif
ipfw add 600 deny all from 224.0.0.0/4 to any via $oif
ipfw add 600 deny all from 240.0.0.0/4 to any via $oif

#Разрешения для локалки
ipfw add 700 allow tcp from 192.168.0.0/24 to any via $iif

#Разрешаю ssh 
ipfw add 800 allow tcp from any to any 22 via $iif 

#Разрошение на соединение, не прерывать соединение и получение фрагментир покетов
ipfw add 900 allow all from $oip to any out via $oif setup
ipfw add 910 allow tcp from any to any established
ipfw add 920 allow tcp from any to any frag

#Разрешение DNS
ipfw add 1000 allow udp from $dns1 53 to $oip in via $oif
ipfw add 1000 allow udp from $oip to $dns1 53 keep-state 

#Запрет  NETBIOS 
ipfw add 1100 deny udp from any to any 137,138 via $oif
ipfw add 1100 deny tcp from any to any 135,139 via $oif
 
#DHCP
#ipfw add 1200 allow udp from any to 192.168.0.1 67 via $iif keep-state

#ssh,smtp,pop,http
ipfw add 1300 allow tcp from any to $oip 22,25,110,80 via $oif setup

#Сброс опознавания
ipfw add 1400 reset tcp from any to $oip 113 via $oif

# FTP
ipfw add 1500 allow tcp from me 21,50000-50100 to any
ipfw add 1500 allow tcp from any to me 21,50000-50100
Последний раз редактировалось diversunt 2008-04-13 9:57:45, всего редактировалось 1 раз.
Лучше два раза прочитать HandBook, чем 2 раза покраснеть задав глупый вопрос!

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

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение nikll » 2008-04-10 11:26:33

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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Nat в FreeBSD 7.0 release

Непрочитанное сообщение Alex Keda » 2008-04-10 23:56:30

а чё - пароль он от ssh тоже написал?
Убей их всех! Бог потом рассортирует...