Zyx Опубликовано 23 августа, 2004 · Жалоба Вопрос возник изза обилия ословодов. Анлимит, поэтому ословоды качают круглосуточно. И засирают большим количеством пакетов исходящий траффик, посему входящий тоже падает. По портам их не отследить, соединение устанавливается на любом. совсем прикрыть нельзя. Решили пойти от обратного - основные службы с одним приоритетом, а ве остальное с меньшим. Теперь вопрос: если кто такое делал, киньте пожалуйста список портов, которые необходимы для нормальной работы среднего пользователя. Желательно поразвернутее, т.е. не только http, ftp, smtp, но и всякие MSN, ICQ, Yahoo, shoutcast, или чего там пользователи еще юзают. Сам не знаю, т.к. подьзуюусь по старинке только основным. Заранее спасибо. З.Ы. Можно было бы оставить только основные порты, а потом согласно жалобам пользователей, но это не есть хорошо, это дополнительные проблемы... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Roman Ivanov Опубликовано 23 августа, 2004 · Жалоба Вопрос возник изза обилия ословодов. Анлимит, поэтому ословоды качают круглосуточно. И засирают большим количеством пакетов исходящий траффик, посему входящий тоже падает. По портам их не отследить, соединение устанавливается на любом. совсем прикрыть нельзя. Решили пойти от обратного - основные службы с одним приоритетом, а ве остальное с меньшим. Теперь вопрос: если кто такое делал, киньте пожалуйста список портов, которые необходимы для нормальной работы среднего пользователя. Желательно поразвернутее, т.е. не только http, ftp, smtp, но и всякие MSN, ICQ, Yahoo, shoutcast, или чего там пользователи еще юзают. Сам не знаю, т.к. подьзуюусь по старинке только основным.Заранее спасибо. З.Ы. Можно было бы оставить только основные порты, а потом согласно жалобам пользователей, но это не есть хорошо, это дополнительные проблемы... не пойдет. не тот подход. Не помню как называется, можно анализировать СОДЕРЖАНИЕ пакета. И тогда фильтровать. А лучше - забыть про shared acces, зло это. Сам даю людям персональные пакеты, а чем юзер их засерает - его проблема. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Zyx Опубликовано 24 августа, 2004 · Жалоба А я хоть что то сказал про shared acces? Есессно все режется по пакетам. Но канал из которого нарезается ограничен, особенно наружу. И почему не тот подход? Я слышал, что многие так успешно работают. Не могли бы аргументировать? Анализировать содержимое есть хрень под линукс, приблуда к иптаблес, а у меня на фре все. Под нее я такой хреновины поука не встречал. И это, анализ пакета при большом траффике ооочень жрет ресурсы. И глючит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 24 августа, 2004 · Жалоба Вы хотя бы примерно представляете во сколько Вам обойдется анализ содержимого пакетов ? :-) Тут как-раз можно получить ситуацию когда лекарство хуже болезни. :-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Денис Креминский Опубликовано 24 августа, 2004 · Жалоба Вопрос возник изза обилия ословодов. Анлимит, поэтому ословоды качают круглосуточно. И засирают большим количеством пакетов исходящий траффик, посему входящий тоже падает. По портам их не отследить, соединение устанавливается на любом. совсем прикрыть нельзя. Решили пойти от обратного - основные службы с одним приоритетом, а ве остальное с меньшим. Теперь вопрос: если кто такое делал, киньте пожалуйста список портов, которые необходимы для нормальной работы среднего пользователя. Желательно поразвернутее, т.е. не только http, ftp, smtp, но и всякие MSN, ICQ, Yahoo, shoutcast, или чего там пользователи еще юзают. Сам не знаю, т.к. подьзуюусь по старинке только основным.Заранее спасибо. З.Ы. Можно было бы оставить только основные порты, а потом согласно жалобам пользователей, но это не есть хорошо, это дополнительные проблемы... Имею практику внедрения fbsd-шных "труб" (pipe) в такой конфигурации: http, ftp, dns, smtp, все stateful (и запросы и ответы) загоняются в широкую трубу (ftp стоит особняком, но тоже побеждаем). весь остальной трафик -- в узкую. Если похоже, помогу с конфигурацией. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Roman Ivanov Опубликовано 24 августа, 2004 · Жалоба А я хоть что то сказал про shared acces? Есессно все режется по пакетам. Но канал из которого нарезается ограничен, особенно наружу.И почему не тот подход? Я слышал, что многие так успешно работают. Не могли бы аргументировать? Анализировать содержимое есть хрень под линукс, приблуда к иптаблес, а у меня на фре все. Под нее я такой хреновины поука не встречал. И это, анализ пакета при большом траффике ооочень жрет ресурсы. И глючит. Если это не shared access, то скорее всего нарушение договора с вашей стороны. Или в договоре прописано - скорость 1Mbit, p2p - 100kbit ? Пахнет старыми технологиями СТВ... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Zyx Опубликовано 24 августа, 2004 · Жалоба Денис Креминский, да, именно оно и надо. Только желательно не только http, ftp, dns, smtp,а еще и усякие ICQ, MSN и т.д. Список портов желателен. Просто когда я попытался сделать только основные порты, стали жаловаться что половина страниц не работает. Видно чего то недоделал... Если не сложно, предоставьте пожалуйста пример как оно у вас сделано. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Roman Ivanov Опубликовано 24 августа, 2004 · Жалоба Денис Креминский, да, именно оно и надо. Только желательно не только http, ftp, dns, smtp,а еще и усякие ICQ, MSN и т.д. Список портов желателен. Просто когда я попытался сделать только основные порты, стали жаловаться что половина страниц не работает. Видно чего то недоделал... Если не сложно, предоставьте пожалуйста пример как оно у вас сделано. tcpdump -n | grep -v 80 | grep -v 21 | grep -v 22 и так несколько раз. Потом такое в лог на пару часов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 24 августа, 2004 · Жалоба А ословодов-то кто будет отфильтровывать ? :-) Пушкин ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Денис Креминский Опубликовано 24 августа, 2004 · Жалоба Денис Креминский, да, именно оно и надо. Только желательно не только http, ftp, dns, smtp,а еще и усякие ICQ, MSN и т.д. Список портов желателен. Просто когда я попытался сделать только основные порты, стали жаловаться что половина страниц не работает. Видно чего то недоделал... Если не сложно, предоставьте пожалуйста пример как оно у вас сделано. Все еще нуждается в твикании (в основном по части захардкоденных констант внутри), но в такой конфигурации работало. Поддерживает natd (кажется, требует punch для нормальной работы ftp в режиме НЕ-passive, без панча работает в passive, запихивая трафик в узкую трубу). Требует ipfw2 (по умолчанию в 5.2.x-RELEASE) для stateful. #!/bin/sh ipfw_program="/sbin/ipfw" ipfw_flags="-q" ext_net="x.x.x.x/27" ext_addr="x.x.x.x" int_net="192.168.1.0/24" int_addr="192.168.1.1" loopback_iface="lo0" int_iface="xl0" # will be allowed to pass any traffic!!! ext_iface="xl1" # all packets containing private addresses will be denied here in_bandwidth_limit="512Kbit/s" # total bandwidth limit (or NO) out_bandwidth_limit="512Kbit/s" # total bandwidth limit (or NO) in_misc_bandwidth_limit="64Kbit/s" # bandwidth limit per "misc" traffic out_misc_bandwidth_limit="64Kbit/s" # bandwidth limit per "misc" traffic their_free_tcp_ports="20,21,22,23,25,80,119,143,443" their_free_udp_ports="53" my_free_tcp_ports="20,21,22,25,80,443" my_free_udp_ports="53" my_open_tcp_ports="20,21,22,25,53,80,443" my_open_udp_ports="53" transparent_http_proxy="127.0.0.1,3128" ntpdconffile="/etc/ntp.conf" ############################################################################### # # # # # END OF CONFIGURATION VARIABLES. STOP HERE UNLESS YOU KNOW WHAT YOU'RE DOIN' # # # # # ############################################################################### # Suck in the system configuration variables. if [ -r /etc/defaults/rc.conf ]; then . /etc/defaults/rc.conf source_rc_confs elif [ -r /etc/rc.conf ]; then . /etc/rc.conf fi # # flushing all rules # echo -n ' ipfw' /sbin/sysctl -w net.inet.ip.fw.one_pass=0 ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} -f flush echo -n " +loopback" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 10 pass all from any to any via ${loopback_iface} // loopback if [ -n "${transparent_http_proxy}" ]; then echo -n " >transparent_http_proxy" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 100 fwd ${transparent_http_proxy} tcp from ${int_net} to not ${ext_net} 80 in via ${int_iface} // transparent http proxy fi case ${natd_enable} in [Yy][Ee][ss]) echo -n " >nat" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 200 divert natd all from ${int_net} to any out via ${ext_iface} // divert packets from local hosts ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 500 divert natd all from any to ${ext_net} in via ${ext_iface} // divert incoming packets esac echo -n " |default" case ${out_bandwidth_limit} in [Nn][Oo]) break ;; *) ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 300 pipe 300 tcp from ${ext_net} not ${my_free_tcp_ports} to not ${ext_net} not 20,21,25,80 out via ${ext_iface} // pipe misc tcp outgoing except e-mail ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 300 pipe 300 udp from ${ext_net} not ${my_free_udp_ports} to not ${ext_net} out via ${ext_iface} // pipe misc udp outgoing ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} pipe 300 config bw ${out_misc_bandwidth_limit} delay 10 ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 301 pipe 301 ip from ${ext_net} to not ${ext_net} out via ${ext_iface} // pipe all outgoing ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} pipe 301 config bw ${out_bandwidth_limit} delay 10 esac case ${in_bandwidth_limit} in [Nn][Oo]) break ;; *) ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 310 pipe 310 tcp from not ${ext_net} not ${their_free_tcp_ports} to ${ext_net} not 20,21,25,80 in via ${ext_iface} // pipe misc tcp incoming except e-mail, ftp ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 310 pipe 310 udp from not ${ext_net} not ${their_free_udp_ports} to ${ext_net} in via ${ext_iface} // pipe misc udp incoming ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} pipe 310 config bw ${in_misc_bandwidth_limit} delay 10 ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 311 pipe 311 ip from not ${ext_net} to ${ext_net} in via ${ext_iface} // pipe all incoming ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} pipe 311 config bw ${in_bandwidth_limit} delay 10 esac echo -n " |icmp_band_limit" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 400 pipe 400 icmp from any to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 400 allow icmp from any to any ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} pipe 400 config bw 16000 delay 50 echo -n " check-state" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 600 check-state // check dynamic rules echo -n " +local-keep-state" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 700 allow ip from ${int_net} to any in via ${int_iface} keep-state // remember nat clients # # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) # on the outside interface # # Prevent any "local" traffic or address spoofing # on external iface other than diverted # echo -n " -private_ips:${ext_iface}" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 192.168.0.0/16 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 192.168.0.0/16 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 127.0.0.0/8 ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 10.0.0.0/8 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 10.0.0.0/8 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 172.16.0.0/12 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 172.16.0.0/12 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 0.0.0.0/8 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 0.0.0.0/8 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 169.254.0.0/16 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 169.254.0.0/16 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 192.0.2.0/24 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 192.0.2.0/24 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 224.0.0.0/4 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 224.0.0.0/4 via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from 240.0.0.0/4 to any via ${ext_iface} ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from any to 240.0.0.0/4 via ${ext_iface} echo -n " -ip_spoof:${ext_iface}" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 800 deny all from not ${ext_net} to any out via ${ext_iface} // prevent my ip spoof echo -n " +my_open_ports" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 900 allow tcp from any to ${ext_addr} ${my_open_tcp_ports} in via ${ext_iface} setup keep-state // tcp that we show ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 900 allow udp from any to ${ext_addr} ${my_open_udp_ports} in via ${ext_iface} keep-state // udp that we show ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 900 allow ip from ${int_addr} to ${int_net} out via ${int_iface} keep-state // if i want to connect to someone locally # # OBSOLETE with keep-state outgoing udp rules # #echo -n " +ntp_support" #if [ -f ${ntpdconffile} ]; then # servers=`cat ${ntpdconffile} | grep server | awk ' { print $2 } '` # for server in ${servers}; do # ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 1000 allow udp from ${ext_addr} 123 to ${server} 123 keep-state // ntp # done #fi echo -n " +outgoing" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 1100 allow tcp from ${ext_net} to any out via ${ext_iface} keep-state // allow outgoing tcp ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 1100 allow udp from ${ext_net} to any out via ${ext_iface} keep-state // and udp echo -n " -default" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 65534 deny all from any to any via ${ext_iface} // deny the rest by default echo -n " -port135" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 650 deny ip from ${int_net} to any 135 in via ${int_iface} // Blast hack echo -n " -port25" ${ipfw_program:-/sbin/ipfw} ${ipfw_flags} add 640 allow ip from ${int_net} to ${int_net} 25 in via ${int_iface} // allow local smtp to unix echo . Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Гость Опубликовано 24 августа, 2004 · Жалоба Мысль такая, прошу не пинать за сырость. Ослиный траффик должен качественно отличаться от других, например: HTTP - короткие, ассиметричные, однонаправленные сеансы, всегда преобладает входящий трафик. FTP - ассиметричные, однонаправленные сеансы, как правило преобладает входящий трафик. Пейджеры - постоянный сверхмалый траффик. Почта - короткие, ассиметричные сеансы. Осёл - постоянный, тяжелый, разнонаправленный траффик. Если использовать анализатор траффика, можно придумать скрипты отсеивающие траффик определённого характера в отдельный пайп. То же решение, что и с tcpdump'ом, но автоматизированное. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Vicus Опубликовано 26 августа, 2004 · Жалоба а если вумный ословод перебьет порты в настройках осла на приоритетные? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Денис Креминский Опубликовано 26 августа, 2004 · Жалоба а если вумный ословод перебьет порты в настройках осла на приоритетные? приоритетные порты должны быть с той стороны. что для большинства ословодов, читаем "для большей части интернета", редкость. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Гость Опубликовано 26 августа, 2004 · Жалоба http://www.http-tunnel.com/html/ August 1, 2004 HTTP-Tunnel Low Bandwidth services up to 40kbit/sec are now provided free of charge. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
avial Опубликовано 26 августа, 2004 · Жалоба Roman Ivanov, Сам даю людям персональные пакеты, а чем юзер их засерает - его проблема. То есть, сумма каналов юзеров равна пропускной способности внешнего канала? Или все же сумма на порядки превосходит внешку? Ну тогда это все равно shared, хотя вы его там и по другому называть пытаетесь :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Roman Ivanov Опубликовано 26 августа, 2004 · Жалоба Roman Ivanov, Сам даю людям персональные пакеты, а чем юзер их засерает - его проблема. То есть, сумма каналов юзеров равна пропускной способности внешнего канала? Или все же сумма на порядки превосходит внешку? Ну тогда это все равно shared, хотя вы его там и по другому называть пытаетесь :) Больше, но не на порядки. При к-ве юзеров более 50-100 действуют другие правила. Хотите гарантийку? за 2-йную цену NP. 99.9% времени я обеспечиваю юзеру его канал. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
avial Опубликовано 26 августа, 2004 · Жалоба Roman Ivanov, Ну тогда, собственно, все зависит от соотношения качков к нормальным. Будет у вас много ословодов - будут те же проблемы. Особенно, если канал ADSL, ведь именно он у автора темы как я понял? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Roman Ivanov Опубликовано 27 августа, 2004 · Жалоба Roman Ivanov, Ну тогда, собственно, все зависит от соотношения качков к нормальным. Будет у вас много ословодов - будут те же проблемы. Особенно, если канал ADSL, ведь именно он у автора темы как я понял? У меня симметричный, оптика, 20Mbit. Ословоды меня не волнуют ;) Есть внутренний FTP на 600 гиг. НУ нет и не будет этих скачков. У Автора если ADSL/cable - то возможно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 27 августа, 2004 · Жалоба Ословоды Вас не волнуют пока под осла не выпустили очередной slammer. :-) Вот тогда они Вам будут очень волновать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...