Перейти к содержимому
Калькуляторы

Здравствуйте. Скачал с bitbucket последний lISG-0.11.3-alpha. При сборке ругается:

$ sudo make install

make -C /lib/modules/3.2.0-35-generic-pae/build M= modules_install

make[1]: Вход в каталог `/usr/src/linux-headers-3.2.0-35-generic-pae'

HOSTCC scripts/basic/fixdep

HOSTCC scripts/kconfig/conf.o

HOSTCC scripts/kconfig/zconf.tab.o

HOSTLD scripts/kconfig/conf

scripts/kconfig/conf --silentoldconfig Kconfig

make[1]: Выход из каталога `/usr/src/linux-headers-3.2.0-35-generic-pae'

make[1]: Вход в каталог `/usr/src/linux-headers-3.2.0-35-generic-pae'

cp: не удалось выполнить stat для «/usr/src/linux-headers-3.2.0-35-generic-pae/modules.order»: Нет такого файла или каталога

make[1]: *** [_modinst_] Ошибка 1

make[1]: Выход из каталога `/usr/src/linux-headers-3.2.0-35-generic-pae'

make: *** [kinstall] Ошибка 2

 

На тестовой машине Ubuntu

uname -r

3.2.0-35-generic-pae

 

Подскажите, куда копать?

Изменено пользователем zarguni

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zarguni,

Таки нет хедеров ядра.

Качали, кстати, master?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zarguni, вы делали make до make install? modules.order создается во время make.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Умник,

Помню что-то такое - убунта хедеры ядра как-то частями ставит. То есть они вроде как есть, но не то. Вроде бы там есть kernel-headers-XXX-common, kernel-headers-XXX и еще как-то. Два или три пакета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Качал master, хидеры установлены.

 

zarguni, вы делали make до make install? modules.order создается во время make.

Все как написано делал: ./configure && make && sudo make install

 

Помню что-то такое - убунта хедеры ядра как-то частями ставит. То есть они вроде как есть, но не то. Вроде бы там есть kernel-headers-XXX-common, kernel-headers-XXX и еще как-то. Два или три пакета.

Дома, на debian такая же ошибка. Установил все пакеты с linux-headers-*.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zarguni,

Только что столкнулся с такой же ошибкой. Проблема даже хуже - оно не только модуль не ставит, а еще и удаляет все из системы :). Проблема в sudo make install.

Решение:

1) Вернуть всё назад.

sudo apt-get install --reinstall ваше-ядро

2) Установить модуль: sudo -s, потом уже make install.

Вот проблема: https://answers.launchpad.net/ubuntu/+source/sudo/+question/79333

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Получилось сделать таки человеческую веб-авторизацию. Олегу отдельное спасибо за последние коммиты.

Завтра, если кому интересно, опишу, что да как.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zarguni, починил make install из-под sudo: https://bitbucket.org/sysoleg/lisg/get/master.tar.gz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

zarguni, починил make install из-под sudo: https://bitbucket.org/sysoleg/lisg/get/master.tar.gz

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Получилось сделать таки человеческую веб-авторизацию. Олегу отдельное спасибо за последние коммиты.

Завтра, если кому интересно, опишу, что да как.

а с этого места по подробнее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Cramac,

0) Берем последний master. Пересобираем ядро, модуль iptables и прочее. Важно - в kernel нужно заново делать ./configure, иначе не установится один модуль. Изменения внесены пару дней назад.

1) Создаем файл etc/tc.conf, достаточно одной строки:

ALL_OTHER	0.0.0.0/0

2) В etc/config.pl:

### Новый параметр
$cfg{unauth_session_max_duration} = 60;

### Для всех неавторизованных сессий добавляем сервис REDIR
$cfg{unauth_service_name_list} = [ "AREDIR" ];

### Собственно, описание сервиса
$cfg{srv}{REDIR}{type} = "tagger";
$cfg{srv}{REDIR}{traffic_classes} = [ "ALL_OTHER" ];

 

