PPTP + Windows XP = Не ходят пакеты

Установка, настройка, поддержка
Abram
Сообщения: 157
Зарегистрирован: Чт мар 26, 2009 11:31 am
Контактная информация:

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение Abram »

Да, кому надо: в IP Pool-е ставим кол-во адресов побольше (у меня 65000), а в /etc/ppp/ip-up.d/ на NAS-е ложим такое:

Код: Выделить всё

#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
USER=`who|grep "$1\ "|awk '{print $1}'`
#LOGFILE=/tmp/pppd_log
#LOGFILE=/dev/stdout
if [ "$LOGFILE" == "" ]; then LOGFILE='/dev/null'; fi
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM USER LOGFILE

exec 1> "$LOGFILE"

IP=`/bin/awk '/Framed-IP-Address/ {print $2}' /var/run/radattr.$1`
COUNT=`ip a |grep -c $IP`
echo Iface is $PPP_IFACE, user is $USER, his IP is $IP, we have $COUNT same IPs
if [ "$COUNT" != "1" ]
then
	kill `cat /var/run/${PPP_IFACE}.pid`
	echo  \[ `date` \] Killed client $USER, wrong IP $IP >> /var/log/pppd_kill
fi

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение ran »

а ежли не секрет, зачем эти извращения?
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
USER=`who|grep "$1\ "|awk '{print $1}'`
man pppd писал(а):SCRIPTS
Pppd invokes scripts at various stages in its processing which can be used to perform site-specific
ancillary processing. These scripts are usually shell scripts, but could be executable code files
instead. Pppd does not wait for the scripts to finish (except for the ip-pre-up script). The
scripts are executed as root (with the real and effective user-id set to 0), so that they can do
things such as update routing tables or run privileged daemons. Be careful that the contents of
these scripts do not compromise your system's security. Pppd runs the scripts with standard input,
output and error redirected to /dev/null, and with an environment that is empty except for some
environment variables that give information about the link. The environment variables that pppd
sets are:


DEVICE The name of the serial tty device being used.

IFNAME The name of the network interface being used.

IPLOCAL
The IP address for the local end of the link. This is only set when IPCP has come up.

IPREMOTE
The IP address for the remote end of the link. This is only set when IPCP has come up.

PEERNAME
The authenticated name of the peer. This is only set if the peer authenticates itself.

SPEED The baud rate of the tty device.

ORIG_UID
The real user-id of the user who invoked pppd.

PPPLOGNAME
The username of the real user-id that invoked pppd. This is always set.

For the ip-down and auth-down scripts, pppd also sets the following variables giving statistics for
the connection:

CONNECT_TIME
The number of seconds from when the PPP negotiation started until the connection was termi‐
nated.

BYTES_SENT
The number of bytes sent (at the level of the serial port) during the connection.
The number of bytes received (at the level of the serial port) during the connection.

LINKNAME
The logical name of the link, set with the linkname option.

DNS1 If the peer supplies DNS server addresses, this variable is set to the first DNS server
address supplied.

DNS2 If the peer supplies DNS server addresses, this variable is set to the second DNS server
address supplied.
не говоря уже о том, что такие вещи лучше делать не из /etc/ppp/ip-up.d/.... а из /etc/ppp/ip-pre-up. Разница в том, что pppd вызывает ip-pre-up когда пройдена аутентификация, на ифейс назначен адрес, но сам ифейс ещё не поднят и пппд ждёт завершения этого скрипта. А скрипты из /etc/ppp/ip-up.d/ pppd вызывает, когда ифейс уже поднят и они выполняются асинхронно-параллельно с pppd (pppd не ждёт их завершения)

а ваще всё решается статической адресацией безо всяких извращений ;)

ЗЫ: а на форуме уже 20 мая ;)
Любой тупик - это тщательно замаскированный выход.

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение ran »

Abram писал(а):Потом сяду как-нибудь и попатчу ABillS может.
с chtito2 пообщайся - он там чего-то уже патчил на эту тему ;)
Любой тупик - это тщательно замаскированный выход.

Abram
Сообщения: 157
Зарегистрирован: Чт мар 26, 2009 11:31 am
Контактная информация:

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение Abram »

ran писал(а):а ежли не секрет, зачем эти извращения?
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
USER=`who|grep "$1\ "|awk '{print $1}'`
man pppd писал(а): ...
The environment variables that pppd
sets are:

...
не говоря уже о том, что такие вещи лучше делать не из /etc/ppp/ip-up.d/.... а из /etc/ppp/ip-pre-up. Разница в том, что pppd вызывает ip-pre-up когда пройдена аутентификация, на ифейс назначен адрес, но сам ифейс ещё не поднят и пппд ждёт завершения этого скрипта. А скрипты из /etc/ppp/ip-up.d/ pppd вызывает, когда ифейс уже поднят и они выполняются асинхронно-параллельно с pppd (pppd не ждёт их завершения)
pppd не вызывает /etc/ppp/ip-*.d вообще. Он вызывает ip-up (просто один скрипт, который в свою очередь вызывает уже юзверовские скрипты). И этот скрипт как раз в environment такого не передаёт. Да и вообще - это оттуда же скопипастено :). А вот насчет pre-up - спасибо.

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение ran »

Он вызывает ip-up (просто один скрипт, который в свою очередь вызывает уже юзверовские скрипты).
ну да... особой разницы нет... просто суть-то в этом:
ran писал(а):Разница в том, что pppd вызывает ip-pre-up когда пройдена аутентификация, на ифейс назначен адрес, но сам ифейс ещё не поднят и пппд ждёт завершения этого скрипта. А скрипты из /etc/ppp/ip-up.d/ pppd вызывает, когда ифейс уже поднят и они выполняются асинхронно-параллельно с pppd (pppd не ждёт их завершения)
И этот скрипт как раз в environment такого не передаёт.
да прям таки... привёл же выше цитату из мана пппд... кроме того, когда я писал патч для пппд лично в сырцах пппд это видел ;)
Любой тупик - это тщательно замаскированный выход.

nsa
Сообщения: 41
Зарегистрирован: Пт авг 01, 2008 4:55 am

Re:

Сообщение nsa »

NiTr0 писал(а):С акселем - аналогично. Редко, но бывает.
Кстати аксель из SVN довольно-таки стабильный, падает раз в 2-3 недели при онлайне 500+ чел... Только с кваггой 0.98.6 не дружит, надо 0.99.10+ (на более старых не тестил) - хотя ИМХО эта проблема квагги наблюдалась и с ядерным pppoe.
Таже были падения 2 - 3 недели, понадобилось на NAS поднять 802.1q, создал подинтерфейс, падения прекратились с чем связаны падения на физическом интерфейсе не выяснил, проблем с пропаданием пакетов не было!

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение NiTr0 »

Может совпадение...
P.S. Вышла новая версия аксель-пптп, типа должна быть стабильнее... Обожду еще пару дней багрепорты, после - буду апгрейдиться.

Abram
Сообщения: 157
Зарегистрирован: Чт мар 26, 2009 11:31 am
Контактная информация:

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение Abram »

NiTr0 писал(а):Вышла новая версия аксель-пптп, типа должна быть стабильнее... Обожду еще пару дней багрепорты, после - буду апгрейдиться.
Да что там с багрепортами-то? Релиз 0.8.3 как раз из багфиксов и состоит :). 0.8.2, например, у меня вообще кернел паник вызвал.

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Re: PPTP + Windows XP = Не ходят пакеты

Сообщение NiTr0 »

Ну так одно правят, а другое - ломают ;)

Ответить