Перейти до

hiot

Маглы
  • Всього повідомлень

    11
  • Приєднався

  • Останній візит

hiot's Achievements

Пролетал Мимо

Пролетал Мимо (1/9)

0

Репутація

  1. На роутере с админом cnet. Остальные то пользователи без проблемм работают. Я так подозреваю что заглушки случаются, как раз в то время, когда трафик между сервером и роутером бегает.
  2. Сеть организована следующим образом: | 10.0.43.3/24 eth0:1 +-------+ +--------+ +-------| Admin | | Router | 172.19.231.152/24 |eth0 +-------+ +--------+ | 10.0.43.1/24 | | 10.0.43.2/24 | | eth0:1 +--------+ ================================================| Server | | | | eth0 +--------+ | | | 172.19.231.150/24 User User .... User Поставить сервер рядом с роутером, на другой интерфейс, нет возможности. По этому пришлось делать через алиасы. Админ выходит в инет напрямую через роутер (10.0.43.1). Остальные через шлюз 172.19.231.150 (через stargazer). Роутер и админ подключены к одному хабу. На компютере админ с сервером связь то есть, то нет: Ответ от 172.19.231.150: число байт=32 время<1мс TTL=64 Ответ от 172.19.231.150: число байт=32 время<1мс TTL=64 Ответ от 172.19.231.150: число байт=32 время<1мс TTL=64 Ответ от 172.19.231.150: число байт=32 время<1мс TTL=64 Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Ответ от 172.19.231.150: число байт=32 время<1мс TTL=64 Ответ от 172.19.231.150: число байт=32 время<1мс TTL=64 Почему так происходит? Вот конфиги сервера: rc.conf defaultrouter="10.0.43.1" hostname="barsik.ba3a.net" ifconfig_rl0="inet 172.19.231.150 netmask 255.255.255.0" ifconfig_rl0_alias0="inet 10.0.43.2 netmask 255.255.255.0" sshd_enable="YES" usbd_enable="YES" apache_enable="YES" named_enable="YES" proftpd_enable="YES" gateway_enable="YES" font8x8="cp866-8x8" font8x14="cp866-8x14" font8x16="cp866b-8x16" scrnmap=koi8-r2cp866 keymap="ru.koi8-r" ipfw.sh #!/bin/sh fwcmd="/sbin/ipfw" natdcmd="/sbin/natd" local_addr="172.19.231.150" ext_addr="10.0.43.2" router="10.0.43.1" admin="172.19.231.152" ${fwcmd} -f flush # Задаем маскарадинг пакетов из пользовательской сети во внешнюю сеть # опции маскарадинга # -s для правильной работы таких протоколов как FTP, IRC, DCC # -m пытаться использовать те же номера портов, которые имеют # исходящие пакеты. (короче нужно для правильной работы таких протоколов как RPC) # -u использовать маскарадинг только для немаршрутизируемых # адресов (192.168.0.0/16 172.16.0.0/12 10.0.0.0/8) # -a использовать данные IP адрес для макарадинга пакетов. ${natdcmd} -s -m -u -a ${ext_addr} # Разрешаем ходить ICMP пакетам во внутренней сети ${fwcmd} add 10 allow icmp from ${local_addr} to any via ${local_addr} ${fwcmd} add 20 allow icmp from any to ${local_addr} via ${local_addr} # Следующие правила разрешают конектиться клиентам к серверу # stargazer на порт 5555 на котором он слушает клиентские соединения ${fwcmd} add 308 allow ip from any to ${local_addr} 5555 via ${local_addr} ${fwcmd} add 309 allow ip from ${local_addr} 5555 to any via ${local_addr} # Следующие правила разрешают машинам с адресами 192.168.10.2 и # 192.168.10.18 подключаться к роутеру по протоколу ssh без # подключения клиентской программы. ${fwcmd} add 310 allow tcp from ${admin} to ${local_addr} 22 ${fwcmd} add 311 allow tcp from ${local_addr} 22 to ${admin} # Веб сервер ${fwcmd} add 312 allow tcp from any to ${local_addr} 80 via ${local_addr} ${fwcmd} add 313 allow tcp from ${local_addr} 80 to any via ${local_addr} # FTP сервер ${fwcmd} add 314 allow tcp from any to ${local_addr} 20,21 via ${local_addr} ${fwcmd} add 315 allow tcp from ${local_addr} 20,21 to any via ${local_addr} ${fwcmd} add 316 allow tcp from any to ${local_addr} 49152-65534 via ${local_addr} ${fwcmd} add 317 allow tcp from ${local_addr} 49152-65534 to any via ${local_addr} # Следующее правило определяет что все пакеты проходящие через # внешний сетевой интерфейс направленный во внешнюю сеть будут # попадать в правило маскарадинга, описанное выше. ${fwcmd} add 330 divert natd ip from any to any via ${ext_addr} # Здесь оставляем окно в нумерации для исполнения скриптов юзеров # Следующие правила разрешают роутеру соединяться с использованием # протокола tcp с внешними сетями. ${fwcmd} add 50029 allow ip from any to any out via ${ext_addr} setup ${fwcmd} add 50030 allow ip from any to any via ${ext_addr} established # Следующие правила разрешают роутеру соединяться с использованием # протокола udp с внешними сетями, а также разрешают прохождение # ДНС трафика через роутер ${fwcmd} add 50031 allow udp from any to any out via ${ext_addr} ${fwcmd} add 50032 allow udp from any 53 to any in via ${ext_addr} # Разрешаем ходить ICMP пакетам во внешней сети ${fwcmd} add 50033 allow icmp from any to any out via ${ext_addr} # Далее идет запрещающее правило для всего остального # трафика (т.е. схема файрвола . все что не разрешено # явно . то запрещено) #$fwcmd add 65534 allow ip from any to any Ядро собрано, что по умолчанию firewall закрыт.
  3. В линуксе это делается: OnConnect iptables -t filter -A FORWARD -s $ip -j QUEUE iptables -t filter -A FORWARD -d $ip -j QUEUE А как подобное сделать во фре, т.е. чтобы пакеты форвардились толь с включенным inetaceess. Вопрос возник потому что, планирую сделать веб сервер. Т.е. нужно будет открыть 80 порт изнутри и снаружи. Боюсь, что пользователи смогут пользоваться www без авторизатора.
  4. Да в OnConnect, OnDisconnect, ну и в остальные на всякий случай. Теперь все как по маслу.
  5. Спасибо. Кажется сам разобрался. Видаимо в скриптах используются какието переменные окружения, нужно добавить в начало: #!/bin/bash И все заработало как надо.
  6. Чего читать? Я честно говоря не знаю как расшифровывается ПМ.
  7. Только вчера инет по нашей локалке начал раздавать, скоро и до firewall доберусь. Сделал, только естественно в /etc/init.d/stargazer в секцию start прописал /etc/stargazer/fw Короче тоже самое, перезагружаю - не работает. Убиваю демона в консоли, запускаю /sbin/stargazer, все начинает работать. Мне кажется это ошибка.
  8. Добавил. Как я и говорил при автозагрузке в /var/log/stg_conn.log не пишется. Убиваю демон в консоли, запускаю заново - пишется. Вот файлы, но они стандартные из примеров: OnConnect ip=$2 iptables -t filter -A INPUT -s $ip -j ACCEPT iptables -t filter -A FORWARD -s $ip -j ACCEPT iptables -t filter -A FORWARD -d $ip -j ACCEPT iptables -t filter -A OUTPUT -d $ip -j ACCEPT OnDisconnect ip=$2 iptables -t filter -D INPUT -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT done ################################## iptables -t filter -D OUTPUT -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j ACCEPT done fw #!/bin/bash #Машина администратора admin=10.10.0.2 #Адреса роутера server0=10.10.0.1 # Интерфейс смотрящий на клиентов iface_cli=eth0 # Интерфейс смотрящий во внешний мир iface_world=ppp0 #Порты, на которых работает конфигуратор и авторизатор conf_port=4444 user_port1=4444 user_port2=4443 # Разрешаем форвардинг пакетов между интерфейсами # Эта штука необязательна, просто в некоторых дистрибутивах # по умолчанию форвардинг разрешен, а в некоторых - запрещен # Если мы подстрахуемся, хуже не бкдет echo "1" > /proc/sys/net/ipv4/ip_forward # Очищаем правила файрвола iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X # Политика по умолчанию DROP: всем всё запрещено iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP # Разрешаем пингам ходить всюду и всегда iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Разрешаем всё на локальном интерфейсе iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT # Разрешить серверу общаться со внешним миром iptables -t filter -A INPUT -i $iface_world -j ACCEPT iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT # DNS. Замечу, ДНС работает и по TCP и по UDP iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT # SSH iptables -t filter -A INPUT -p tcp -s $admin -d $server0 --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 22 -j ACCEPT # Stargazer configurator iptables -t filter -A INPUT -p tcp -s 10.10.0.0/24 -d $server0 --dport $conf_port -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 10.10.0.0/24 -s $server0 --sport $conf_port -j ACCEPT # UDP stargazer InetAccess iptables -t filter -A INPUT -p udp -s 10.10.0.0/24 --sport $user_port2 -d $server0 --dport $user_port1 -j ACCEPT iptables -t filter -A OUTPUT -p udp -d 10.10.0.0/24 --dport $user_port1 -s $server0 -j ACCEPT #Маскарад iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE stargazer.conf # Файл настроек сервера stargazer # Имя файла в котором определяются правила подсчета трафика rules=/etc/stargazer/rules # Рабочая директория сервере, тут содержатся данный о тарифах, изерах и админах WorkDir=/var/stargazer/ # Имя лог файла куда пушутся события LogFile=/var/log/stargazer.log # Если юзер в течение UserTimeout секунд не подает признаков жизни, сервер отключит его # (естественно, если клиент был подключен до этого) UserTimeout=90 # Время через которое сервер повторяет проверку того, жив ли клиент. Также это время # через которое у клиента обновляется его статитстика. UserDelay должно быть в # 3...10 раз меньше чем UserTimeout UserDelay=10 # Эта опция действительна только для сервера работающего со вторым типом тарифных планов # Она определяет что будет передаватся программе InetAccess от сервера # FreeMb = 0 - кол-во бесплатных мегабайт в пресчете на цену нулевого направления # FreeMb = 1 - кол-во бесплатных мегабайт в пресчете на цену первого направления # FreeMb = 2 - кол-во бесплатных мегабайт в пресчете на цену второго направления # FreeMb = 3 - кол-во бесплатных мегабайт в пресчете на цену третьего направления # FreeMb = cash - кол-во денег на которые юзер может бесплатно качать # FreeMb = none - ничего не передавать FreeMb=0 # Время через которое пишется детальная статистика # возможные значения 3, 2, 1, 1/2, 1/4, 1/6 # 3 - раз в три часа, 1 - раз в чаc, 1/2 - раз в пол часа, 1/6 - раз в 10 мин StatTime=1/6 # Номер порта по которому сервер слушает обращения конфигуратора adminPort=4444 # Номер порта по которому сервер ожидает обращения авторизатора userPort=4444 # Максимальное кол-во юзеров. Эта величина влияет на кол-во памяти необходимой серверу MaxUsers=100 # for FreeBSD only # Имя интерфейсов на которых нужно вести подсчет трафика # iface=ed0,ed1,rl0 # Опция определяющая менять ли местами upload и download TurnTraff=no # День снятия DayFee=1 DayResetTraff=1 DirName0=Local DirName1=Internet DirName2= DirName3= DirName4= DirName5= DirName6= DirName7= DirName8= DirName9= SpreadFee=no StatOwner=root StatGroup=root StatMode=640 ConfOwner=root ConfGroup=root ConfMode=600 UserLogOwner=root UserLogGroup=root UserLogMode=640 AdminOrder=allow,deny AdminAllowFrom=all UserOrder=allow,deny UserAllowFrom=all FloodControl=yes #FreeMbAllowInet=yes #BigDB=no
  9. Это все пробовал, не работает. Работает только если запустить /sbin/stargazer из консоли. Кстати как пожелание разработчику (если будет читать эту тему), добавить в /etc/init.d/stargazer поддержку chkconfig и добавить скрипт OnRun, который запускался бы перед запуском демона stargazer. Что бы туда можно было внести предварительные настройки firewall (в примере конфигурирования linux это /etc/stargazer/fw).
  10. Попробовал запустить OnConnect вручную. У юзера которого запустил инет заработал, причем если в клиенте нажать отключиться инет продолжает работать, т.е. 100% не выполнябться скрипты OnConnect и OnDisconnect. Причем если сделать: killall stargazer /sbin/stargazer Все встает на свои места. Т.е. как я писал ранее эта проблема появляеться только при автозагрузке из rc.local.
  11. Такая трабла: при запуске stargeizer из rc.local командой /sbin/stargeizer, не пускает пользователей в интернет. У меня такое подозрение, что не выполнянтся OnConnect и OnDisconnect, т.к. ping в интернет с клиентских машин проходит, сам сервер работает. Если теперь после загрузки сделать killall stargazer и запустить заново, все начинает работать. Пробовал запускать через /etc/init.d/stargazer - вообще ни как, не из автозагрузки не из консоли. В логах все нормально - сервер запускается, пользователь подключается. Релиз stargazer последний. ОС: Fedora Core 3 NEED HELP.
×
×
  • Створити нове...