Теперь весь неавторизованный трафик будет считаться авторизованным и помечен сервисом REDIR.

3) Iptables.

Трафик теперь считается авторизованным, но помечен сервисом. Нужно его вручную зарубить, кроме 80 порта. Перед -j ISG:

-A FORWARD -p tcp -m tcp --dport 80 -m isg --service-name REDIR -j ACCEPT
-A FORWARD -m isg --service-name REDIR -j DROP

Собственно, сам редирект, перед -j stat_nat_src_skeleton (если он есть):

-t nat -A PREROUTING -p tcp -m tcp --dport 80 -m isg --service-name REDIR -j REDIRECT --to-ports 8000

 

Вроде бы все.

 

Теперь неавторизованная сессия выглядит вот так (флаг Z значит, что не ведется аккаунтинг):

./ISG.pl |grep 0\\.0\\.0\\.0
10.x.x.x     0.0.0.0         Virtual153    FBE7DC2782A17915 60      0          0          0          0          Main session     AZ   

И, что интересно, вот так:

./ISG.pl show_services Virtual153
User IP-address NAT IP-address  Port number   Uniq. Identifier Durat.  Octets-in  Octets-out Rate-in    Rate-out   Service name     Flags
10.x.x.x     0.0.0.0         Virtual153    FBE7DC2782A17915 0       0          0          0          0          REDIR            SOZT 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а в чем суть веб авторизации?

Перенаправить неугодных на страничку "дай денег". А там уже как получится - либо денег попросить, либо логин, либо еще что - это уже ваша проблема ;).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ах вон оно как, я значит не правильно понял, я думал что веб авторизация, чтоб логин и пасс вводить для входа в интернет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ах вон оно как, я значит не правильно понял, я думал что веб авторизация, чтоб логин и пасс вводить для входа в интернет :)

Ну так кто вам мешает? :)

Это уже задача биллинга. ISG спросит биллинг - пущать аль нет.

Кстати, как вариант:

1) Лепим сразу на сессию сервис "неавторизовано", редиректим по нему.

2) Спрашиваем логин и пароль (или там номер карточки, например).

3) Все хорошо? Отправляем CoA: отключить сервис "неавторизовано". Либо включить сервис "авторизовано". На ваш вкус.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так понимаю на 8000 висит что что делает http redirect на нужный урл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так понимаю на 8000 висит что что делает http redirect на нужный урл?

Да. nginx с конфигом на несколько строчек + фильтр. Всякие обновлялки не нужно редиректить - только зря потратим машинное время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так понимаю на 8000 висит что что делает http redirect на нужный урл?

Да. nginx с конфигом на несколько строчек + фильтр. Всякие обновлялки не нужно редиректить - только зря потратим машинное время.

Пример можно? Для криворуких :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так понимаю на 8000 висит что что делает http redirect на нужный урл?

Да. nginx с конфигом на несколько строчек + фильтр. Всякие обновлялки не нужно редиректить - только зря потратим машинное время.

Пример можно? Для криворуких :)

Конечно.

 

