Вопрос про ipwf pipe
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Вопрос про ipwf pipe
Доброе всем время суток!
Вопрос в следующем:
Есть шлюз на FreeBSD 9.1 с четырмя сетевухами: одна смотрит в инет xl0, вторая в общую сеть предприятия re1, где более двухсот пользователей, третья в сеть видеонаблюдения и контроля доступа re0, четвёртая на филиал через модемы IP-VPN rl0. На этом же шлюзе настроен Squid, пользователи кроме руководства и важных мест ходят в инет через него, шейпинг на нём уже настроен, MPD5 для доспупа к внутренним ресурсам из других филиалов, FTP и Apache. Хотелось бы сделать следующее:
1. настроить равномерное распределение пропускной способности канала интернета для всех пользователей общей сети, имеющих доступ в интернет
2. правда пока это второстепенно, тоже сделать и для сети видеонаблюдения, что бы пользователи из общей сети, имеющих доступ серверам, так же получали равномерный трафик
по первому вопросу: как правильно вставлять правила до или после правила divert nat и можно пример написания для организации ограничения на канал 20 Мбит общей пропускной способностью в 30 Мбит (10 будет использовано другим шлюзом в интернет не связанным с общей сетью), и ещё как эти правила будут влиять на сам Squid, его коснуться общие ограничения?
Спасибо! Прошу сразу прощения за мой "английский", я ещё только учусь, и не закидывать шапками, мануалы я читаю, но что-то пока побаиваюсь эксперементировать. Если что вдруг не так, то сразу звонки пойдут типа а хде интернет, у меня одноклассники не грузятся :-)
Вопрос в следующем:
Есть шлюз на FreeBSD 9.1 с четырмя сетевухами: одна смотрит в инет xl0, вторая в общую сеть предприятия re1, где более двухсот пользователей, третья в сеть видеонаблюдения и контроля доступа re0, четвёртая на филиал через модемы IP-VPN rl0. На этом же шлюзе настроен Squid, пользователи кроме руководства и важных мест ходят в инет через него, шейпинг на нём уже настроен, MPD5 для доспупа к внутренним ресурсам из других филиалов, FTP и Apache. Хотелось бы сделать следующее:
1. настроить равномерное распределение пропускной способности канала интернета для всех пользователей общей сети, имеющих доступ в интернет
2. правда пока это второстепенно, тоже сделать и для сети видеонаблюдения, что бы пользователи из общей сети, имеющих доступ серверам, так же получали равномерный трафик
по первому вопросу: как правильно вставлять правила до или после правила divert nat и можно пример написания для организации ограничения на канал 20 Мбит общей пропускной способностью в 30 Мбит (10 будет использовано другим шлюзом в интернет не связанным с общей сетью), и ещё как эти правила будут влиять на сам Squid, его коснуться общие ограничения?
Спасибо! Прошу сразу прощения за мой "английский", я ещё только учусь, и не закидывать шапками, мануалы я читаю, но что-то пока побаиваюсь эксперементировать. Если что вдруг не так, то сразу звонки пойдут типа а хде интернет, у меня одноклассники не грузятся :-)
Услуги хостинговой компании 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/
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос про ipwf pipe
покажи что уже настроино
... Да освятится имя твое и pасшиpение твое, Господи...
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
ipfw.conf вот такой за вычетом лишних закоментированных правил:
Может что тут и не правильно, пока курю маны и всемирный разум#!/bin/sh
FwCMD="/sbin/ipfw -q"
LanOut="xl0"
LanIn1="re1"
LanIn40="re0"
LanIn100="rl1"
IpOut="1.2.3.4"
IpIn1="192.168.1.2"
IpIn40="192.168.40.254"
IpIn100="192.168.100.1"
NetIn0="192.168.0.0"
NetIn40="192.168.40.0"
NetIn100="192.168.100.0"
${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush
${FwCMD} table 1 flush
${FwCMD} table 10 flush
${FwCMD} add check-state
#${FwCMD} pipe 1 config bw 20Mbit/s queue 60 grep 0.002/10/30/0.1
#${FwCMD} queue 1 config pipe 1 queue 60 mask src-ip 0xffffffff grep 0.002/10/30/0.1
#
#${FwCMD} pipe 2 config bw 20Mbit/s queue 60 grep 0.002/10/30/0.1
#${FwCMD} queue 2 config pipe 2 queue 60 mask dst-ip 0xffffffff grep 0.002/10/30/0.1
${FwCMD} add 1000 deny ip from table\(10\) to any
${FwCMD} add 2000 pass all from any to any via lo0
${FwCMD} add 2100 deny ip from any to 127.0.0.0/8
${FwCMD} add 2200 deny ip from 127.0.0.0/8 to any
${FwCMD} add 3000 deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add 3100 deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add 3200 deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add 3300 deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add 3400 deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add 3500 deny ip from any to 240.0.0.0/4 in via ${LanOut}
${FwCMD} add 3600 deny icmp from any to any frag
${FwCMD} add 3700 deny icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add 3800 deny icmp from any to 255.255.255.255 out via ${LanOut}
${FwCMD} add 3900 deny ip from me to any in recv ${LanOut}
${FwCMD} add 3902 deny icmp from any to any not icmptypes 0,8,11
${FwCMD} add 3910 deny ip from any to ${IpOut} 3128 in recv ${LanOut}
${FwCMD} add 3911 reject ip from any to ${IpOut} 123
${FwCMD} add 4700 divert natd ip from ${NetIn0}/22 to any out via ${LanOut}
${FwCMD} add 4710 divert natd ip from not ${NetIn0}/22 to ${IpOut} in via ${LanOut}
${FwCMD} add 4740 divert natd ip from ${NetIn40}/24 to any out via ${LanOut}
${FwCMD} add 4750 divert natd ip from not ${NetIn40}/24 to ${IpOut} in via ${LanOut}
${FwCMD} add 4800 allow udp from any to any
${FwCMD} add 4824 allow all from 31.41.7.146 to any via ${LanOut}
${FwCMD} add 4825 allow all from any to 31.41.7.146 1723 via ${LanOut}
#${FwCMD} add 4850 pipe 1 ip from any to 192.168.1.0/22 out via ${LanOut}
#${FwCMD} add 4851 pipe 2 ip from 192.168.1.0/22 to any in via ${LanOut}
${FwCMD} add 4900 deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add 5000 deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add 5100 deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add 5200 deny ip from 0.0.0.0/8 to any out via ${LanOut}
${FwCMD} add 5300 deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add 5400 deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add 5500 deny ip from 240.0.0.0/4 to any out via ${LanOut}
${FwCMD} add 5600 allow tcp from any to any established
${FwCMD} add 5700 allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add 6100 allow ip from any to ${IpOut} 20 via ${LanOut}
${FwCMD} add 6101 allow ip from any to ${IpOut} 21 via ${LanOut}
${FwCMD} add 6102 allow ip from any to ${IpOut} 110 via ${LanOut}
${FwCMD} add 6103 allow ip from any to ${IpOut} 443 via ${LanOut}
${FwCMD} add 6200 allow ip from any to ${IpOut} 10000-65535 via ${LanOut}
${FwCMD} add 6400 allow ip from any to ${IpOut} 80 via ${LanOut}
${FwCMD} add 6500 allow ip from any to ${IpOut} 2222 via ${LanOut}
#Allow
${FwCMD} add 7250 allow ip from table\(1\) to any via ${LanIn0}
${FwCMD} add 7251 allow ip from any to table\(1\) via ${LanIn0}
${FwCMD} add 7252 allow ip from any to table\(1\) via ${LanOut}
...
${FwCMD} add 65530 deny log logamount 3000 all from any to any
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
Ядро собрано со следующими настройками:
#firewall IPFW
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=20
options IPFIREWALL_FORWARD
options IPDIVERT
options IPFIREWALL_NAT
options DUMMYNET
options HZ="1000"
#NETGRAPH
options LIBALIAS
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_MPPC_COMPRESSION
options NETGRAPH_IFACE
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_PPPOE
options NETGRAPH_BPF
options NETGRAPH_KSOCKET
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_ONE2MANY
options NETGRAPH_RFC1490
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_SPLIT
options NETGRAPH_GIF
options NETGRAPH_IP_INPUT
options NETGRAPH_L2TP
options NETGRAPH_NETFLOW
options NETGRAPH_NAT
options NETGRAPH_BRIDGE
device if_bridge
#PF
device pf
device pflog
device pfsync
#ALTQ
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_CDNR
options ALTQ_NOPCC
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
вот sysctl.conf, если нужен:
#security.bsd.see_other_uids=0
net.inet.ip.fastforwarding=1
net.link.ether.inet.max_age=300
net.inet.ip.ttl=226
net.inet.tcp.drop_synfin=1
net.inet.ip.dummynet.io_fast=1
net.inet.ip.fw.one_pass=0
net.inet.ip.fw.autoinc_step=10
#default
#net.inet.tcp.msl=30000
#net.inet.tcp.blackhole=0
#net.inet.udp.blackhole=0
#net.inet.icmp.icmplim=50
#kern.ipc.somaxconn=32768
net.inet.tcp.msl=7500
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=50
kern.ipc.somaxconn=8192
kern.ipc.nmbclusters=65536
net.inet.tcp.delayed_ack=0
kern.ipc.maxsockets=204800
net.inet.tcp.sendspace=16384
net.inet.tcp.recvspace=65535
net.inet.ip.portrange.randomized=0
net.inet.tcp.nolocaltimewait=1
net.inet.udp.maxdgram=57344
#kern.polling.enable=1
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос про ipwf pipe
равномерное это как? сколько одновременно сидят на столько и делить канал? а где перенаправление на проксю?
а может так сделать, всех на проксю 80 порт, стольные порты порезать которые не нужны, а в сквиде каждому по 5 мигабит. при условии там кеша и зарезания соц сетей за глаза хватит.
а может так сделать, всех на проксю 80 порт, стольные порты порезать которые не нужны, а в сквиде каждому по 5 мигабит. при условии там кеша и зарезания соц сетей за глаза хватит.
... Да освятится имя твое и pасшиpение твое, Господи...
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
Сколько одновременно сидит сложно сказать, есть клиенты приходящие с Wi-Fi, да ещё и качающие через торенты, которым всё открыто. Равномерно, ну так что бы когда нет народу то весь канал допустим одному, много тогда что бы делился на всех и качающие не мешали остальным, да и канал сам уменьшить, ограничить, оставить кусочек для других нужд. Кэш и зарезание на сквиде есть. Перенаправление пока на сквид не делали, что-то в первое время у нас не пошло, а после почему-то и не стали, может сейчас и сделаем.RAGNAR писал(а):равномерное это как? сколько одновременно сидят на столько и делить канал? а где перенаправление на проксю?
а может так сделать, всех на проксю 80 порт, стольные порты порезать которые не нужны, а в сквиде каждому по 5 мигабит. при условии там кеша и зарезания соц сетей за глаза хватит.
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос про ipwf pipe
так вам надо определиться у вас клиенты каторым все можно тоже в одной сети со всеми? тогда надо их как то разнести выделить им отдельную полосу от всех. однозначно резать торенты. и сквид с ссд поможет.
или вот как то делал одним провда на микротике. можешь в эту сторону посматреть и такое не правельной оси сделать
http://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ
тоесть есть канал 20 Мбит/с
1 пол = 20 Метров
2 пользователя у каждого по 10 метров
3 пользователя у каждого по 6.6 метра
4 пользователя у каждого по 5 метров
5 пользователя у каждого по 4 метра
6 пользователя у каждого по 3.3 метров
7 пользователя у каждого по 2.8 метра
токак устороит ли . там это было специфика у меня. типо все по чесноку
или вот как то делал одним провда на микротике. можешь в эту сторону посматреть и такое не правельной оси сделать
http://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ
тоесть есть канал 20 Мбит/с
1 пол = 20 Метров
2 пользователя у каждого по 10 метров
3 пользователя у каждого по 6.6 метра
4 пользователя у каждого по 5 метров
5 пользователя у каждого по 4 метра
6 пользователя у каждого по 3.3 метров
7 пользователя у каждого по 2.8 метра
токак устороит ли . там это было специфика у меня. типо все по чесноку
... Да освятится имя твое и pасшиpение твое, Господи...
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
Привилегированных пользователей примерно около 40-ка (всё высшее руководство, группа бухгалтеров, договорников и прочих, которым якобы нужен весь инет без ограничений на контент), остальных порядка 100, ещё есть список, которых нужно типа наказать и порезать им до минимума инет (сидят полностью на сквиде и всё порезано). Можете что-то предложить, как можно поделить канал и сделать его типа все по честному?
А как можно резать торенты? Сквид с ссд - это что, сквид на ССД-винте?
Ещё очень сильно интересует вопрос подсчёта всего входящего и исходящего трафика, ведение статистики.
А как можно резать торенты? Сквид с ссд - это что, сквид на ССД-винте?
Ещё очень сильно интересует вопрос подсчёта всего входящего и исходящего трафика, ведение статистики.
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос про ipwf pipe
ну так и сделай 15метров на 40 человек начльство. сделай гарантировано 2 метра каждому с приоритетом 70 остольным из 40 чловекам приоритет 50.
остольные 15 метров отправишь 100 пользователей всех на сквид. да винт луше ссд интел. также по этим сеткам режешь все кроме 80 53 ну и че там еще нужно для работы.
в сквиде сделай 2 трубы скажем 0.7 метра это 100 пк и 0.3 метра все остальные. тут жеж и применишь запрет на сайты также для жоскасти накати приорететы это все в сквиде.
остольные 15 метров отправишь 100 пользователей всех на сквид. да винт луше ссд интел. также по этим сеткам режешь все кроме 80 53 ну и че там еще нужно для работы.
в сквиде сделай 2 трубы скажем 0.7 метра это 100 пк и 0.3 метра все остальные. тут жеж и применишь запрет на сайты также для жоскасти накати приорететы это все в сквиде.
... Да освятится имя твое и pасшиpение твое, Господи...
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос про ipwf pipe
а вообще 30 мегабит маловато на токую толпу и чтоб всем было комфортно
... Да освятится имя твое и pасшиpение твое, Господи...
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
маловато, но пока довольствуемся этим, у меня дома уже больше 

-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
Меня всё же интересует правильно описаны правила с pipe, которые заремлены вначале и после nat?
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос про ipwf pipe
нат натит то ты там собрался после него пайпить?
... Да освятится имя твое и pасшиpение твое, Господи...
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2009-03-20 8:51:46
Re: Вопрос про ipwf pipe
где-то в описаниях я читал что правила надо ставить за натом, а в кучах примерах это нет, так вот это меня и интересует, где всё же надо описывать трубы, очереди и кого в какую трубу послать?