vitiv 1 Опубликовано: 2010-01-10 17:08:39 Share Опубликовано: 2010-01-10 17:08:39 Два сетевых интерфейса WAN 139.0.0.5 берёт инет с роутера LAN 192.168.1.5 для 5-ти пользователей домашней сети Stargazer версии 2.405.9.8 для CentOS 5.2 _http://stg.dp.ua/server_dl.php?show=2.405.9.8 Установка прошла успешно, пингуются оба интерфейса, Stargazer Configurator подключается к 192.168.1.5 порт 5555 по умолчанию Login: admin Passw:123456 Создаются пользователи и подключаются с помощью авторизатора - InetAccess Документация _http://stargazer.dp.ua/doc20.php изучена, уделено отдельное внимание _http://stargazer.dp.ua/doc20/conf_example_linux.html После изменения конфигов, по предложенному примеру, нарушается работа SRG сервера...видимо, со времени создания и модернизирования версий скрипты стали отличаться по содержанию... В существующей ситуации возникает вопрос, какие необходимо вписать данные - правила в конфигурационные файлы /etc/stargazer/ OnConnect OnDisconnect OnChange rules stargazer.conf и т.д. чтобы получить инет на сетевом интерфейсе 192.168.1.5 Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-10 17:27:22 Автор Share Опубліковано: 2010-01-10 17:27:22 OnChange login=$1param=$2 oldValue=$3 newValue=$4 #echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log OnConnect login=$1param=$2 oldValue=$3 newValue=$4 #echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log OnDisconnect # LoginLOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 #echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log rules ALL 192.168.1.1 DIR1 ALL 139.0.0.2 DIR1 ALL 0.0.0.0/0 DIR0 Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-10 17:30:13 Автор Share Опубліковано: 2010-01-10 17:30:13 stargazer.conf # Имя лог-файла куда пишутся события LogFile = /var/log/stargazer.log # Имя файла в котором определяются правила подсчета трафика Rules = /etc/stargazer/rules # Время через которое пишется d БД детальная статистика пользователя # Значения: 1, 1/2, 1/4, 1/6. # 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 мин, 1/6 - раз в 10 мин DetailStatWritePeriod=1/6 # Периодичность записи записи в БД информации о статистике пользователя (минуты) # При большом кол-ве пользователей эту величину стоит увеличить, т.к. # запись в БД может занимать длительное время. # Значения: 1...1440 (минуты) StatWritePeriod = 10 # День снятия абонплаты # Значения: 0...31. 0 - Последний день месяца DayFee = 1 # Абонплата снимается в последний (yes) или первый (no) день учетного периода. # Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. # Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, # то при переходе на новый тариф со счета пользователя снимется 100, если # DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no DayFeeIsLastDay = yes # День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы # Значения: 0...31. 0 - Последний день месяца DayResetTraff = 1 # "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый # день 1/30 или 1/31 части АП # Значения: yes, no SpreadFee = no # Данная опция определяет может ли пользователь получить доступ в интерент # если у него на счету нет денег, но остался предоплаченный трафик # Значения: yes, no FreeMbAllowInet = no # Эта опция определяет что будет писаться в стоимость трафика в detail_stat. # Если у пользователя еще есть предоплаченный трафик и WriteFreeMbTraffCost = no, # то в detail_stat стоимость будет 0. Если у пользователя уже нет # предоплаченного трафика и WriteFreeMbTraffCost = no, то в detail_stat # будет записана стоиость трафика. При WriteFreeMbTraffCost = yes стоимость # трафика будет записана в любом случае. WriteFreeMbTraffCost = no # Необязательный параметр. Указывает снимать полную абонплату у пользователя даже # если он быз заморожен только часть учетного периода. # По умолчанию установлен в no # FullFee=no # Необязательный параметр указывающий показывать на счету и позволять # использовать пользователю абонплату. По умолчанию установлен в yes # ShowFeeInCash=yes # Названия направлений. Направления без названий не будут отображаться в # авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны # быть взяты в кавычки <DirNames> DirName0 = Локаль DirName1 = Город DirName2 = Мир DirName3 = DirName4 = DirName5 = "Локальные игры" DirName6 = DirName7 = DirName8 = DirName9 = </DirNames> # Кол-во запускаемых процессов stg-exec. # Эти процессы отвечают за выполнение скриптов OnConnect, OnDisconnect, ... # Кол-во процессов означает сколько скриптов могут выполнятся одновременно. # Значения: 1...1024 ExecutersNum = 1 # Message Key для stg-exec. # Идентификатор очереди сообщений для выполнятеля скриптов. # Его изменение может понадобится если есть необходимость запустить несколько # экземпляров stg. Если вы не понимаете, что это, не трогайте этот параметр! # Значения: 0...2^32 # Значение по умолчанию: 5555 # ExecMsgKey = 5555 # Путь к директории, в которой находятся модули сервера ModulesPath = /usr/lib/stg # Определяет директорию, в которой будут находится файлы "монитора" # работы сервера. В этой директории будут созданы пустые файлы, время # модификации которых будет меняться примерно раз в минуту. Если какой-то # компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому # признаку можно определить сбой в работе сервера и при надобности # перезапустить. Если параметр не указан или пустой, мониторинг производится # не будет. Параметр не является обязательным, по умолчанию пустой. # MonitorDir=/var/stargazer/monitor ################################################################################ # Store module # Настройки плагина работающего с БД сервера # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_store_files.so <StoreModule store_files> # Рабочая директория сервера, тут содержатся данные о тарифах, пользователях, # администраторах и т.д. WorkDir = /var/stargazer # Владелец, группа и права доступа на файлы статистики (stat) пользователя ConfOwner = root ConfGroup = root ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = root StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = root UserLogMode = 640 </StoreModule> #<StoreModule store_firebird> # # Адрес сервера БД # server=localhost # # # Путь к БД на сервере или ее алиас # database=/var/stg/stargazer.fdb # # # Имя пользователя БД # user=stg # # # Пароль пользователя БД # password=123456 #</StoreModule> #<StoreModule store_mysql> # # Имя пользователя БД # dbuser = stg # # # Пароль пользователя БД # rootdbpass = 123456 # # # Имя БД на сервере # dbname = stg # # # Адрес сервера БД # dbhost = localhost #</StoreModule> ################################################################################ # Прочие модули <Modules> # Настройки плагина авторизации Always Online "mod_auth_ao.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ao.so <Module auth_ao> </Module> # Настройки плагина авторизации InetAccess "mod_auth_ia.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ia.so <Module auth_ia> # Порт на котором принимаются обращения от авторизатора # Значения: 1...65534 Port = 5555 # Время между посылками запроса пользователю жив ли он # и обновлением данных статистики (секунды) # Значения: 5...600 UserDelay = 15 #Таймаут для пользователя. Если в течение этого времени авторизатор #не отвечает, пользователь будет отключен # Значения: 15...1200 UserTimeout = 65 # Этот параметр определяет что будет передаваться программе InetAccess от сервера # как отстаток предоплаченного трафика # Значения: # FreeMb = 0 - кол-во бесплатных мегабайт в пресчете на цену нулевого направления # FreeMb = 1 - кол-во бесплатных мегабайт в пресчете на цену первого направления # FreeMb = 2 - кол-во бесплатных мегабайт в пресчете на цену второго направления # FreeMb = 3 - кол-во бесплатных мегабайт в пресчете на цену третьего направления # ........................ # FreeMb = 9 - кол-во бесплатных мегабайт в пресчете на цену девятого направления # FreeMb = cash - кол-во денег на которые юзер может бесплатно качать # FreeMb = none - ничего не передавать FreeMb = cash </Module> # Модули можно использовать несколько раз с разными параметрами #<Module auth_ia> # Port = 7777 # UserDelay = 15 # UserTimeout = 65 # FreeMb = 0 #</Module> # Настройки модуля конфигурации SgConfig "mod_conf_sg.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module conf_sg> # Порт по которому сервер взаимодействует с конфигуратором # Значения: 1...65535 Port = 5555 </Module> # Модуль захвата трафика "mod_cap_ether.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Без параметров. Только имя модуля. <Module cap_ether> # Модуль без параметров </Module> # Настройки модуля пингующего пользователей "mod_ping.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module ping> # Время, в секундах, между пингами одного и того же пользователя # Значения: 10...3600 PingDelay = 15 </Module> # # Настройки модуля для удаленного выполнения скриптов OnConnect и # # OnDisconnect "mod_remote_script.so" # # Второй параметр - это имя модуля без mod_ в начале и .so в конце # <Module remote_script> # # # Время, в секундах, между посылками подтверждений, того, что пользователь # # всё еще онлайн # # Значения: 10...600 # SendPeriod = 15 # # # Соответствие подсетей, в которой находится пользователь и # # соответствующего роутера. Первая часть строки - подсеть, заданная # # как IP-адрес и маска, через пробел - IP-адрес роутера на котором # # должны выполняться скрипты # # Например эта запись "192.168.1.0/24 192.168.1.1" означает, что для # # всех пользователей из подсети 192.168.1.0/24, скрипты будут # # выполняться на роутере с адресом 192.168.1.1 # # Subnet0...Subnet100 # Subnet0 = 192.168.1.0/24 192.168.1.7 # Subnet1 = 192.168.2.0/24 192.168.2.5 # Subnet2 = 192.168.3.0/24 192.168.2.5 # Subnet3 = 192.168.4.0/24 192.168.2.5 # # # Пароль для шифрования пакетов между stg-сервером и сервером, # # выполняющим скрипты # Password = 123456 # # # Этот параметр определяет какие параметры пользователя передаются # # на удаленный сервер # # Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, NextTariff, Address, # # Note, Group, Email, RealName, Credit, EnabledDirs, Userdata0...Userdata9 # UserParams=Cash Tariff EnabledDirs # # # Порт по которому сервер отсылает сообщения на роутер # # Значения: 1...65535 # Port = 9999 # # </Module> # <Module radius> # Password = 123456 # ServerIP = 127.0.0.1 # Port = 6666 # AuthServices = Login-User # AcctServices = Framed-User # </Module> </Modules> Ссылка на сообщение Поделиться на других сайтах
Drool 0 Опубліковано: 2010-01-10 20:11:31 Share Опубліковано: 2010-01-10 20:11:31 Вот тут лежит пакетик stargazer-doc-2.405.9.8-alt2.6.noarch.rpm, расковыряйте его и посмотрите в нем examlpes, там есть готовые конфиги с боевого сервера. Мелочи могут отличаться из-за другого дистрибутива. Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 01:51:38 Автор Share Опубліковано: 2010-01-11 01:51:38 Вот тут лежит пакетик stargazer-doc-2.405.9.8-alt2.6.noarch.rpm, расковыряйте его и посмотрите в нем examlpes, там есть готовые конфиги с боевого сервера. Мелочи могут отличаться из-за другого дистрибутива. Благодарю, конфиги просмотрел, учёл все рабочие пути, в том числе для файла /etc/rc.d/rc.local /etc/stargazer/fw /usr/sbin/stargazer часть правил проверена и работает, ping на внешний адрес сервера - 139.0.0.5 проходит, доступ админа по SSH есть... инет пока не проходит, причина не понятна... fw #!/bin/sh # #Машина в офисе #office=192.168.0.2 #Машина администратора admin=192.168.1.30 #Адреса роутера server0=192.168.1.5 server1=139.0.0.5 # Интерфейс смотрящий на клиентов iface_cli=eth0 # Интерфейс смотрящий во внешний мир iface_world=eth1 # Подсеть клиентов net_cli=192.168.1.0/24 #Порты, на которых работает конфигуратор и авторизатор conf_port=5555 user_port1=5555 user_port2=5555 # Разрешаем форвардинг пакетов между интерфейсами # Эта штука необязательна, просто в некоторых дистрибутивах # по умолчанию форвардинг разрешен, а в некоторых - запрещен # Если мы подстрахуемся, хуже не бкдет 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 $office -d $server0 --dport 22 -j ACCEPT #iptables -t filter -A OUTPUT -p tcp -d $office -s $server0 --sport 22 -j ACCEPT 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 #Разрешаем все админу и офису #Раскоментируйте то что надо #Админу iptables -t filter -A INPUT -s $admin -j ACCEPT iptables -t filter -A FORWARD -s $admin -j ACCEPT iptables -t filter -A FORWARD -d $admin -j ACCEPT iptables -t filter -A OUTPUT -d $admin -j ACCEPT #Офису #iptables -t filter -A INPUT -s $office -j ACCEPT #iptables -t filter -A FORWARD -s $office -j ACCEPT #iptables -t filter -A FORWARD -d $office -j ACCEPT #iptables -t filter -A OUTPUT -d $office -j ACCEPT # Stargazer configurator iptables -t filter -A INPUT -p tcp -s $net_cli -d $server0 --dport $conf_port -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d $net_cli -s $server0 --sport $conf_port -j ACCEPT # UDP stargazer InetAccess iptables -t filter -A INPUT -p udp -s $net_cli --sport $user_port2 -d $server0 --dport $user_port1 -j ACCEPT iptables -t filter -A OUTPUT -p udp -d $net_cli --dport $user_port1 -s $server0 -j ACCEPT #В моем примере еще используется прозрачный прокси сервер squid если он не нужен закоментируйте эти 2 строки #Разрешаем всем локальный HTTP сервер iptables -t filter -A INPUT -p tcp -s $net_cli -d $server0 --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d $net_cli -s $server0 --sport 80 -j ACCEPT #Маскарад iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE #Тоже относится к прокси серверу. Если не надо то закоментируйте. Если прокси использует другой порт то измените 3128 на него. iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! $server0 --dport 80 -j REDIRECT --to-port 3128 OnChange login=$1 param=$2 oldValue=$3 newValue=$4 #echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log OnConnect #Этот скрипт вызывается в момент, когда пользователь #успешно прошел авторизацию на сервере. Задача скрипта - перестроить #файрвол так, что бы пользователь получил доступ в интернет # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log 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 # Этот скрипт вызывается в момент, когда пользователь # желает отключится от интернета или вышел таймаут у пользователя # и сервер сам отключает пользователя # Задача скрипта подобна задаче скрипта OnConnect - перестроить # файрвол так, что бы пользователю закрыть доступ в интернет # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect #DIRS=$4 echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log 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 stargazer.conf Ничем не отличается от установленного rules ALL 192.168.1.5 DIR0 ALL 139.0.0.5 DIR0 учитывая прочитанное _http://stargazer.dp.ua/doc20/conf_rules.html считает трафик с указанного интерфейса и т.д. видимо к моей проблеме, отсутствие инета на 192.168.1.5(LAN), отношения не имеет, т.е. пользователь авторизируется, а инет не получает... Настройки сетевых карт(инет на самом сервере присутствует): WAN-Внешний интерфейс IP 139.0.0.5 Mask 255.255.255.0 Gateway 139.0.0.1 Nameserver 139.0.0.1 LAN-Внутренний IP 192.168.1.5 Mask 255.255.255.0 [vitiv@localhost ~]$ ping ya.ru PING ya.ru (77.88.21.8) 56(84) bytes of data. 64 bytes from ya.ru (77.88.21.8): icmp_seq=1 ttl=54 time=44.4 ms 64 bytes from ya.ru (77.88.21.8): icmp_seq=2 ttl=54 time=42.1 ms 64 bytes from ya.ru (77.88.21.8): icmp_seq=3 ttl=54 time=43.7 ms 64 bytes from ya.ru (77.88.21.8): icmp_seq=4 ttl=54 time=44.4 ms 64 bytes from ya.ru (77.88.21.8): icmp_seq=5 ttl=54 time=43.6 ms Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-11 08:47:36 Share Опубліковано: 2010-01-11 08:47:36 Посмотри состояние файрвола после авторизации клиента. $ iptables -nL $ iptables -t nat -nL И еще, форвардинг включен? $ cat /proc/sys/net/ipv4/ip_forwarding должно показать 1. Если 0 то нужно сделать $ echo 1 > /proc/sys/net/ipv4/ip_forwarding либо настроить это в /etc/sysctl.conf Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 10:25:11 Автор Share Опубліковано: 2010-01-11 10:25:11 Посмотри состояние файрвола после авторизации клиента. $ iptables -nL $ iptables -t nat -nL На эти команды точно ответить пока не могу, не выполняются... iptables status [root@localhost /]# /etc/rc.d/init.d/iptables status Таблица: nat Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination 1 MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Таблица: filter Chain INPUT (policy DROP) num target prot opt source destination 1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT all -- 0.0.0.0/0 127.0.0.1 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53 5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53 6 ACCEPT tcp -- 192.168.1.30 192.168.1.5 tcp dpt:22 7 ACCEPT all -- 192.168.1.30 0.0.0.0/0 8 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:5555 9 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp spt:5555 dpt:5555 10 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:80 Chain FORWARD (policy DROP) num target prot opt source destination 1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53 5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 6 ACCEPT all -- 192.168.1.30 0.0.0.0/0 7 ACCEPT all -- 0.0.0.0/0 192.168.1.30 Chain OUTPUT (policy DROP) num target prot opt source destination 1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT all -- 127.0.0.1 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 6 ACCEPT tcp -- 192.168.1.5 192.168.1.30 tcp spt:22 7 ACCEPT all -- 0.0.0.0/0 192.168.1.30 8 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:5555 9 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp dpt:5555 10 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:80 И еще, форвардинг включен? $ cat /proc/sys/net/ipv4/ip_forwarding должно показать 1. Если 0 то нужно сделать $ echo 1 > /proc/sys/net/ipv4/ip_forwarding либо настроить это в /etc/sysctl.conf Показывает 1 [root@localhost /]# cat /proc/sys/net/ipv4/ip_forward 1 Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-11 10:27:57 Share Опубліковано: 2010-01-11 10:27:57 Как это команды не выполняются? Так у тебя и файрвол не модифицируется по этому, и инет юзеры не получают. Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 10:54:37 Автор Share Опубліковано: 2010-01-11 10:54:37 Как это команды не выполняются? Так у тебя и файрвол не модифицируется по этому, и инет юзеры не получают. я об этом задумался, просветление пока не наступило [root@localhost /]# /etc/rc.d/init.d/iptables -nL Применение: /etc/rc.d/init.d/iptables {start|stop|restart|condrestart|status|panic|save} [root@localhost /]# /etc/rc.d/init.d/iptables -t nat -nL Применение: /etc/rc.d/init.d/iptables {start|stop|restart|condrestart|status|panic|save} тыкс сорри... Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 11:04:52 Автор Share Опубліковано: 2010-01-11 11:04:52 клиент авторизирован по 192.168.1.35 [root@localhost vitiv]# /sbin/iptables -t nat -nL Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@localhost vitiv]# /sbin/iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 127.0.0.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53 ACCEPT tcp -- 192.168.1.30 192.168.1.5 tcp dpt:22 ACCEPT all -- 192.168.1.30 0.0.0.0/0 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:5555 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp spt:5555 dpt:5555 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:80 Chain FORWARD (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 ACCEPT all -- 192.168.1.30 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 192.168.1.30 Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 127.0.0.1 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 ACCEPT tcp -- 192.168.1.5 192.168.1.30 tcp spt:22 ACCEPT all -- 0.0.0.0/0 192.168.1.30 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:5555 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp dpt:5555 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:80 Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-11 12:17:36 Share Опубліковано: 2010-01-11 12:17:36 1. Попробуй добавить в скрипты On* шабанг: #!/bin/sh 2. Попробуй добавить права выполнения скриптам. 3. Попробуй запустить их вручную и посмотреть добавляются ли правила в файрвол. Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 12:54:18 Автор Share Опубліковано: 2010-01-11 12:54:18 1. Попробуй добавить в скрипты On* шабанг: #!/bin/sh 2. Попробуй добавить права выполнения скриптам. Сразу обратил внимание, прописал... 3. Попробуй запустить их вручную и посмотреть добавляются ли правила в файрвол. Вот в этом файле похоже загвоздка [root@localhost /]# /etc/stargazer/OnConnect /etc/stargazer/OnConnect: line 24: iptables: команда не найдена /etc/stargazer/OnConnect: line 25: iptables: команда не найдена /etc/stargazer/OnConnect: line 26: iptables: команда не найдена /etc/stargazer/OnConnect: line 27: iptables: команда не найдена #!/bin/bash # Login #LOGIN=$1 #user IP IP=$2 #cash #CASH=$3 #user ID #ID=$4 #Selected dirs to connect #DIRS=$5 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log # !!! как раз начало 24 строки 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 Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 13:45:03 Автор Share Опубліковано: 2010-01-11 13:45:03 изменил в файле путь к iptables /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT [root@localhost vitiv]# /etc/stargazer/OnConnect Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-11 13:57:28 Share Опубліковано: 2010-01-11 13:57:28 изменил в файле путь к iptables /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT [root@localhost vitiv]# /etc/stargazer/OnConnect Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Ну да, ты ж параметры скрипту не передал, вот он и ругается. Проверь, может все уже работает. Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 14:33:14 Автор Share Опубліковано: 2010-01-11 14:33:14 изменил в файле путь к iptables /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT [root@localhost vitiv]# /etc/stargazer/OnConnect Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Ну да, ты ж параметры скрипту не передал, вот он и ругается. Проверь, может все уже работает. Как передать параметры скрипту? Что под этим подразумевается? Ребут сервера, авторизация пользователя есть-инет не проходит... В данный момент OnConnect вот такого вида #!/bin/bash # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-11 15:35:48 Share Опубліковано: 2010-01-11 15:35:48 изменил в файле путь к iptables /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT [root@localhost vitiv]# /etc/stargazer/OnConnect Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. Ну да, ты ж параметры скрипту не передал, вот он и ругается. Проверь, может все уже работает. Как передать параметры скрипту? Что под этим подразумевается? Ребут сервера, авторизация пользователя есть-инет не проходит... В данный момент OnConnect вот такого вида #!/bin/bash # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT Ну вобще-то ребутить сервер не нужно, это не Windows. Не нужно даже Stargazer перезапускать. А передать параметры можно так: $ /etc/stargazer/OnConnect foo 192.168.1.35 Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-11 16:13:13 Автор Share Опубліковано: 2010-01-11 16:13:13 Ну вобще-то ребутить сервер не нужно, это не Windows. Не нужно даже Stargazer перезапускать Это было профилактическое действие А передать параметры можно так: $ /etc/stargazer/OnConnect foo 192.168.1.35 Результат передачи параметров [root@localhost vitiv]# /etc/stargazer/OnConnect foo 192.168.1.35 /etc/stargazer/OnConnect: line 22: /var/stargazer/users/foo/connect.log: Нет такого файла или каталога Дополнительно создан каталог foo и файл connect.log Повторное введение параметров прописало в /var/stargazer/users/foo/connect.log C 2010.01.10-17.57.02 192.168.1.35 C 2010.01.10-17.58.07 192.168.1.35 при этом ничего не изменилось... Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-12 08:52:34 Share Опубліковано: 2010-01-12 08:52:34 А файрвол? Не меняется? Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-12 09:10:12 Автор Share Опубліковано: 2010-01-12 09:10:12 А файрвол? Не меняется? Нет... для выяснения работы правил фаервола, добавил в файл fw #Адрес user IP=192.168.1.35 /sbin/iptables -t filter -A INPUT -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -s $IP -j ACCEPT /sbin/iptables -t filter -A FORWARD -d $IP -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d $IP -j ACCEPT Рестарт фаервола для обнуления таблицы /etc/rc.d/init.d/iptables restart Проверка [root@localhost vitiv]# /sbin/iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Старт фаервола /etc/stargazer/fw [root@localhost vitiv]# /sbin/iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 127.0.0.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53 ACCEPT all -- 192.168.1.35 0.0.0.0/0 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:5555 ACCEPT udp -- 192.168.1.0/24 192.168.1.5 udp spt:5555 dpt:5555 ACCEPT tcp -- 192.168.1.0/24 192.168.1.5 tcp dpt:80 Chain FORWARD (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 ACCEPT all -- 192.168.1.35 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 192.168.1.35 Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 127.0.0.1 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 ACCEPT all -- 0.0.0.0/0 192.168.1.35 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:5555 ACCEPT udp -- 192.168.1.5 192.168.1.0/24 udp dpt:5555 ACCEPT tcp -- 192.168.1.5 192.168.1.0/24 tcp spt:80 По идее на 192.168.1.35 инет должен появиться? А его нет, поправьте если я ошибаюсь, спасибо! Не могу понять как при таких правилах работает NAT... Если на время отложить в сторону сам stargzer оставив только его правила, файл fw, по идее внося принудительные изменения в настройки в fw должны ж происходить изменения? Пока тупик, выясняю правильность работы iptables в CentOS...попытаюсь сделать и запустить элементарные правила для Роутера... Ссылка на сообщение Поделиться на других сайтах
Serjio 19 Опубліковано: 2010-01-12 09:56:25 Share Опубліковано: 2010-01-12 09:56:25 Как я понял правила в fw не Вы писали, поэтому было бы логично убрать все правила iptables и написать их заново и осознанно в OnConnect и OnDisconnect. Ну а после этого уже модифицировать стартовый скрипт fw. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-12 10:22:49 Share Опубліковано: 2010-01-12 10:22:49 А что в таблице nat? $ iptables -t nat -nL Ссылка на сообщение Поделиться на других сайтах
niidil 0 Опубліковано: 2010-01-12 10:46:46 Share Опубліковано: 2010-01-12 10:46:46 Попробуйте заменить #Маскарад iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE на #Маскарад iptables -t nat -A POSTROUTING -p all -s $net_cli -o $iface_world -j MASQUERADE iptables -t nat -A POSTROUTING -p all -d $net_cli -o $iface_world -j MASQUERADE И покажите состояние фаервола после этого /sbin/iptables -t nat -nL /sbin/iptables -nL Ссылка на сообщение Поделиться на других сайтах
vitiv 1 Опубліковано: 2010-01-12 11:05:30 Автор Share Опубліковано: 2010-01-12 11:05:30 Как я понял правила в fw не Вы писали, поэтому было бы логично убрать все правила iptables и написать их заново и осознанно в OnConnect и OnDisconnect. Ну а после этого уже модифицировать стартовый скрипт fw. Действительно за основу был взят готовый скрипт, к сожалению для данной версии stargazer+CentOS в инстале нет ни примеров ни описания... то, что находится в док на сайте видимо устарело или не соответствует... Воспользуюсь Вашим советом, спасибо! Может кто нибудь ещё присоединится и выскажет своё мнение в отношении данных скриптов(fw OnConnect OnDisconnect)применимых к stargazer+CentOS? p/s после изучения тонкостей данную тему обязательно закончу Ссылка на сообщение Поделиться на других сайтах
Serjio 19 Опубліковано: 2010-01-12 11:11:22 Share Опубліковано: 2010-01-12 11:11:22 Может вы дадите шел? А то угадывать долго, что там и как. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-01-12 11:20:33 Share Опубліковано: 2010-01-12 11:20:33 Как я понял правила в fw не Вы писали, поэтому было бы логично убрать все правила iptables и написать их заново и осознанно в OnConnect и OnDisconnect. Ну а после этого уже модифицировать стартовый скрипт fw. Действительно за основу был взят готовый скрипт, к сожалению для данной версии stargazer+CentOS в инстале нет ни примеров ни описания... то, что находится в док на сайте видимо устарело или не соответствует... Воспользуюсь Вашим советом, спасибо! Не устарело и соответствует. Просто требует понимания работы iptables и NAT. Устарела только документация по сборке. Может кто нибудь ещё присоединится и выскажет своё мнение в отношении данных скриптов(fw OnConnect OnDisconnect)применимых к stargazer+CentOS? p/s после изучения тонкостей данную тему обязательно закончу Скрипты применимы, но опять же, требуется четкое понимание принципов работы файрвола. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас