молодец что разобрался
а так в pptpd.conf добляешь строчку speed значение (на не больше 115000 киловайт) и работает
Да poptop не 115000 кБайт
Да скрипт в студию !!!
Народ СЕТИ МНЕНЯЙТЕ В НАСТРОЙКАХ !!!!! У ВАС POROXYARP НЕ РАБОТАЕТ ДА И CHAP_SECRET СДЕЛАТЬ ДЛЯ ГРУППЫ НАДО , А ТО ОСТАЛЬНЫЕ НЕ ЗАЙДУТ !!!!
Last edited by Wolfgun; 21-04-2009 at 21:18.
да не за что. Я чисто на поставленный вопрос ответил![]()
ip-up скрипт точно такой же как и описаный мной чуть выше ... который в крон 1 минута лежал. Для меня это важно тем что к логину можно индивидуальный шейп привязать. вот его содержание
выделенный текст меняем на свой, привязанный IP и его скорость ну и сообщение в сис лог о том что операция прошла успешно. Скрипт можно конечно упростить так как он будет выполняться только один раз ... на пример такCode:#!/bin/sh DEV1=`ip address show |awk '{if($4=="192.168.40.251/32")print $7}'` DEV2=`ip address show |awk '{if($4=="192.168.40.252/32")print $7}'` [ ! -z "`ifconfig|grep $DEV1`" ] && [ -z "`wshaper status $DEV1|grep Kbit`" ] && wshaper start $DEV1 80 80 && logger "Shaper: shape for neters enabled" [ ! -z "`ifconfig|grep $DEV2`" ] && [ -z "`wshaper status $DEV2|grep Kbit`" ] && wshaper start $DEV2 128 128 && logger "Shaper: shape for oo7 enabled"
целую толпу вариаций можно написать )) на любой вкус ...Code:#!/bin/sh DEV1=`ip address show |awk '{if($4=="192.168.40.251/32")print $7}'` DEV2=`ip address show |awk '{if($4=="192.168.40.252/32")print $7}'` [ ! -z "$DEV1" ] && wshaper start $DEV1 80 80 && logger "Shaper: shape for neters enabled" [ ! -z "$DEV2" ] && wshaper start $DEV2 128 128 && logger "Shaper: shape for oo7 enabled"
не забываем в /opt/etc/ppp/options.pptpd строчку ip-up-script /opt/etc/ppp/ip-up
А в логах у меня да .... ошибок много ... но пока я не разобрался с их смыслом, и методом исправления)
Моя сеть LAN работает в 192.168.1.0/24 роутер 192.168.1.1 .... можно ли запустить poptop в этой же подсети? и не будет ли глюков у клиентов у которых такая же внутренняя сеть со своим модемом т.е. 192.168.1.0/24
Перевёл в 192.168.1.0/24 ... работает нормально без глюков и ошибок в логе нет ))
Code:pptpd[581]: CTRL: Client 10.152.197.41 control connection started pptpd[581]: CTRL: Starting call (launching pppd, opening GRE) pppd[582]: pppd 2.4.5 started by karter, uid 0 pppd[582]: Using interface ppp1 pppd[582]: Connect: ppp1 <--> /dev/pts/1 pptpd[581]: CTRL: Ignored a SET LINK INFO packet with real ACCMs! pppd[582]: found interface br0 for proxy arp pppd[582]: local IP address 192.168.1.224 pppd[582]: remote IP address 192.168.1.228 kernel: HTB init, kernel part version 3.17 kernel: HTB: quantum of class 10020 is small. Consider r2q change. kernel: HTB: quantum of class 10030 is small. Consider r2q change. karter: Shaper: shape for neters enabled
Last edited by karter; 22-04-2009 at 11:09.
Превый пост обновился
скрипт ставит все автоматом
у меня Asus WL500w сразу скажу что хоть и программистом достаточно долго отработал, но как то с unix системами мои профессиональные пути не пресекались(((
поставил правда не скриптом а более менее вдумчиво добавляя описанное здесь вручную на последней олега прошивке как то совсем не устойчиво получилось ....соединение происходило на 4-5 раз это как то больно оптимистично))) только на одном провайдере получалось нормально(на 4 раз) а с остальных 4 провайдеров вообще удавалось только на раз 20. MTU MRU как только не крутили и на клиентах и на сервере … ошибки все возможные были … поставил 240 прошивку и вроде все стало ок )))) соединение с первого раза и держится стабильно ….
Но осталась одна проблема к сожалению, что бы ее описать надо дать малость вводную часть :
есть моя сетка 192.168.2.0 которая подключина к инету по статическому ip (соответственно с помощью асуса) в сетке есть несколько серваков и некоторые порты с них торчат наружу...
из сетки некоторые машины тоже подключаться к другим vpn сервакам в инете (с этим кстати были проблемы на прошивке олега с поднятым poptop сервером на роутере, но на 240 прошивке вроде нормально работает) теперь вообщем то проблема :
если запустить iptables-save положим сегодня и скажем завтра с утра
то добавятиться завтра новые правила которые мне вообщем то не нужны
:VSERVER - [0:0]
-A PREROUTING -d XXX.XXX.XXX.XXX -j VSERVER
-A POSTROUTING -s ! XXX.XXX.XXX.XXX -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/255.255.255.0 -d 192.168.2.0/255.255.255.0 -o br0$
-A VSERVER -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.99:8080
-A VSERVER -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.2.99:25
-A VSERVER -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.2.99:110
-A VSERVER -p tcp -m tcp --dport 4090 -j DNAT --to-destination 192.168.2.56:4090
-A VSERVER -p udp -m udp --dport 4090 -j DNAT --to-destination 192.168.2.56:4090
-A VSERVER -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.2:1260-0
-A VSERVER -p tcp -m tcp --dport 8210 -j DNAT --to-destination 192.168.2.55:1490-0
COMMIT
*filter
...
...
-A INPUT -j logdrop
-A FORWARD -d 192.168.2.55 -p tcp -m tcp --dport 1492 -j ACCEPT
-A FORWARD -d 192.168.2.2 -p tcp -m tcp --dport 1260 -j ACCEPT
-A FORWARD -d 192.168.2.0/255.255.255.0 -j ACCEPT
-A FORWARD -s 192.168.2.0/255.255.255.0 -j ACCEPT
-A FORWARD -i br0 -o br0 -j ACCEPT
...
XXX.XXX.XXX.XXX - мой внешний ip
Вопрос вообщем-то простой откуда появляются эти правила и кто их добавляет...такие правила появляться ночью по всем машинам которые помимо серверов были включены...
очень надоне могу отказаться от старого шлюза на d-linke (((( а он со своими зависонами уже достал
![]()
Ура нашел следы этой флуктуации:
вопрос как я понял не по теме задал$ nvram show | grep "forward_port"
forward_port0=80-80>192.168.2.2:1260-1260,tcp,on,78e0c06a5cbb5d6d
forward_port1=8210-8210>192.168.2.55:1492-1492,tcp,on,9183655f582d6aab
size: 10642 bytes (22126 left)
можно конечно типа такого:
но вообщето что это такое? и что за дополнительный форвардинг#!/bin/sh
for line in `nvram show | grep "forward_port" | sed "s/ //"`
do
i=`expr index $line "="`
let i=i-1
rule=`expr substr $line 1 $i`
nvram unset $rule
done![]()
Кстати ip-up скрипту передаётся куча переменных и соответственно не нужно писать заморочки с поиском интерфейса для шейпера .... теперь скрипт для шейпера выглядит так
Как видно я ещё для каждого клиента запускаю darkstat. Как бы всё отлично но хочется что бы статистика сохранялась. Покурил man и пришёл к единственному правильному выводу что для сохранения и загрузки статистики надо определить файл базы данных в которую он будет пред каждым выключением сгружать статистику и перед стартом загружать её из того же файла. И вот здесь проблемы, а именно если darkstat завершить с помощью kill то статистика сохраняется и загружается нормально а если отключиться от poptop то интерфейс падает и статистика не сохраняется. Пробовал версии 3, 707 и 3, 712 аналогично. Пробовал создать ip-down скрипт с содержаниемCode:#!/bin/sh D="/opt/var/lib/darkstat" L="/usr/bin/logger -t POPTOP" case "$5" in 192.168.1.228) p="8181" n="neters" s="128" ;; 192.168.1.227) p="8182" n="oo7" s="128" ;; esac /opt/bin/darkstat -i $1 -p $p --chroot $D --user karter --export $n --import $n >> /opt/var/log/darkstat.log 2>&1 $L "darkstat for $n on port $p started" wshaper start $1 $s $s $L "shape $s kbits for $n enabled" echo " login `date` from IP:$6" >> /opt/var/log/poptop/$n.log
но и он не помог ... так как когда скрипт отрабатывается интерфейс ppp уже лежит и darkstat падает. У кого нить есть мысли на тему того как заставить его при зазрыве связи сохранять статистику. Ещё написано что статистика сохраняется ещё и сигналом SIGUSR1 ... как послать его не нашёл, меня бы устроило конечно и посылать кроном этот сигнал, раз в 5 мин ... но какCode:#!/bin/sh kill `/bin/ps | awk '{if($7=="$1")print $1}'`![]()
Last edited by karter; 14-06-2009 at 18:30.
WL500W, 300MHz, 128MB, USB 1.8 HDD 20GB, 1.9.2.7-d, ADOS, rTorrent, OpenVPN, POPTOP, Squid, TwonkyMedia, Palantir, XMail, lighttpd, PHP, mysql, vnstat ...
2 karter
Ты просто попробую добавить в скипт параметр speed для каждого юсера скорость надо назначать в байтах. И шейдер может совсем не понадобится.
Я гдето видел такие скрипты ip-up
Не совсем понял как можно параметром speed в poptop установить индивидуальную скорость клиенту. Одну для всех - да ... а каждому? Да и собственно как мне кажется получившийся ip-up вполне достоен внимания, и работает без сбоев. Даже в качестве бонуса я туда засунул логирование с какого IP и когда заходил (отключался) тот или иной клиентзапуск darkstat и тд
добавлено 20.06.2009
PS У меня всё таки получилось вовремя килять darkstat что бы он успевал сохранять базу данных каждого клиента. Сделано это так же и для собственной безопасности. Клиент же может пользоваться моим IP и в случае совершения каких либо незаконных действий клиентом у меня останутся хоть какие то логи. Скрипты ip-up и ip-down имеют такой вид
ip-up
ip-downCode:#!/bin/sh D="/opt/var/lib/darkstat" L="/usr/bin/logger -t POPTOP" case "$5" in 192.168.1.228) p="8181" n="neters" s="128" ;; 192.168.1.227) p="8182" n="oo7" s="256" ;; esac /opt/bin/darkstat -i $1 -p $p --chroot $D --user karter --export $n --import $n --pidfile $n.pid >> /opt/var/log/darkstat.log 2>&1 $L "darkstat for $n on port $p started" wshaper start $1 $s $s $L "shape $s kbits for $n enabled" echo " login `date` from IP:$6 interface $1" >> /opt/var/log/poptop/$n.log
Code:#!/bin/sh case "$5" in 192.168.1.228) n="neters" ;; 192.168.1.227) n="oo7" ;; esac kill `cat /opt/var/lib/darkstat/$n.pid` echo "logout `date` from IP:$6 interface $1" >> /opt/var/log/poptop/$n.log
Last edited by karter; 20-06-2009 at 13:32.
WL500W, 300MHz, 128MB, USB 1.8 HDD 20GB, 1.9.2.7-d, ADOS, rTorrent, OpenVPN, POPTOP, Squid, TwonkyMedia, Palantir, XMail, lighttpd, PHP, mysql, vnstat ...
привет всем, а особенно Вольфгану )
Я прошел обоих сталкеров, фоллаут3, кризис и наконец-то добрался до поптопа. )
Настроил все как в первом посте, за исключением адресов
роутер: 172.22.1.1
компы: 172.22.1.2 и так далее
localip 172.22.1.100
remoteip 172.22.1.101-110
post-firewall:
Лог соединения:Code:# poptop iptables -I INPUT -p tcp --dport 1723 -j ACCEPT iptables -t nat -I PREROUTING -p tcp --dport 1723 -j ACCEPT iptables -I OUTPUT -p 47 -j ACCEPT iptables -I INPUT -p 47 -j ACCEPT iptables -I INPUT -i ppp+ -j ACCEPT iptables -I FORWARD -i ppp+ -j ACCEPT iptables -I FORWARD -o ppp+ -j ACCEPT iptables -I OUTPUT -o ppp+ -j ACCEPT
вот такая вот фигня. кто-нибудь сталкивался?Code:Jun 24 22:27:55 pptpd[310]: CTRL: Client 217.118.66.68 control connection started Jun 24 22:27:55 pptpd[310]: CTRL: Starting call (launching pppd, opening GRE) Jun 24 22:27:55 pppd[311]: pppd options in effect: Jun 24 22:27:55 pppd[311]: debug^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: dump^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: require-mschap-v2^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: refuse-pap^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: refuse-chap^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: refuse-mschap^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: name pptpd^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: 115200^I^I# (from command line) Jun 24 22:27:55 pppd[311]: lock^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: local^I^I# (from command line) Jun 24 22:27:55 pppd[311]: novj^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: novjccomp^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: ipparam 217.118.66.68^I^I# (from command line) Jun 24 22:27:55 pppd[311]: nodefaultroute^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: proxyarp^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: 172.22.1.100:172.22.1.102^I^I# (from command line) Jun 24 22:27:55 pppd[311]: nobsdcomp^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: require-mppe-128^I^I# (from /opt/etc/ppp/options.pptpd) Jun 24 22:27:55 pppd[311]: pppd 2.4.2 started by dfayruzov, uid 0 Jun 24 22:27:55 pppd[311]: Using interface ppp0 Jun 24 22:27:55 pppd[311]: Connect: ppp0 <--> /dev/pts/1 Jun 24 22:27:59 kernel: ip_conntrack_pptp: error during exp_gre Jun 24 22:28:04 kernel: ip_conntrack_pptp: error during exp_gre Jun 24 22:28:15 kernel: ip_conntrack_pptp: error during exp_gre Jun 24 22:28:25 pppd[311]: LCP: timeout sending Config-Requests Jun 24 22:28:25 pppd[311]: Connection terminated. Jun 24 22:28:25 pppd[311]: Exit. Jun 24 22:28:25 pptpd[310]: GRE: read(fd=7,buffer=4205cc,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs Jun 24 22:28:25 pptpd[310]: CTRL: PTY read or GRE write failed (pty,gre)=(7,8) Jun 24 22:28:25 pptpd[310]: CTRL: Client 217.118.66.68 control connection finished
Так, по шагам:
Прошивка 1.9.2.7-10.7
А где взять D381?
pptpd.conf
/ppp/options.confCode:############################################################################### # $Id: pptpd.conf 2077 2005-06-10 07:18:16Z jeanfabrice $ # # Sample Poptop configuration file /etc/pptpd.conf # # Changes are effective when pptpd is restarted. ############################################################################### # TAG: ppp # Path to the pppd program, default '/usr/sbin/pppd' on Linux # #ppp /usr/sbin/pppd # TAG: option # Specifies the location of the PPP options file. # By default PPP looks in '/etc/ppp/options' # option /opt/etc/ppp/options.pptpd # TAG: debug # Turns on (more) debugging to syslog # debug # TAG: stimeout # Specifies timeout (in seconds) on starting ctrl connection # # stimeout 10 # TAG: noipparam # Suppress the passing of the client's IP address to PPP, which is # done by default otherwise. # #noipparam # TAG: logwtmp # Use wtmp(5) to record client connections and disconnections. # #logwtmp # TAG: bcrelay <if> # Turns on broadcast relay to clients from interface <if> # #bcrelay eth1 # TAG: localip # TAG: remoteip # Specifies the local and remote IP address ranges. # # Any addresses work as long as the local machine takes care of the # routing. But if you want to use MS-Windows networking, you should # use IP addresses out of the LAN address space and use the proxyarp # option in the pppd options file, or run bcrelay. # # You can specify single IP addresses seperated by commas or you can # specify ranges, or both. For example: # # 192.168.0.234,192.168.0.245-249,192.168.0.254 # # IMPORTANT RESTRICTIONS: # # 1. No spaces are permitted between commas or within addresses. # # 2. If you give more IP addresses than MAX_CONNECTIONS, it will # start at the beginning of the list and go until it gets # MAX_CONNECTIONS IPs. Others will be ignored. # # 3. No shortcuts in ranges! ie. 234-8 does not mean 234 to 238, # you must type 234-238 if you mean this. # # 4. If you give a single localIP, that's ok - all local IPs will # be set to the given one. You MUST still give at least one remote # IP for each simultaneous client. # # (Recommended) #localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245 # or #localip 192.168.0.234-238,192.168.0.245 #remoteip 192.168.1.234-238,192.168.1.245 localip 172.22.1.100 remoteip 172.22.1.101-110
Code:############################################################################### # $Id: options.pptpd 2077 2005-06-10 07:18:16Z jeanfabrice $ # # Sample Poptop PPP options file /etc/ppp/options.pptpd # Options used by PPP when a connection arrives from a client. # This file is pointed to by /etc/pptpd.conf option keyword. # Changes are effective on the next connection. See "man pppd". # # You are expected to change this file to suit your system. As # packaged, it requires PPP 2.4.2 and the kernel MPPE module. ############################################################################### # Authentication # Name of the local system for authentication purposes # (must match the second field in /etc/ppp/chap-secrets entries) name pptpd # Strip the domain prefix from the username before authentication. # (applies if you use pppd with chapms-strip-domain patch) #chapms-strip-domain # Encryption # (There have been multiple versions of PPP with encryption support, # choose with of the following sections you will use.) # BSD licensed ppp-2.4.2 upstream with MPPE only, kernel module ppp_mppe.o # {{{ refuse-pap refuse-chap refuse-mschap # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft # Challenge Handshake Authentication Protocol, Version 2] authentication. require-mschap-v2 # Require MPPE 128-bit encryption # (note that MPPE requires the use of MSCHAP-V2 during authentication) require-mppe-128 # }}} # OpenSSL licensed ppp-2.4.1 fork with MPPE only, kernel module mppe.o # {{{ #-chap #-chapms # Require the peer to authenticate itself using MS-CHAPv2 [Microsoft # Challenge Handshake Authentication Protocol, Version 2] authentication. #+chapms-v2 # Require MPPE encryption # (note that MPPE requires the use of MSCHAP-V2 during authentication) #mppe-40 # enable either 40-bit or 128-bit, not both #mppe-128 #mppe-stateless # }}} # Network and Routing # If pppd is acting as a server for Microsoft Windows clients, this # option allows pppd to supply one or two DNS (Domain Name Server) # addresses to the clients. The first instance of this option # specifies the primary DNS address; the second instance (if given) # specifies the secondary DNS address. #ms-dns 10.0.0.1 #ms-dns 10.0.0.2 # If pppd is acting as a server for Microsoft Windows or "Samba" # clients, this option allows pppd to supply one or two WINS (Windows # Internet Name Services) server addresses to the clients. The first # instance of this option specifies the primary WINS address; the # second instance (if given) specifies the secondary WINS address. #ms-wins 10.0.0.3 #ms-wins 10.0.0.4 # Add an entry to this system's ARP [Address Resolution Protocol] # table with the IP address of the peer and the Ethernet address of this # system. This will have the effect of making the peer appear to other # systems to be on the local ethernet. # (you do not need this if your PPTP server is responsible for routing # packets to the clients -- James Cameron) proxyarp # Logging # Enable connection debugging facilities. # (see your syslog configuration for where pppd sends to) debug # Print out all the option values which have been set. # (often requested by mailing list to verify options) dump # Miscellaneous # Create a UUCP-style lock file for the pseudo-tty to ensure exclusive # access. lock # Disable BSD-Compress compression nobsdcomp novj novjccomp # Disable change default route nodefaultroute
1) тут D381
ms-dns
Данный параметр надо раскоментировать и прописать свой DNS и еще одной строкой DNS провайдера.
После отладки dump и debug надо закоментировать в options и pptpd
НУ а так все нормально
ОК, спасибо!
Сегодня буду пробовать.
Сначала попробую прописать ms-dns на 1.9.2.7-10.7, если не запустится, то поставлю D381.
Кстати, туда надо поставить local или remote ip?
Не знаешь, D381 и 1.9.2.7-10.7 по настройкам совместимы? Или все с нуля настраивать?
Или может, попробовать скомпилить 1.9.2.7-10.7 с новым ip_conntrack_pptp?
Last edited by dfayruzov; 26-06-2009 at 10:40.