worker_processes  1;
events {
   worker_connections  1024;
}
http {
   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
   server {
       listen       8000;
       server_name  localhost;
       access_log /var/log/nginx/redirect.access.log;
       location / {
           if ( $http_user_agent ~ ^uTorrent ) {
                           return 404;
           }
           if ( $http_user_agent ~ Windows-Update-Agent ) {
                           return 404;
           }
           if ( $http_user_agent ~ "Microsoft NCSI" ) {
                           return 404;
           }
           if ( $http_user_agent ~ "ESS Update" ) {
                           return 404;
           }
           if ( $http_user_agent ~ "Google Update" ) {
                           return 404;
           }
           if ( $http_user_agent ~ "Microsoft-CryptoAPI" ) {
                           return 404;
           }
           if ( $http_user_agent ~ "Microsoft BITS" ) {
                           return 404;
           }
           if ( $http_user_agent ~ MSDW ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^SeaPort ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^Windows-Media-Player ) {
                           return 404;
           }
           if ( $http_user_agent ~ "Google Update" ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^GoogleEarth ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^Skype ) {
                           return 404;
           }
           if ( $http_user_agent = "MailRuSputnik" ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^Ya\.Online ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^MRA ) {
                           return 404;
           }
           if ( $http_user_agent ~* ^MediaGet ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^BTWebClient ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^Syncer ) {
                           return 404;
           }
           if ( $http_user_agent = "TMUFE" ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^Akamai\ NetSession\ Interface ) {
                           return 404;
           }
           if ( $http_user_agent ~ ^VKSaver ) {
                           return 404;
           }
           if ( $http_user_agent ~ DrWebUpdate ) {
                           return 404;
           }
           if ( $http_user_agent = "" ) {
                           return 404;
           }
           if ( $host ~ geo\.kaspersky\.com ) {
                           return 404;
           }
           if ( $host ~ (su|download|webrep).*\.avast\.com ) {
                           return 404;
           }
           if ( $host = wi2geo.mobile.yandex.net ) {
                           return 404;
           }
           if ( $host ~ bar.*\.yandex\.ru ) {
                           return 404;
           }
           if ( $host ~ (ping|master)\d*\.(dyngate|teamviewer)\.com ) {
                           return 404;
           }
           if ( $host ~ sitecheck\d*\.opera\.com ) {
                           return 404;
           }
           if ( $host ~ (xml\.my|mailsputnik|maps)\.mail\.ru ) {
                           return 404;
           }
           if ( $host = onlineconfigservice.ubi.com ) {
                           return 404;
           }
           if ( $host = com-services.pandonetworks.com ) {
                           return 404;
           }
           if ( $host ~ ticno\.com ) {
                           return 404;
           }
           if ( $host ~ conduit ) {
                           return 404;
           }
           if ( $host ~ cbox\.ws ) {
                           return 404;
           }
           if ( $host ~ (pricelist|metrics)\.skype\.com ) {
                           return 404;
           }
           if ( $host = weather.service.msn.com ) {
                           return 404;
           }
           if ( $host = advstat.letitbit.net ) {
                           return 404;
           }
           if ( $host = skymonk.net ) {
                           return 404;
           }
           if ( $host ~ counter ) {
                           return 404;
           }
           if ( $host ~ pluraserver ) {
                           return 404;
           }
           if ( $host ~ apps.bittorrent.com ) {
                           return 404;
           }
           if ( $host ~ tracker ) {
                           return 404;
           }
           if ( $request_uri ~* (update|feed|announce|rss|xml|json|oauth) ) {
                           return 404;
           }
           if ( $request_uri ~* (toolbar|suggest) ) {
                           return 404;
           }
           if ( $request_filename ~ \.(ico|gif|jpg|png) ) {
                           return 404;
           }
           if ( $request_filename ~ \.(css|xml|js|swf|flv) ) {
                           return 404;
           }
           if ( $request_filename ~ \.(crl|txt|cab|msi|jar) ) {
                           return 404;
           }
           if ( $host ~ norton ) {
                           return 404;
           }
    rewrite ^ http://someurl/somescript.cgi?nas=1.2.3.4&ref=$scheme://$host$request_uri redirect;
       }
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }
   }
}

 

Мне был нужен IP-адрес ISG-сервера в скрипте (оборвать неавторизованную сессию после того, как пользователь ввел логин-пароль), поэтому я передаю его как параметр.

 

Фильтры взяты где-то тут же, на nag-е, плюс дописал кое-чего сам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Порно :)

 

map $host$uri$is_args$args $uri_custom_blocked {
	include proxy/cust_url_blocked.acl;
}
map $host $host_adv_black_listed {
	hostnames;
	include proxy/adv_dom_blocked.acl;
	include proxy/adv_dom_re_blocked.acl;
}

....

		if ($uri_custom_blocked) {
			return 404;
		}
		if ($host_adv_black_listed) {
			return 404;
		}

отдельный файл cust_url_blocked.acl

