SNeon Опубликовано 28 октября, 2010 · Жалоба Fedora 13 - полёт нормальный! Немного про автоматизацию... После установки нового ядра, для автоматической сборки модулей isg в Fedora использую dkms Для начала ставим сам пакет # yum install -y dkms Беглый анализ показал, что dkms добавил свой сервис в автозапуск: # chkconfig --list | grep dkms dkms_autoinstaller 0:off 1:off 2:on 3:on 4:on 5:on 6:off Создаем папку для исходников модуля: В моем случае это будет: # mkdir /usr/src/lISG Копируем в созданный католог файлы isg_main.c isg_main.h isg_nehash.c libipt_ISG.c создаем файл конфигурации dkms.conf Туда вписываем следующее: PACKAGE_NAME="ipt_ISG" PACKAGE_VERSION="0.11" BUILT_MODULE_NAME[0]="ipt_ISG" DEST_MODULE_LOCATION[0]="/extra/" AUTOINSTALL="yes" создаем Makefile Туда вписываем следующее: # # Makefile for the ipt_ISG Linux ISG Access Control # obj-m = ipt_ISG.o ipt_ISG-objs = isg_main.o isg_nehash.o создаем build.h Туда вписываем следующее: /* Compilation date. * Written by Makefile (userspace) */ #define _BUILD_DATE "2010-08-02 15:06:38" Теперь добавляем модуль в репозиторий dkms: # dkms add -m ipt_ISG -v 0.11 Собираем модуль: # dkms build -m ipt_ISG -v 0.11 Теперь ставим его в текущее ядро: # dkms install -m ipt_ISG -v 0.11 Все! Теперь после yum update в новом ядре всегда будет isg ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SHADR Опубликовано 28 октября, 2010 · Жалоба Вопрос не по теме. Что может быть! До того как поставит ISG стояла киска, так как она не стала справляться выбрали бюджетный вариант. В общем проблема такая на этом шлюзе все как бы хорошо Н пользователи кто пользуется IE говорят все тормозит! Хотя в опере у них же все летает! В чем может быть дело? На циске было все нормально когда она нормально справлялась и в не пики.. не разу проблема не замечалась. Может ли быть что сетевые стоят обычные и сервер тоже обычный комп, стоит временно. так как ждем хорошую машину по заказу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 1 ноября, 2010 (изменено) · Жалоба -> Умник Есть продвижки по суммарному подсчету/полисингу для подсети ?? Да и L4 редирект неплохо было -бы. Изменено 1 ноября, 2010 пользователем kww Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchol Опубликовано 7 ноября, 2010 · Жалоба По моему на проект забили =( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jsmax Опубликовано 8 ноября, 2010 · Жалоба По моему на проект забили =( Я бы так не сказал. Сама идея очень хороша, поэтому найдутся люди которые продолжат разработку. Я допустим уже реализовал поддержку 2-ух и более айпи адресов. У нас много клиентов с 2-мя айпи адресами или с сетями /29, поэтому пришлось дописывать их поддержку. Скоро будем тестить. Личная просьба автору: комментируйте пожалуйста хотя-бы немножко код, пару дней потратил только для его разбора. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SNeon Опубликовано 8 ноября, 2010 (изменено) · Жалоба Предлагаю выкладывать свои патчи, с описанием. Пользуюсь Fedora 13 и 14. Полёт нормальный. Патч изменяет configure скрипт, чтобы не тянуть исходники ядра и iptables. достаточно поставить devel пакеты. Изменяет стартовый скрипт, на более подходящий для Fedora Изменяет Calling-Station-Id на формат IP - MAC Добавляет параметр конфигурации #$cfg{nas_ip} = "192.168.0.1"; ## By default equals to hostname diff -ruN lisg/ISG/bin/ISGd.pl lisg-oct-2-neon/ISG/bin/ISGd.pl --- lisg/ISG/bin/ISGd.pl 2010-10-02 22:10:08.000000000 +0300 +++ lisg-oct-2-neon/ISG/bin/ISGd.pl 2010-10-27 01:41:59.501692727 +0300 @@ -46,7 +46,11 @@ exit(0); } -$nas_ip = ISG::isg_get_nas_ip(); +if (defined($cfg{nas_ip})) { + $nas_ip = $cfg{nas_ip}; +} else { + $nas_ip = ISG::isg_get_nas_ip(); +} if (!length($nas_ip)) { do_log("warning", "Unable to get my own IP-address, using 127.0.0.1"); @@ -649,7 +653,7 @@ } $p->set_attr("User-Name", $username); - $p->set_attr("Calling-Station-Id", $username); + $p->set_attr("Calling-Station-Id", $username . " - " . ISG::format_mac($ev->{'macaddr'}, 2, ":")); $p->set_attr("Service-Type", "Framed-User"); @@ -662,7 +666,7 @@ $p->set_attr("NAS-Port-Type", "Virtual"); if (defined($ev->{'macaddr'})) { - $p->set_vsattr("Cisco", "Cisco-AVPair", "client-mac-address=" . ISG::format_mac($ev->{'macaddr'}, 4)); + $p->set_vsattr("Cisco", "Cisco-AVPair", "client-mac-address=" . ISG::format_mac($ev->{'macaddr'}, 4, ".")); } if ($code eq "Accounting-Request") { diff -ruN lisg/ISG/contrib/rc.ISGd lisg-oct-2-neon/ISG/contrib/rc.ISGd --- lisg/ISG/contrib/rc.ISGd 2010-10-02 22:10:08.000000000 +0300 +++ lisg-oct-2-neon/ISG/contrib/rc.ISGd 2010-08-02 15:41:42.000000000 +0300 @@ -1,44 +1,70 @@ #!/bin/sh +# +# Startup script for ISGd +# +# chkconfig: 345 86 15 +# description: ISG server +# processname: ISGd +# config: /etc/ISG/config.pl + +# Source function library. +. /etc/rc.d/init.d/functions +# Source networking configuration. +. /etc/sysconfig/network + +RETVAL=0 ulimit -n 8192 -ISGd_RUN="ISGd" +prog=ISGd ISGd_RUN="/usr/local/ISG/bin/ISGd.pl" NAME=`basename $0` -case $* in -start) +start() { + # Check that networking is up. + [ ${NETWORKING} = "no" ] && exit 1 + if pgrep -f $ISGd_RUN > /dev/null; then echo "$NAME: Already running" exit 1 fi - - echo "$NAME: Starting ISGd" - echo "1048576" > /proc/sys/net/core/rmem_max - $ISGd_RUN + # Start daemons. + echo -n $"Starting $prog: " + daemon $ISGd_RUN + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc $ISGd_RUN + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog + return $RETVAL +} - echo "$NAME: ISGd started" +case $* in +start) + start ;; stop) - PID=`cat /var/run/ISGd.pid 2> /dev/null` - - if [ "$PID" = "" ]; then - echo "$NAME: Not running" - exit 1 - fi - - echo "$NAME: Stopping ISGd (PID $PID)" + stop + ;; - kill $PID - echo "$NAME: ISGd stopped" +restart) + stop + start ;; *) - echo "Usage: $0 {start|stop}" >&2 + echo "Usage: $0 {start|stop|restart}" >&2 exit 1 ;; esac diff -ruN lisg/ISG/etc/config.pl lisg-oct-2-neon/ISG/etc/config.pl --- lisg/ISG/etc/config.pl 2010-10-02 22:10:08.000000000 +0300 +++ lisg-oct-2-neon/ISG/etc/config.pl 2010-10-27 01:42:28.928568147 +0300 @@ -13,6 +13,7 @@ $cfg{radius_auth}{0} = { server => "127.0.0.1:1812", timeout => 5, secret => "apple" }; $cfg{radius_acct}{0} = { server => "127.0.0.1:1813", timeout => 5, secret => "apple" }; +#$cfg{nas_ip} = "192.168.0.1"; ## By default equals to hostname #$cfg{nas_identifier} = "lISG"; ## By default equals to NAS IP-address ### CoA-related settings diff -ruN lisg/ISG/lib/ISG.pm lisg-oct-2-neon/ISG/lib/ISG.pm --- lisg/ISG/lib/ISG.pm 2010-10-02 22:10:08.000000000 +0300 +++ lisg-oct-2-neon/ISG/lib/ISG.pm 2010-10-27 01:43:14.255692743 +0300 @@ -115,14 +115,14 @@ } sub format_mac { - my ($mac, $step) = @_; + my ($mac, $step, $dl) = @_; my @pts; for (my $i = 0; $i <= 8 && $step; $i += $step) { push(@pts, substr($mac, $i, $step)); } - return join(".", @pts); + return join($dl, @pts); } sub hex_session_id_to_llu { diff -ruN lisg/kernel/configure lisg-oct-2-neon/kernel/configure --- lisg/kernel/configure 2010-10-02 22:10:08.000000000 +0300 +++ lisg-oct-2-neon/kernel/configure 2010-11-07 23:35:31.829350555 +0200 @@ -9,9 +9,9 @@ iptables_src_version() { echo -n "Checking iptables sources version: " - SRC="$IPTSRC/Makefile" - test -s "$SRC" || error "Please build iptables first." - VER=`sed -n 's/^\(IPTABLES_\)\?VERSION[ :]= \?//p' "$SRC"` + SRC="$IPTSRC/include/iptables/internal.h" + test -s "$SRC" || error "Please build iptables or install iptables-devel first." + VER=`sed -n 's/#define IPTABLES_VERSION //p' "$SRC" | tr -d "\""` test "$VER" || error "Unknown version of iptables." if [ "$VER" = "$IPTVER" ]; then echo "$VER (ok)" @@ -106,6 +106,7 @@ try_dirg "iptables" && return 0 try_dirg "../iptables" && return 0 try_dirg "/usr/src/iptables" && return 0 + try_dirg "/usr" && return 0 error "Can not find iptables source directory, try setting it with --ipt-src=" fi } Изменено 8 ноября, 2010 пользователем SNeon Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 8 ноября, 2010 · Жалоба Позволю себе покритиковать. Патч изменяет configure скрипт, чтобы не тянуть исходники ядра и iptables. достаточно поставить devel пакеты.У меня и до этого работало. ЧЯДНТ?Изменяет стартовый скрипт, на более подходящий для FedoraВ отдельный патч.Изменяет Calling-Station-Id на формат IP - MACВ отдельный патч. ISG вообще MAC-и клиентов не должен видеть.Добавляет параметр конфигурации#$cfg{nas_ip} = "192.168.0.1"; ## By default equals to hostname Решать кривую настройку сервера патчем? СильнО. Хотя, в некоторых случаях может пригодиться. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SNeon Опубликовано 8 ноября, 2010 · Жалоба Позволю себе покритиковать. У меня и до этого работало. ЧЯДНТ?Интересно, какая система и откуда тогда берется Makefile из исходников iptables??? В отдельный патч.Кому надо - может выдернуть из общего. Я же просто скинул свои поправки, которые необходимы были лично мне.Дальше тоже ковыряю и тестирую на подсети. Как будет готово - ISG вообще MAC-и клиентов не должен видеть.О_О это почему-же??? Наоборот! Как можно лишить себя такой полезной информации? Хотя, в некоторых случаях может пригодиться.Именно тот случай. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 9 ноября, 2010 · Жалоба Подскажите дураку, как натить, нифига не понимаю =\ До этого просто натил всех на один IP: iptables -t nat -A POSTROUTING -s 10.112.0.0/16 -j SNAT --to-source 93.x.x.4 Теперь пора выдавать юзерам внешники через ISG. В конфиге поставил $cfg{static_nat} = 1; Убираю строку из iptables: iptables -t nat -D POSTROUTING -s 10.112.0.0/16 -j SNAT --to-source 93.x.x.4 И те юзеры, которые должны натиться (Framed-IP-Address не выдаётся, либо выдаётся равный серому), натиться перестают =( Хотя вроде бы всё верно: Chain st_n_src10.112.31.112_28 (1 references) target prot opt source destination st_n_src10.112.31.112_30 all -- 10.112.31.112/30 0.0.0.0/0 Что я делаю не так? =( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 9 ноября, 2010 (изменено) · Жалоба ISG вообще MAC-и клиентов не должен видеть.О_О это почему-же??? Наоборот! Как можно лишить себя такой полезной информации? Эммм... О L3-свитчах не слышали? Аль у вас локалка прямо через NAS бегает? Изменено 9 ноября, 2010 пользователем Abram Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SNeon Опубликовано 9 ноября, 2010 (изменено) · Жалоба ISG вообще MAC-и клиентов не должен видеть.О_О это почему-же??? Наоборот! Как можно лишить себя такой полезной информации? Эммм... О L3-свитчах не слышали? Аль у вас локалка прямо через NAS бегает? если уж через L3 пускать, да еще и через циску, то зачем тогда этот проект? ;) Ессно прямо через NAS. Экономия должна быть экономной, как говорит директор =) Вся сеть сведена через .1q на soft NAS. NAS выступает таким себе 300+ портовым свитчем с ISG. Всё делалось для того, чтобы убрать VPN(pptp) но оставить мониторинг поклиентно. А тут такой прожект! Почти не надо модернизировать билинг, что удобно для мастеров и ТП. Остается гибкость радиуса и никаких допвложений в железо Изменено 9 ноября, 2010 пользователем SNeon Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 9 ноября, 2010 (изменено) · Жалоба ISG вообще MAC-и клиентов не должен видеть.О_О это почему-же??? Наоборот! Как можно лишить себя такой полезной информации? Эммм... О L3-свитчах не слышали? Аль у вас локалка прямо через NAS бегает? если уж через L3 пускать, да еще и через циску, то зачем тогда этот проект? ;) Ессно прямо через NAS. Экономия должна быть экономной, как говорит директор =) Вся сеть сведена через .1q на soft NAS. NAS выступает таким себе 300+ портовым свитчем с ISG. Фигасе у вас логика.Каким это раком L3-свитч должен заменить ISG? :) Он у вас чтоль и учет сессий вести должен? Изменено 9 ноября, 2010 пользователем Abram Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 9 ноября, 2010 · Жалоба ISG вообще MAC-и клиентов не должен видеть.О_О это почему-же??? Наоборот! Как можно лишить себя такой полезной информации? Эммм... О L3-свитчах не слышали? Аль у вас локалка прямо через NAS бегает? если уж через L3 пускать, да еще и через циску, то зачем тогда этот проект? ;) Ессно прямо через NAS. Экономия должна быть экономной, как говорит директор =) Вся сеть сведена через .1q на soft NAS. NAS выступает таким себе 300+ портовым свитчем с ISG. Фигасе у вас логика.Каким это раком L3-свитч должен заменить ISG? :) Он у вас чтоль и учет сессий вести должен? Видимо, на железном L3-роутере default gw -> ISG, а локалку роутит он сам. Очень удобно, но немасштабируемо: как только упираешься в производительность одного компа с ISG - хана =) Мы пошли другим путём: в каждом абонентском влане есть интерфейсы и ISG, и л3-железки. DHCP раздаёт юзерам дефолт на ISG и локальные маршруты на железку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 9 ноября, 2010 · Жалоба ISG вообще MAC-и клиентов не должен видеть.О_О это почему-же??? Наоборот! Как можно лишить себя такой полезной информации? Эммм... О L3-свитчах не слышали? Аль у вас локалка прямо через NAS бегает? если уж через L3 пускать, да еще и через циску, то зачем тогда этот проект? ;) Ессно прямо через NAS. Экономия должна быть экономной, как говорит директор =) Вся сеть сведена через .1q на soft NAS. NAS выступает таким себе 300+ портовым свитчем с ISG. Фигасе у вас логика.Каким это раком L3-свитч должен заменить ISG? :) Он у вас чтоль и учет сессий вести должен? Видимо, на железном L3-роутере default gw -> ISG, а локалку роутит он сам. Очень удобно, но немасштабируемо: как только упираешься в производительность одного компа с ISG - хана =) Мы пошли другим путём: в каждом абонентском влане есть интерфейсы и ISG, и л3-железки. DHCP раздаёт юзерам дефолт на ISG и локальные маршруты на железку. PBR спасет мир ;). Дефолт выдаем на железку, а там в зависимости от source разбрасываем next-hop на несколько машин с ISG. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchol Опубликовано 9 ноября, 2010 (изменено) · Жалоба А абонентские роутеры как жуют маршруты выдаваемые по dhcp ? На мой взгляд первое преимущество L3 это разделение абонентского локального трафика (в том числе и паразитного бродкастного), от "интернетовского",своего рода демилитаризация. На NAS идёт только то что должно идти через интернеты/пиринг, и там соответствующим образом пользователю отпускается заказанная услуга. Abram, кстати да, тоже таким образом рулим пользователей на 2 разных NAS'а. Только это немного ресурсоёмко, пытаемся отказаться от этой схемы. Изменено 9 ноября, 2010 пользователем pchol Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 9 ноября, 2010 · Жалоба PBR спасет мир ;). Дефолт выдаем на железку, а там в зависимости от source разбрасываем next-hop на несколько машин с ISG. Ну кстати да, или так =) А роутеры как жуют маршруты выаваемые по dhcp ?На мой взгляд первое преимущество L3 это разделение абонентского локального трафика (в том числе и паразитного), от "интернетоского", так сказать демилитаризация. На NAS идёт только то что должно идти через интернеты/пиринг, и там соответствующим образом пользователю отпускается заказанная услуга. Abram, кстати да, тоже таким образом рулим пользователей на 2 разных NAS'а. Только это немного ресурсоёмко, пытаемся отказаться от этой схемы. Роутеры, особенно дешёвые, в основном не жуют, но тут уж ничего не попишешь з.ы. Кто-нибуть, кто раздаёт и серые и реальники посредством ISG, покажите пожалуйста config.pl и правила iptables =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 10 ноября, 2010 · Жалоба А абонентские роутеры как жуют маршруты выдаваемые по dhcp ?Смотря какие. Зверьки вроде DIR-100 - нет :).На мой взгляд первое преимущество L3 это разделение абонентского локального трафика (в том числе и паразитного бродкастного), от "интернетовского",своего рода демилитаризация.На NAS идёт только то что должно идти через интернеты/пиринг, и там соответствующим образом пользователю отпускается заказанная услуга. Это, скорее, приятная мелочь :). Главное преимущество - большая часть нагрузки ложится на свитч. Abram, кстати да, тоже таким образом рулим пользователей на 2 разных NAS'а. Только это немного ресурсоёмко, пытаемся отказаться от этой схемы.Хм. А почему же ресурсоемко? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 10 ноября, 2010 (изменено) · Жалоба По какому принципу создаются правила 1-to-1 nat? Не понимаю... Вот передал единственный Framed-IP-Address, накидало кучу всякого рекурсивно-непонятного сразу: (src_ip = 10.112.31.112, dst_ip = 93.157.238.254) *nat :PREROUTING ACCEPT [655:41016] :OUTPUT ACCEPT [1:273] :POSTROUTING ACCEPT [1:273] :s_dst93.157.192.0_18 - [0:0] :s_dst93.157.224.0_20 - [0:0] :s_dst93.157.236.0_22 - [0:0] :s_dst93.157.238.0_24 - [0:0] :s_dst93.157.238.192_26 - [0:0] :s_dst93.157.238.240_28 - [0:0] :s_dst93.157.238.252_30 - [0:0] :s_dst_skeleton - [0:0] :s_src10.112.0.0_18 - [0:0] :s_src10.112.16.0_20 - [0:0] :s_src10.112.28.0_22 - [0:0] :s_src10.112.31.0_24 - [0:0] :s_src10.112.31.112_28 - [0:0] :s_src10.112.31.112_30 - [0:0] :s_src10.112.31.64_26 - [0:0] :s_src_skeleton - [0:0] -A POSTROUTING -d 192.168.0.3/32 -j MASQUERADE -A POSTROUTING -d 192.168.0.5/32 -j MASQUERADE -A POSTROUTING -d 10.10.10.6/32 -j MASQUERADE -A POSTROUTING -s 10.112.0.0/16 -j SNAT --to-source 93.157.238.4 -A s_dst93.157.192.0_18 -d 93.157.224.0/20 -j s_dst93.157.224.0_20 -A s_dst93.157.224.0_20 -d 93.157.236.0/22 -j s_dst93.157.236.0_22 -A s_dst93.157.236.0_22 -d 93.157.238.0/24 -j s_dst93.157.238.0_24 -A s_dst93.157.238.0_24 -d 93.157.238.192/26 -j s_dst93.157.238.192_26 -A s_dst93.157.238.192_26 -d 93.157.238.240/28 -j s_dst93.157.238.240_28 -A s_dst93.157.238.240_28 -d 93.157.238.252/30 -j s_dst93.157.238.252_30 -A s_dst93.157.238.252_30 -d 93.157.238.254/32 -j DNAT --to-destination 10.112.31.112 -A s_dst_skeleton -d 93.157.192.0/18 -j s_dst93.157.192.0_18 -A s_src10.112.0.0_18 -s 10.112.16.0/20 -j s_src10.112.16.0_20 -A s_src10.112.16.0_20 -s 10.112.28.0/22 -j s_src10.112.28.0_22 -A s_src10.112.28.0_22 -s 10.112.31.0/24 -j s_src10.112.31.0_24 -A s_src10.112.31.0_24 -s 10.112.31.64/26 -j s_src10.112.31.64_26 -A s_src10.112.31.112_28 -s 10.112.31.112/30 -j s_src10.112.31.112_30 -A s_src10.112.31.112_30 -s 10.112.31.112/32 -j SNAT --to-source 93.157.238.254 -A s_src10.112.31.64_26 -s 10.112.31.112/28 -j s_src10.112.31.112_28 -A s_src_skeleton -s 10.112.0.0/18 -j s_src10.112.0.0_18 При этом после очистки этой сессии мусор остаётся: :s_dst93.157.192.0_18 - [0:0] :s_dst93.157.224.0_20 - [0:0] :s_dst93.157.236.0_22 - [0:0] :s_dst93.157.238.0_24 - [0:0] :s_dst93.157.238.192_26 - [0:0] :s_dst93.157.238.240_28 - [0:0] :s_dst93.157.238.252_30 - [0:0] :s_dst_skeleton - [0:0] :s_src10.112.0.0_18 - [0:0] :s_src10.112.16.0_20 - [0:0] :s_src10.112.28.0_22 - [0:0] :s_src10.112.31.0_24 - [0:0] :s_src10.112.31.112_28 - [0:0] :s_src10.112.31.112_30 - [0:0] :s_src10.112.31.64_26 - [0:0] :s_src_skeleton - [0:0] -A POSTROUTING -d 192.168.0.3/32 -j MASQUERADE -A POSTROUTING -d 192.168.0.5/32 -j MASQUERADE -A POSTROUTING -d 10.10.10.6/32 -j MASQUERADE -A POSTROUTING -s 10.112.0.0/16 -j SNAT --to-source 93.157.238.4 -A s_dst93.157.192.0_18 -d 93.157.224.0/20 -j s_dst93.157.224.0_20 -A s_dst93.157.224.0_20 -d 93.157.236.0/22 -j s_dst93.157.236.0_22 -A s_dst93.157.236.0_22 -d 93.157.238.0/24 -j s_dst93.157.238.0_24 -A s_dst93.157.238.0_24 -d 93.157.238.192/26 -j s_dst93.157.238.192_26 -A s_dst93.157.238.192_26 -d 93.157.238.240/28 -j s_dst93.157.238.240_28 -A s_dst93.157.238.240_28 -d 93.157.238.252/30 -j s_dst93.157.238.252_30 -A s_dst_skeleton -d 93.157.192.0/18 -j s_dst93.157.192.0_18 -A s_src10.112.0.0_18 -s 10.112.16.0/20 -j s_src10.112.16.0_20 -A s_src10.112.16.0_20 -s 10.112.28.0/22 -j s_src10.112.28.0_22 -A s_src10.112.28.0_22 -s 10.112.31.0/24 -j s_src10.112.31.0_24 -A s_src10.112.31.0_24 -s 10.112.31.64/26 -j s_src10.112.31.64_26 -A s_src10.112.31.112_28 -s 10.112.31.112/30 -j s_src10.112.31.112_30 -A s_src10.112.31.64_26 -s 10.112.31.112/28 -j s_src10.112.31.112_28 -A s_src_skeleton -s 10.112.0.0/18 -j s_src10.112.0.0_18 Изменено 10 ноября, 2010 пользователем Wingman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 10 ноября, 2010 · Жалоба Wingman, README спасет мир ;). Если кратко - это дерево, по которому пакет попадает в нужное правило. Т.е. чтобы не проверять, скажем, 1000 правил - пакет проходит по дереву и достигает нужного правила всего где-то за 10 проверок. Навроде хеш-фильтров в tc. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 10 ноября, 2010 · Жалоба Abram, благодарю! Всё изумительно логично, всё работает, а я туплю =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchol Опубликовано 10 ноября, 2010 · Жалоба Abram, ресурсоёмко с точки зрения загрузки на мой второй сап. Староват он для этих дел =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Skylaer Опубликовано 14 ноября, 2010 · Жалоба Видимо, на железном L3-роутере default gw -> ISG, а локалку роутит он сам. Очень удобно, но немасштабируемо: как только упираешься в производительность одного компа с ISG - хана =)Мы пошли другим путём: в каждом абонентском влане есть интерфейсы и ISG, и л3-железки. DHCP раздаёт юзерам дефолт на ISG и локальные маршруты на железку. Я в шоке.. Уровень понимания и знания сетей завораживает (с) Имеем - 8 узлов агрегации Л3 в районах, каждый район имеет линк в свой ISG сервер. То есть 8 штук каталистов имеют дефолты в свой ISG, остальные маршруты получают по BGP от соседей. Так работает локалка. И уже ISG имеют по 2 BGP сессии в сторону двух бордеров. Плюс сессии между собой, чтобы трафик наверх не подымался. И никаких проблем. Больше скажу, на узлах агрегации параллельно стоят циски, которые смотрят во все вланы и раздают pppoe раутерам и прочим желающим. И даже ppptp сервер есть. На любой вкус, как говорится. И все работает :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 14 ноября, 2010 · Жалоба Видимо, на железном L3-роутере default gw -> ISG, а локалку роутит он сам. Очень удобно, но немасштабируемо: как только упираешься в производительность одного компа с ISG - хана =)Мы пошли другим путём: в каждом абонентском влане есть интерфейсы и ISG, и л3-железки. DHCP раздаёт юзерам дефолт на ISG и локальные маршруты на железку. Я в шоке.. Уровень понимания и знания сетей завораживает (с) Имеем - 8 узлов агрегации Л3 в районах, каждый район имеет линк в свой ISG сервер. То есть 8 штук каталистов имеют дефолты в свой ISG, остальные маршруты получают по BGP от соседей. Так работает локалка. И уже ISG имеют по 2 BGP сессии в сторону двух бордеров. Плюс сессии между собой, чтобы трафик наверх не подымался. И никаких проблем. Больше скажу, на узлах агрегации параллельно стоят циски, которые смотрят во все вланы и раздают pppoe раутерам и прочим желающим. И даже ppptp сервер есть. На любой вкус, как говорится. И все работает :) У меня почти так же. Разве что узлы Л3 в районах между собой общаются по OSPF, а у ISG тупо дефолт на один бордер. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 14 ноября, 2010 (изменено) · Жалоба Видимо, на железном L3-роутере default gw -> ISG, а локалку роутит он сам. Очень удобно, но немасштабируемо: как только упираешься в производительность одного компа с ISG - хана =)Мы пошли другим путём: в каждом абонентском влане есть интерфейсы и ISG, и л3-железки. DHCP раздаёт юзерам дефолт на ISG и локальные маршруты на железку. Я в шоке.. Уровень понимания и знания сетей завораживает (с) Имеем - 8 узлов агрегации Л3 в районах, каждый район имеет линк в свой ISG сервер. То есть 8 штук каталистов имеют дефолты в свой ISG, остальные маршруты получают по BGP от соседей. Так работает локалка. И уже ISG имеют по 2 BGP сессии в сторону двух бордеров. Плюс сессии между собой, чтобы трафик наверх не подымался. И никаких проблем. Больше скажу, на узлах агрегации параллельно стоят циски, которые смотрят во все вланы и раздают pppoe раутерам и прочим желающим. И даже ppptp сервер есть. На любой вкус, как говорится. И все работает :) Пока у нас это всё не обкатано -- я не верю, что ISG промолотит всех юзеров, сидящих на одной Л3-железке. Скажем, на одном 3750G каталисте у нас до 2-4к юзеров. Тарифы - в среднем мбит по 10, есть и сильно больше. Не верю, что один ISG не захлебнётся. Изменено 14 ноября, 2010 пользователем Wingman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 14 ноября, 2010 · Жалоба Пока у нас это всё не обкатано -- я не верю, что ISG промолотит всех юзеров, сидящих на одной Л3-железке.Скажем, на одном 3750G каталисте у нас до 2-4к юзеров. Тарифы - в среднем мбит по 10, есть и сильно больше. Не верю, что один ISG не захлебнётся. Тогда делайте на каталисте PBR и распределяйте на несколько lISG. :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...