эта опция включена. в фаерволе не доганяю какое правило прописать чтобы форфордилоterminus писал(а):вы хотите сделать из рутера "однорукого бандита" - чтобы он трафик из 10.0.0.0/24 пересылал обратно в 10.0.0.0/24 ?
Есть смутное подозрение, что то что бы хотите сделать заработает после того как вы включите в конфиг ядра опциюКод: Выделить всё
options IPFIREWALL_FORWARD
Подробное руководство по ipfw nat
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 14
- Зарегистрирован: 2009-09-01 11:19:26
- Откуда: Москва
- Контактная информация:
Re: Подробное руководство по ipfw nat
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
К слову об одной сети и двух провайдерах. А если сделать просто два ната? Т.е. юзеры из table1 посылаются в один нат, юзеры из table2 - в другой.
Да, и еще. Не будет ли эффективней создавать очереди на внутреннем интерфейсе? Особенно при использовании pptp-подключения
Да, и еще. Не будет ли эффективней создавать очереди на внутреннем интерфейсе? Особенно при использовании pptp-подключения
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Жесткое разделение (часть юзеров в одного прова, часть в другого) это самый простой вариант. В примере 5 разделение динамическое - тут у каждого юзера есть шанс утилизировать пропускную способность обеих провайдеров при задействовании им нескольких сессий (торренты, качалки, etc)...
Вот не знаю (вы имеете в виду на интерфейсе смотрящем в локалку?) - надо подумать... А есть какие-нибудь рекомендации/проблемы при задействовании ната на pptp?Не будет ли эффективней создавать очереди на внутреннем интерфейсе? Особенно при использовании pptp-подключения
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Есть подозрение, что не режется нормально скорость - канал забит чуть больше, чем наполовину, хотя у меня активно работает торрент.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
какие у вас параметры подключения?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Параметры фаера или параметры mpd? Кстати каюсь, подключение таки pppoe (не так давно меняли), но думаю, сути дела это не меняет
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
подключений к провайдеру(ам?) - заявленная им скорость. настройки mpd. и какой пример из статьи про ipfw nat вы используете (если модифицировали сильно то и настройки ipfw покажите).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Настройки подключения думаю значения не имеют, потому что без использования очередей торрент спокойно занимает весь канал. Используется пример 2.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
В зависимости от скорости подключения можно оптимизировать размер буфера очереди и параметри его управления
Скорость в настройках pipe выставили в соответсвии со скоростью инета (вернее чуть-чуть меньше чем заявленная скорость интернета)?
В mpd у вас только тунеллирование активированно (случайно не может быть включен еще и какой-нить шейпер в mpd)?
Код: Выделить всё
queue 60 gred 0.002/10/30/0.1
В mpd у вас только тунеллирование активированно (случайно не может быть включен еще и какой-нить шейпер в mpd)?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
В мпд никаких шейперов не поднимал, pipe настроен нормально. Едиственное, поиграться с длиной очереди и гредом... Правда по последнему толковых манов так и не нашел:(
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
red/gred
http://forum.lissyara.su/viewtopic.php? ... ed#p183402
--
http://forum.lissyara.su/viewtopic.php? ... 61&p=87941
http://www.icir.org/floyd/REDparameters.txt
http://forum.lissyara.su/viewtopic.php? ... ed#p183402
--
http://forum.lissyara.su/viewtopic.php? ... 61&p=87941
http://www.icir.org/floyd/REDparameters.txt
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Поигрался немного, но вроде не сильно помогло. Кстати, а что за директива net.inet.ip.dummynet.io_fast, и можно ли ее применить? При попытке сменить с 0 на 1 sysctl выдал operation not permitted
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
---There are two modes of dummynet operation: ``normal'' and ``fast''. The
``normal'' mode tries to emulate a real link: the dummynet scheduler
ensures that the packet will not leave the pipe faster than it would on
the real link with a given bandwidth. The ``fast'' mode allows certain
packets to bypass the dummynet scheduler (if packet flow does not exceed
pipe's bandwidth). This is the reason why the ``fast'' mode requires
less CPU cycles per packet (on average) and packet latency can be signif-
icantly lower in comparison to a real link with the same bandwidth. The
default mode is ``normal''. The ``fast'' mode can be enabled by setting
the net.inet.ip.dummynet.io_fast sysctl(8) variable to a non-zero value.
Надо разобраться. Покажите весь конфиг ipfw который сейчас используется, и укажите какая скорость вашего подключения.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Ну я понял, что включение этой переменной отключает режим эмуляции канала и убирает задержки.
Вот конфиг:
Вот конфиг:
Код: Выделить всё
#Pipes
$fw pipe 100 config bw $downi queue 60
$fw pipe 200 config bw $upi queue 60
#-----------------------------------
#
#inet --> LAN
$fw queue 101 config weight $tcp2w queue 60 pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 102 config weight $ip1w queue 60 pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 103 config weight $tcp1w queue 60 pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
#LAN --> inet
$fw queue 201 config weight $tcp2w queue 60 pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 202 config weight $ip1w queue 60 pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 203 config weight $tcp1w queue 60 pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
#-----------------------------------
#Kernel NAT Settings
$fw nat 100 config log if $inet reset same_ports deny_in
#-----------------------------------
##loopback
$fwa 01100 allow ip from any to any via lo0
$fwa 01400 deny ip from any to 127.0.0.0/8
$fwa 01500 deny ip from 127.0.0.0/8 to any
#-----------------------------------
##Deny networks
$fwa 2000 deny log ip from 10.0.0.0/8 to me in via $inet
$fwa 2100 deny log ip from me to 10.0.0.0/8 out via $inet
$fwa 2200 deny log ip from 172.16.0.0/12 to me in via $inet
$fwa 2300 deny log ip from me to 172.16.0.0/12 out via $inet
#-----------------------------------
##Intranet connections
$fwa 03400 allow ip from $users to not me in via $lan
$fwa 03450 allow ip from $users to not me in via $vlan
$fwa 03500 allow ip from any to $users out via $lan
$fwa 03550 allow ip from any to $users out via $vlan
#-----------------------------------
##NTP,DNS
$fwa 04200 allow ip from me to $vtk_dns
$fwa 04250 allow ip from $vtk_dns to me
#-----------------------------------
##Outcoming queues
$fwa 05100 queue 203 tcp from $users to not me out via $inet
$fwa 05200 queue 203 tcp from $users to not me out via $inet
$fwa 05000 queue 201 tcp from me to any out via $inet
$fwa 05400 queue 202 udp from $users to not me out via $inet
$fwa 05500 queue 202 udp from $users to not me out via $inet
$fwa 05300 queue 202 udp from me to any out via $inet
#-----------------------------------
##NAT
$fwa 07200 nat 100 ip from any to any via $inet
#----------------------------------
##Incoming queues
$fwa 08100 queue 101 tcp from any to me in via $inet
$fwa 08300 queue 103 tcp from any to not me in via $inet
$fwa 08200 queue 102 udp from any to me in via $inet
$fwa 08400 queue 102 udp from any to not me in via $inet
#-----------------------------------
#$fwa 09000 allow all from any to any
##Outcoming allowers
$fwa 09153 allow ip from me 12553 to any out via $inet
$fwa 09154 allow ip from me 12554 to any out via $inet
$fwa 09200 allow ip from me to any out via $inet
#----------------------------------
##Incoming allowers
$fwa 09300 allow ip from any to $users in via $inet
$fwa 09353 allow ip from any to me 12553 in via $inet
$fwa 09354 allow ip from any to me 12554 in via $inet
$fwa 09400 allow ip from any to me in via $inet
#----------------------------------
##ICMP
$fwa 50200 allow icmp from me to any
$fwa 50250 allow icmp from any to me
##Allow all outcoming
$fwa 60000 allow ip from me to any
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Код: Выделить всё
$fwa 05100 queue 203 tcp from $users to not me out via $inet
$fwa 05200 queue 203 tcp from $users to not me out via $inet
$fwa 05000 queue 201 tcp from me to any out via $inet
$fwa 05400 queue 202 udp from $users to not me out via $inet
$fwa 05500 queue 202 udp from $users to not me out via $inet
$fwa 05300 queue 202 udp from me to any out via $inet
я так понимаю, что у вас настройка sysctl one_pass=0, следовательно трафик будет заходить в dummynet два раза на выходе...
все что после 09000 не работает...
много букав
---
и зачем создавать три отдельных очереди для tcp и udp, если они к тому же еще и динамические сами по себе (mask dst-ip 0xffffffff)?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
one_pass=0. То что дублируются правила - пропустил как-то уж не помню, откуда взялось. Скорость немного поднялалсь... может и правда в этом дело было
Одна очередь для самого серва - там торренты. Одна очередь для udp и еще одна для tcp
Одна очередь для самого серва - там торренты. Одна очередь для udp и еще одна для tcp
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
У вас кроме этого еще своя очередь для трафика рутера и своя для трафика клиентов, и обе динамические... все можно было бы засунуть в одну динамическую очередь.
Краткость, она это - сестра таланта.
Краткость, она это - сестра таланта.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Попробую, спасибо
- demonsked
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2009-05-24 3:27:45
- Откуда: Россия, 67rus
- Контактная информация:
Re: Подробное руководство по ipfw nat
Не работает шейпер после настройки в данном виде.
Пайпы пустые и 1 человек занимает весь канал полностью
Ранее было настроено так и все работало.
В чем может быть причина?
Код: Выделить всё
#IPFW rules for server
#
#
# сбрасываем все правила
flush
# сбрасываем все pipe
pipe flush
#лимиты скорости
pipe 1 config bw 256k queue 10
pipe 2 config bw 256k queue 10
pipe 3 config bw 512k queue 10
pipe 4 config bw 512k queue 10
pipe 5 config bw 512k queue 10
pipe 6 config bw 512k queue 10
pipe 7 config bw 2048k queue 10
pipe 8 config bw 2048k queue 10
#pipe 9 config bw 2048k queue 10
#pipe 10 config bw 2048k queue 10
#разрешаем весь траффик по внутреннему интерфейсу
add 100 allow all from any to any via lo0
#рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0
add 200 deny all from any to 127.0.0.0/8
add 300 deny all from 127.0.0.0/8 to any
# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via vr0
# боимся непонятного
add 1050 deny ip from any to 192.168.0.0/16 in recv sis0
add 1060 deny ip from 192.168.0.0/16 to any in recv sis0
#add 1070 deny ip from any to 172.16.0.0/12 in recv sis0
#add 1080 deny ip from 172.16.0.0/12 to any in recv sis0
add 1090 deny ip from any to 10.0.0.0/8 in recv sis0
add 10100 deny ip from 10.0.0.0/8 to any in recv sis0
add 10110 deny ip from any to 169.254.0.0/16 in recv sis0
add 10120 deny ip from 169.254.0.0/16 to any in recv sis0
# рубим мультикастовые рассылки
add 10130 deny ip from 224.0.0.0/4 to any out via sis0
add 10140 deny ip from any to 240.0.0.0/4 in via sis0
# рубим фрагментированные icmp
add 10150 deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
add 10160 deny log icmp from any to 255.255.255.255 in via sis0
add 10170 deny log icmp from any to 255.255.255.255 out via sis0
# для sshit
add 10180 deny ip from table(0) to any
# настройка ната
nat 1 config log if sis0 reset same_ports deny_in redirect_port tcp 172.16.0.10:50983 50983 redirect_port udp 172.16.0.10:50983 50983
# заварачиваем все что проходит через внешний интерфейс в нат
add 10190 nat 1 ip from any to any via sis0
#режем скорость
add 11100 pipe 1 all from 172.16.0.11 to any
add 11200 pipe 2 all from any to 172.16.0.11
add 11300 pipe 3 all from 172.16.0.12 to any
add 11400 pipe 4 all from any to 172.16.0.12
add 11500 pipe 7 all from 172.16.0.10 to any
add 60 pipe 8 all from any to 172.16.0.10
# Блокируем все остальные попытки соединения с занесением в логи
add 65534 deny log all from any to any
Код: Выделить всё
ipfw pipe show
00001: 256.000 Kbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00002: 256.000 Kbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00003: 512.000 Kbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00004: 512.000 Kbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00005: 512.000 Kbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00006: 512.000 Kbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00007: 2.048 Mbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
00008: 2.048 Mbit/s 0 ms 10 sl. 0 queues (1 buckets) droptail
Код: Выделить всё
#IPFW rules for server
#
#
# сбрасываем все правила
flush
# сбрасываем все pipe
pipe flush
#лимиты скорости
pipe 1 config bw 256k queue 10
pipe 2 config bw 256k queue 10
pipe 3 config bw 512k queue 10
pipe 4 config bw 512k queue 10
pipe 5 config bw 512k queue 10
pipe 6 config bw 512k queue 10
pipe 7 config bw 2048k queue 10
pipe 8 config bw 2048k queue 10
#pipe 9 config bw 2048k queue 10
#pipe 10 config bw 2048k queue 10
#разрешаем все от нас
add 1 allow all from 172.16.1.200 to any out
#разрешаем весь траффик по внутреннему интерфейсу
add 10 allow all from any to any via lo0
#рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0
add 11 deny all from any to 127.0.0.0/8
add 12 deny all from 127.0.0.0/8 to any
# рубим пакеты `типа от внутренней сети, но на внешнем интерфейсе`
add 20 deny ip from 172.16.0.0/24 to any in via sis0
# рубим пакеты `типа от внешней сети, но на внутреннем интерфейсе`
add 21 deny ip from 172.16.1.0/24 to any in via vr0
# рубим автоконфигуреную частную сеть
add 30 deny ip from any to 169.254.0.0/16 in via sis0
# рубим мультикастовые рассылки
add 40 deny ip from 224.0.0.0/4 to any out via sis0
add 41 deny ip from any to 240.0.0.0/4 in via sis0
# рубим фрагментированные icmp
add 50 deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
add 51 deny log icmp from any to 255.255.255.255 in via sis0
add 52 deny log icmp from any to 255.255.255.255 out via sis0
# разрешаем траффик внутренней сети на внутреннем интерфейсе
add 60 allow all from any to 172.16.0.0/24 in via vr0
add 61 allow all from 172.16.0.0/24 to any out via vr0
#используем нат
add 70 nat 1 ip from 172.16.0.0/24 to any via sis0
#режем скорость
add 111 pipe 1 all from 172.16.0.11 to any
add 112 pipe 2 all from any to 172.16.0.11
add 113 pipe 3 all from 172.16.0.12 to any
add 114 pipe 4 all from any to 172.16.0.12
add 115 pipe 7 all from 172.16.0.10 to any
add 116 pipe 8 all from any to 172.16.0.10
# Блокируем все остальные попытки соединения с занесением в логи
add 150 deny log all from any to any
Нас в ребут, а мы крепчаем.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
А может все-таки загонять трафик в очереди?
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Кстати, о пользе отдельных очередей для tcp и udp - не так сильно страдает пинг. При одной очереди для всего трафика (queue 100 ip...) пинг повышается до каких-то невообразимых значений. Так что имеет смысл разделять разные виды трафика, да и еще и повысить приоритет для udp - чтобы всякие dns и прочие запросы проходили в первую очередь
-
- рядовой
- Сообщения: 15
- Зарегистрирован: 2008-11-20 22:13:32
Re: Подробное руководство по ipfw nat
ИМХО. Было актуально пока uTorrent не научился работать по UDPSnake писал(а):Кстати, о пользе отдельных очередей для tcp и udp - не так сильно страдает пинг. При одной очереди для всего трафика (queue 100 ip...) пинг повышается до каких-то невообразимых значений. Так что имеет смысл разделять разные виды трафика, да и еще и повысить приоритет для udp - чтобы всякие dns и прочие запросы проходили в первую очередь
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Во-первых, не все об этом знают А во вторых - пользователей немного, и в случае чего выявить большую активность по udp будет не проблема
- demonsked
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2009-05-24 3:27:45
- Откуда: Россия, 67rus
- Контактная информация:
Re: Подробное руководство по ipfw nat
А может кто-нибудь может поправить? А то я не полностью разобрался с очередями.
Нас в ребут, а мы крепчаем.
-
- мл. сержант
- Сообщения: 90
- Зарегистрирован: 2008-06-13 12:56:54
Re: Подробное руководство по ipfw nat
Если не ошибаюсь, указывает пускать пакеты в обход думминет если пайп не забит под завязку .Snake писал(а):Поигрался немного, но вроде не сильно помогло. Кстати, а что за директива net.inet.ip.dummynet.io_fast, и можно ли ее применить? При попытке сменить с 0 на 1 sysctl выдал operation not permitted
Код: Выделить всё
[root@router /home/admin]# sysctl net.inet.ip.dummynet.io_fast=0
net.inet.ip.dummynet.io_fast: 1 -> 0
[root@router /home/admin]# sysctl net.inet.ip.dummynet.io_fast=1
net.inet.ip.dummynet.io_fast: 0 -> 1
Код: Выделить всё
[root@router /home/admin]# uname -a
FreeBSD router.ua 7.1-RELEASE-p6 FreeBSD 7.1-RELEASE-p6 #2: Tue Jul 21 20:05:02 EEST 2009 admin@router.ua:/usr/obj/usr/src/sys/GATE_NEW i386