### Counters
~*\.agni-yoga\.net\/Top100\/			1;
~*content\.mail\.ru\/cgi-bin\/counter		1;
~*hc\.uralweb\.ru\/hc\/				1;

 

отдельный файл adv_dom_blocked.acl:

### Ads			1;
.1link.ru		1;
.1tizer.ru		1;
.1traff.ru		1;

 

adv_dom_re_blocked.acl

### Ads
~*^ad[s]?\..*$		1;
~*^adv\..*$		1;
~*^ban\..*$		1;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет! Успановил пакет на тестовую машину. Все хорошо, сессия поднимается через радиус, появляется в статистике, трафик попадает в FORWARD -j ISG, но там же и остается:

 

OS - Debian

172.16.3.2 - тестовый клиент (весит на интерфейсе eth1)

 

#/scripts/isg/ISGd.pl

Session '172.16.3.2' on 'Virtual1' accepted by '127.0.0.1:1812'
Service '6mbit' for '172.16.3.2' started

 

 

#/scripts/isg/ISG.pl

User IP-address NAT IP-address  Port number   Uniq. Identifier Durat.  Octets-in  Octets-out Rate-in    Rate-out   Service name     Flags
172.16.3.2      0.0.0.0         Virtual1      27622A79D24BE5EB 114     213        0          0          0          Main session     A

 

 

iptables (v1.4.8)

*nat
-A POSTROUTING -s 172.16.3.0/24 -o eth0 -j SNAT --to-source 91.91.91.91

*filter

-A FORWARD -s 172.16.3.0/24 -j ISG --session-init --init-mode src
-A FORWARD -d 172.16.3.0/24 -j ISG

+ echo 1 > /proc/sys/net/ipv4/ip_forward
+ sysctl net.core.rmem_max=4194304

 

config.pl

$cfg{'srv'}{'6mbit'}{'rate_info'} = "QD;512000;96000;U;512000;96000";
$cfg{'srv'}{'6mbit'}{'traffic_classes'} = [ "OUR_NET", "ALL_OTHER" ];

 

 

radius request - reply:

# radtest 172.16.3.2 172.16.3.2 127.0.0.1 1 test321
Sending Access-Request of id 17 to 127.0.0.1 port 1812
       User-Name = "172.16.3.2"
       User-Password = "172.16.3.2"
       NAS-IP-Address = 91.91.91.91
       NAS-Port = 1
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=17, length=58
       Cisco-Account-Info = "A6mbit"
       Class = 0x757365725f69645f3331
       Idle-Timeout = 1800
       Session-Timeout = 120

 

 

Если в iptables прописать -A FORWARD -j ACCEPT , трафик натится и бежит в глобальную сеть.

 

Почему ISG.pl всегда показывает Service Name - Main session ?

Флаг сессии всегда только "A" или "X" , почему?

 

Порно :)

 

А не проще запретить все, а разрешить только где REQUEST_URL ~ ВАШ_URL_ХОСТА_ДАЙ_ДЕНЕГ ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не проще запретить все, а разрешить только где REQUEST_URL ~ ВАШ_URL_ХОСТА_ДАЙ_ДЕНЕГ ?

Нет. В nginx попадает куча хлама, на который надо ответить http redirect ВАШ_URL_ХОСТА_ДАЙ_ДЕНЕГ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я сейчас разобьюсь об скалы!

 

Скажите, почему ISG.pl показывает Service Name всегда Main session ???

 

Пакет master 880b4a7

Изменено пользователем zep

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все препроверил.. Трафик в цепочке FORWARD (от клиента в сторону внешней сети) попадает в ISG, но не проходит её.

 

iptables -nvxL

 

Chain FORWARD (policy DROP 71 packets, 3408 bytes)
   pkts      bytes target     prot opt in     out     source               destination
    137      7416   ISG        all  --  *      *       172.16.3.0/24        0.0.0.0/0           ISG initiator src mode
      0      0      ISG        all  --  *      *       0.0.0.0/0            172.16.3.0/24       ISG initiator dst mode

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.