Проблемы с автозапуском VPN
Модератор: Модераторы разделов
Проблемы с автозапуском VPN
У меня стоит MOPSLinux основанный на Slackware c ядром 2.6.15.
Проблема следующая:
есть скрипт для запуска ВПН'а с следущим содержимым
/usr/sbin/iptables -A INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT
/usr/sbin/pptp vpn.nln.ru call nln
route add 217.197.112.3 gw 10.192.23.1
route add 217.197.112.4 gw 10.192.23.1
ip route replace default dev ppp0
или
route del default
route add default dev ppp0
Ну так вот использую этот скрипт для запуска VPN и вставляю его в rc.M
врое все проходит, хотя иногда бывает сообщение SCIOCADDRT: No such device но это я так понял из -за утсройства ppp0 которое не успевает создаться.
Ну так вот вроде все проходит но ничего не работает, но если запустить скрипт под root то все работает
Кто нидь может подсказать что нидь и были ли у кого такие проблемы в Slackware или в других линухах.
Проблема следующая:
есть скрипт для запуска ВПН'а с следущим содержимым
/usr/sbin/iptables -A INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT
/usr/sbin/pptp vpn.nln.ru call nln
route add 217.197.112.3 gw 10.192.23.1
route add 217.197.112.4 gw 10.192.23.1
ip route replace default dev ppp0
или
route del default
route add default dev ppp0
Ну так вот использую этот скрипт для запуска VPN и вставляю его в rc.M
врое все проходит, хотя иногда бывает сообщение SCIOCADDRT: No such device но это я так понял из -за утсройства ppp0 которое не успевает создаться.
Ну так вот вроде все проходит но ничего не работает, но если запустить скрипт под root то все работает
Кто нидь может подсказать что нидь и были ли у кого такие проблемы в Slackware или в других линухах.
Re: Проблемы с автозапуском VPN
После загрузки компа проверь таблицу маршрутизации. Наверняка дефолтный шлюз смотрит на eth0, а должен на ppp0. Если это так то между командами
вставь
P.S. и iptables убери, хотя бы на время отладки подключения.
P.P.S. а вообще вот это почитай, там моя инструкция есть, сам в nln на мопсе сижу
Код: Выделить всё
/usr/sbin/pptp vpn.nln.ru call nln
...
ip route replace default dev ppp0
вставь
Код: Выделить всё
sleep 5
P.S. и iptables убери, хотя бы на время отладки подключения.
P.P.S. а вообще вот это почитай, там моя инструкция есть, сам в nln на мопсе сижу
Не кидайте камни в чужой огород - могут прилететь обратно! ©
Re: Проблемы с автозапуском VPN
KDA писал(а): ↑12.08.2006 00:45После загрузки компа проверь таблицу маршрутизации. Наверняка дефолтный шлюз смотрит на eth0, а должен на ppp0. Если это так то между командами
Код: Выделить всё
/usr/sbin/pptp vpn.nln.ru call nln ... ip route replace default dev ppp0
вставь
Код: Выделить всё
sleep 5
P.S. и iptables убери, хотя бы на время отладки подключения.
P.P.S. а вообще вот это почитай, там моя инструкция есть, сам в nln на мопсе сижу
да понятно что дефолтный шлюз смотрит на eth0 для этого и делаю ip route replace default dev ppp0
до sleep 5 догадался сам вставить.
настройки iptables убрать никак нельзя без этого вообще ничего работать не будет, проверено рано ии поздно их надо использовать)))
проблема в том что соединение при загрузке компа проходит и таблица машрутизации выглядит как надо, но инет не работает, а ppp0 потом отваливатся поэтому все то же самое приходится запускать под root и все работает.
пока нашел единственный выход это создать скрипт startvpn куда внес
sudo /usr/sbin/pptp vpn.nln.ru call nln
sleep 5
sudo route del default
sudo route add default dev ppp0
соотвественно в этом виде команды внес все в sudoers для юзера
все остальное внес в rc.local т.е это
/usr/sbin/iptables -A INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT
route add 217.197.112.3 gw 10.192.23.1
route add 217.197.112.4 gw 10.192.23.1
в принципе все работает но другая проблема это пользователя напрягает свой пароль вводить еще раз)))
Re: Проблемы с автозапуском VPN
Во-первых.
NOPASSWD -> /etc/sudoers ?
Вообще, man sudoers.
Во-вторых.
Если честно - никогда не встречал вызовов типа
Насколько я пробовал разные варианты настройки - там "ключевая" команда подключения либо либо
Если такие непонятки - может, попробовать подключаться через pppd? Создать файл, скажем, /etc/ppp/peers/nln (имя nln - в теории, любое), в него настройки, среди прочего - строка:
Подключение через
Может, так попробовать?
пользователя напрягает свой пароль вводить еще раз
NOPASSWD -> /etc/sudoers ?
Код: Выделить всё
username1 hostname1=NOPASSWD:/usr/local/bin/startvpn
Вообще, man sudoers.
Во-вторых.
Если честно - никогда не встречал вызовов типа
Код: Выделить всё
/usr/sbin/pptp vpn.nln.ru call nln
Насколько я пробовал разные варианты настройки - там "ключевая" команда подключения либо
Код: Выделить всё
/usr/sbin/pptp servername.com
Код: Выделить всё
/usr/sbin/pppd call peername
Если такие непонятки - может, попробовать подключаться через pppd? Создать файл, скажем, /etc/ppp/peers/nln (имя nln - в теории, любое), в него настройки, среди прочего - строка:
Код: Выделить всё
pty "/usr/sbin/pptp vpn.nln.ru --nolaunchpppd
Подключение через
Код: Выделить всё
/usr/sbin/pppd call nln
Может, так попробовать?
Re: Проблемы с автозапуском VPN
backslash писал(а): ↑12.08.2006 11:42Во-первых.
пользователя напрягает свой пароль вводить еще раз
NOPASSWD -> /etc/sudoers ?
Код: Выделить всё
username1 hostname1=NOPASSWD:/usr/local/bin/startvpn
Вообще, man sudoers.
Во-вторых
...
за NOPASSWD спасибо а то в manе не заметил сколько не смотрел)
все остальное попробовал в первю очередь, было все то же самое)
Re: Проблемы с автозапуском VPN
somebyte
почитал. прикинул — как бы я это сделал.
учитывая, что интернет должен быть подключен _постоянно_ без дополнительных телодвижений.
примерно так:
1. пусть так и будет:
2. добавил бы в /etc/inittab строку типа
3. добавил бы в /etc/ppp/peers/nln такие строки:
и наслаждался бы интернетом постоянно (насколько позволяет провайдер и связь с ним).
единственное возможное неудобство — если связь с провайдером пропадает на некоторое время, и pppd за это время несколько раз (точное число не помню) вырубится, init может притормозить с перезапуском pppd (обычно, помнится, минут на пять). но по прошествии этих пяти минут продолжит попытки запустить pppd. если pppd опять не сможет связаться — еще раз "уснет" на пять минут. и т.д.
но, вообще-то, с опциями persist и maxfail демон pppd не будет слишком быстро "вылетать". так что и init, скорее всего, "притормаживать" его пятиминутными тайм-аутами не будет.
ах, да! nodetach, defaultroute и replacedefaultroute — ключевые опции. особенно первая. уберешь ее — будет очень весело. в смысле — совсем не весело.
а вторая и третья служат заменой для
ip route replace default dev ppp0
почитал. прикинул — как бы я это сделал.
учитывая, что интернет должен быть подключен _постоянно_ без дополнительных телодвижений.
примерно так:
1. пусть так и будет:
(somebyte @ Aug 12 2006, в 00:52) писал(а):все остальное внес в rc.local т.е это
/usr/sbin/iptables -A INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT
route add 217.197.112.3 gw 10.192.23.1
route add 217.197.112.4 gw 10.192.23.1
2. добавил бы в /etc/inittab строку типа
Код: Выделить всё
ppp:2345:respawn:/usr/sbin/pppd nodetach call nln >/dev/null 2>&1
3. добавил бы в /etc/ppp/peers/nln такие строки:
Код: Выделить всё
pty "/usr/sbin/pptp vpn.nln.ru --nolaunchpppd"
defaultroute
replacedefaultroute
persist
maxfail 0
и наслаждался бы интернетом постоянно (насколько позволяет провайдер и связь с ним).
единственное возможное неудобство — если связь с провайдером пропадает на некоторое время, и pppd за это время несколько раз (точное число не помню) вырубится, init может притормозить с перезапуском pppd (обычно, помнится, минут на пять). но по прошествии этих пяти минут продолжит попытки запустить pppd. если pppd опять не сможет связаться — еще раз "уснет" на пять минут. и т.д.
но, вообще-то, с опциями persist и maxfail демон pppd не будет слишком быстро "вылетать". так что и init, скорее всего, "притормаживать" его пятиминутными тайм-аутами не будет.
ах, да! nodetach, defaultroute и replacedefaultroute — ключевые опции. особенно первая. уберешь ее — будет очень весело. в смысле — совсем не весело.
а вторая и третья служат заменой для
ip route replace default dev ppp0
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Спасибо сказали:
Re: Проблемы с автозапуском VPN
sash-kan писал(а): ↑12.08.2006 14:34somebyte
почитал. прикинул — как бы я это сделал.
учитывая, что интернет должен быть подключен _постоянно_ без дополнительных телодвижений.
примерно так:
1. пусть так и будет:(somebyte @ Aug 12 2006, в 00:52) писал(а):все остальное внес в rc.local т.е это
/usr/sbin/iptables -A INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT
route add 217.197.112.3 gw 10.192.23.1
route add 217.197.112.4 gw 10.192.23.1
2. добавил бы в /etc/inittab строку типаКод: Выделить всё
ppp:2345:respawn:/usr/sbin/pppd nodetach call nln >/dev/null 2>&1
3. добавил бы в /etc/ppp/peers/nln такие строки:Код: Выделить всё
pty "/usr/sbin/pptp vpn.nln.ru --nolaunchpppd" defaultroute replacedefaultroute persist maxfail 0
и наслаждался бы интернетом постоянно (насколько позволяет провайдер и связь с ним).
единственное возможное неудобство — если связь с провайдером пропадает на некоторое время, и pppd за это время несколько раз (точное число не помню) вырубится, init может притормозить с перезапуском pppd (обычно, помнится, минут на пять). но по прошествии этих пяти минут продолжит попытки запустить pppd. если pppd опять не сможет связаться — еще раз "уснет" на пять минут. и т.д.
но, вообще-то, с опциями persist и maxfail демон pppd не будет слишком быстро "вылетать". так что и init, скорее всего, "притормаживать" его пятиминутными тайм-аутами не будет.
ах, да! nodetach, defaultroute и replacedefaultroute — ключевые опции. особенно первая. уберешь ее — будет очень весело. в смысле — совсем не весело.
а вторая и третья служат заменой для
ip route replace default dev ppp0
Я сделал проще у меня VPN-pptp поднимается через crond через 3 минуты после запуска системы он же поднимает правила нат, рутинг и прочее, он же каждые 3 минуты контроллируется наличие соединения если какойто iface упал то автоматом его поднимает. При падении iface запускается скрипт /etc/ppp/if-down там прописаны строчки которые восстановливают состояние рутинга до подъема соединения и правила файрвола это нужно для корректного восстановления системы. В /etc/ppp/pptp.option.isp прописана строчка unit 2 значит номер интрефейса будет гарантировано ppp2 так проще строить правила файрвола и подсчет трафа особенно если есть спутниковый канал у него соотвественно стоит в pptp.option.sat unit 3. Получается очень мило и просто отбрасывает текстовые префиксыи и в билинге понятно 0(eth0) это серая сетка провайдера, 1- (eth1) это локальная домашняя сеть(у меня в сети 3 компа), 2 наземный канал провайдера, 3 канал на satgate.
Причем у моего провайдера весь локальный траф по реальным адресам 5 коп/М поэтому маршрутизация на адреса провайдера в моем случае 81.30.176/19 и 81.30.192.0/20 автоматом рутятся на 2 ифейс ресурсы там всякие типа dc++ CS и прочее. Скажем в случае падения спутникового канала рутинг автоматом перестраивается на наземный канал провайдера. Так что в наихудшем случае не будет канала максимум 3 минуты +15 секунд на отработку скриптов задержки подобраны экспереметально для случая PIII-667.
Re: Проблемы с автозапуском VPN
ntimmy
насколька я понимаю cron настраивается отдельно для каждого пользователя? получается надо каждому crontab делать?
насколька я понимаю cron настраивается отдельно для каждого пользователя? получается надо каждому crontab делать?
Re: Проблемы с автозапуском VPN
Существует общесистемный (или рутовый) кронтаб.
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
Re: Проблемы с автозапуском VPN
(ntimmy @ Aug 12 2006, в 16:55) писал(а):... у меня VPN-pptp поднимается через crond через 3 минуты после запуска системы он же поднимает правила нат, рутинг и прочее, он же каждые 3 минуты контроллируется наличие соединения если какойто iface упал то автоматом его поднимает. При падении iface запускается скрипт /etc/ppp/if-down там прописаны строчки которые восстановливают состояние рутинга до подъема соединения и правила файрвола
да-а-а........(ntimmy @ Aug 12 2006, в 16:55) писал(а):Я сделал проще
проще, действительно, просто некуда.......
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Проблемы с автозапуском VPN
sash-kan писал(а): ↑13.08.2006 13:32(ntimmy @ Aug 12 2006, в 16:55) писал(а):... у меня VPN-pptp поднимается через crond через 3 минуты после запуска системы он же поднимает правила нат, рутинг и прочее, он же каждые 3 минуты контроллируется наличие соединения если какойто iface упал то автоматом его поднимает. При падении iface запускается скрипт /etc/ppp/if-down там прописаны строчки которые восстановливают состояние рутинга до подъема соединения и правила файрволада-а-а........(ntimmy @ Aug 12 2006, в 16:55) писал(а):Я сделал проще
проще, действительно, просто некуда.......
Мне так показалось проще всего. почему то эта канитель не хотела подниматься через rc.local. По крайней мере работает уже год.
Re: Проблемы с автозапуском VPN
rc.local запускается один раз при загрузке. init (с опцией respawn в inittab) будет перезапускать то, что укажешь, до бесконечности.(ntimmy @ Aug 15 2006, в 09:26) писал(а):не хотела подниматься через rc.local
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Проблемы с автозапуском VPN
А если понадобилось прервать цикл перезапусков ? править inittab, перезапускать систему ?
Slackware 11 - 2.6.18 @ Athlon XP 1800+/512Mb
Slackware-12 - 2.6.21.5 @ Celeron D 2533/512Mb
Gentoo (amd64) - 2.6.22 @ Athlon X2 5600+/2048Mb
Slackware-12 - 2.6.21.5 @ Celeron D 2533/512Mb
Gentoo (amd64) - 2.6.22 @ Athlon X2 5600+/2048Mb
Re: Проблемы с автозапуском VPN
oberlicht
править inittab, говорить init-у о том, что inittab изменился:ну а убивать лишнее уже конечно ручками.
править inittab, говорить init-у о том, что inittab изменился:
Код: Выделить всё
init q
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Проблемы с автозапуском VPN
ТЫ как мне кажется не догнал тему. Просто чел спрашивал как автоматом при запуске системы поднимать тонель до прова. При чем тут init?
А сторожек нужен всяко ибо кто будет поддерживать тонель. Судя по логам он рвется с некоторой апериодичностью на протяжении суток несколько раз. самое простое его сделать через crond.
Re: Проблемы с автозапуском VPN
(ntimmy @ Aug 16 2006, в 12:26) писал(а):ТЫ как мне кажется не догнал тему. Просто чел спрашивал как автоматом при запуске системы поднимать тонель до прова. При чем тут init?
А сторожек нужен всяко ибо кто будет поддерживать тонель. Судя по логам он рвется с некоторой апериодичностью на протяжении суток несколько раз. самое простое его сделать через crond.
ВЫ, как мне кажется, не совсем понимаете, что делает init с записями в inittab, у которых в третьем поле стоит respawn.
если запуск pppd осуществлять через inittab, то pppd _не_только_ поднимется при запуске, но и, без дополнительных телодвижений со стороны "сторожек", после падения будет init-ом перезапускаться. до бесконечности.
прочитайТЕ, пожалуйста все мои посты в этой теме.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Re: Проблемы с автозапуском VPN
Про такую способность init-а я и не подозревал.. Возьму на вооружение, спасибо.sash-kan писал(а): ↑16.08.2006 10:04oberlicht
править inittab, говорить init-у о том, что inittab изменился:ну а убивать лишнее уже конечно ручками.Код: Выделить всё
init q
Slackware 11 - 2.6.18 @ Athlon XP 1800+/512Mb
Slackware-12 - 2.6.21.5 @ Celeron D 2533/512Mb
Gentoo (amd64) - 2.6.22 @ Athlon X2 5600+/2048Mb
Slackware-12 - 2.6.21.5 @ Celeron D 2533/512Mb
Gentoo (amd64) - 2.6.22 @ Athlon X2 5600+/2048Mb
Re: Проблемы с автозапуском VPN
sash-kan писал(а): ↑12.08.2006 14:34somebyte
почитал. прикинул — как бы я это сделал.
учитывая, что интернет должен быть подключен _постоянно_ без дополнительных телодвижений.
примерно так:
1. пусть так и будет:(somebyte @ Aug 12 2006, в 00:52) писал(а):все остальное внес в rc.local т.е это
/usr/sbin/iptables -A INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p 47 -j ACCEPT
/usr/sbin/iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT
route add 217.197.112.3 gw 10.192.23.1
route add 217.197.112.4 gw 10.192.23.1
2. добавил бы в /etc/inittab строку типаКод: Выделить всё
ppp:2345:respawn:/usr/sbin/pppd nodetach call nln >/dev/null 2>&1
3. добавил бы в /etc/ppp/peers/nln такие строки:Код: Выделить всё
pty "/usr/sbin/pptp vpn.nln.ru --nolaunchpppd" defaultroute replacedefaultroute persist maxfail 0
и наслаждался бы интернетом постоянно (насколько позволяет провайдер и связь с ним).
единственное возможное неудобство — если связь с провайдером пропадает на некоторое время, и pppd за это время несколько раз (точное число не помню) вырубится, init может притормозить с перезапуском pppd (обычно, помнится, минут на пять). но по прошествии этих пяти минут продолжит попытки запустить pppd. если pppd опять не сможет связаться — еще раз "уснет" на пять минут. и т.д.
но, вообще-то, с опциями persist и maxfail демон pppd не будет слишком быстро "вылетать". так что и init, скорее всего, "притормаживать" его пятиминутными тайм-аутами не будет.
ах, да! nodetach, defaultroute и replacedefaultroute — ключевые опции. особенно первая. уберешь ее — будет очень весело. в смысле — совсем не весело.
а вторая и третья служат заменой для
ip route replace default dev ppp0
Спасибо почти все сработало и помого я не понял только одного на строчку replacedefaultroute pppd ругается, говрит нет такой и не было.
Пока остановился на том что создал для апользователей скрипты для запуска startvpn и для убийства killvpn
вот они:
startvpn
#!/bin/bash
#setting rules for my PPTP :-) if they exist if course
if [ -z "`/usr/sbin/iptables -L|/bin/gawk '/Chain INPUT \(policy ACCEPT\)/,/Chain FORWARD \(policy ACCEPT\)/ { print $0 }' | grep ACCEPT.*gre.*--.*anywhere.*anywhere`" ];
then
rule="iptables -A INPUT -p 47 -j ACCEPT"
echo $rule
/usr/sbin/$rule
fi
if [ -z "`/usr/sbin/iptables -L|/bin/gawk '/Chain INPUT \(policy ACCEPT\)/,/Chain FORWARD \(policy ACCEPT\)/ { print $0 }' | grep ACCEPT.*tcp.*--.*anywhere.*anywhere.*tcp.*spt:pptp`" ];
then
rule="iptables -A INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT"
echo $rule
/usr/sbin/$rule;
fi
if [ -z "`/usr/sbin/iptables -L|/bin/gawk '/Chain OUTPUT \(policy ACCEPT\)/,/^D/ { print $0 }' | grep ACCEPT.*gre.*--.*anywhere.*anywhere`" ];
then
rule="iptables -A OUTPUT -p 47 -j ACCEPT"
echo $rule
/usr/sbin/$rule
fi
if [ -z "`/usr/sbin/iptables -L|/bin/gawk '/Chain OUTPUT \(policy ACCEPT\)/,/^D/ { print $0 }' | grep ACCEPT.*tcp.*--.*anywhere.*anywhere.*tcp.*dpt:pptp`" ];
then
rule="iptables -A OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT"
echo $rule
/usr/sbin/$rule;
fi
#configuration of my route
if [ -z "`/sbin/route|/bin/grep 217.197.112.3`" ];
then
rule="route add 217.197.112.3 gw 10.192.23.1"
echo $rule
/sbin/$rule
fi
if [ -z "`/sbin/route|/bin/grep 217.197.112.4`" ];
then
rule="route add 217.197.112.4 gw 10.192.23.1"
echo $rule
/sbin/$rule
fi
if [ "`/sbin/route|/bin/grep default`" ];
then
rule="route del default";
/sbin/$rule
fi
process="`ps -A|gawk '/pppd/ { print $1 }'`"
if [ -z $process ]; then
echo "start vpn"
/usr/sbin/pppd call nln
fi
и killvpn
#/bin/bash
#kill all rules
if [ "`/usr/sbin/iptables -L|/bin/gawk '/Chain INPUT \(policy ACCEPT\)/,/Chain FORWARD \(policy ACCEPT\)/ { print $0 }' | grep ACCEPT.*gre.*--.*anywhere.*anywhere`" ];
then
rule="iptables -D INPUT -p 47 -j ACCEPT"
echo $rule
/usr/sbin/$rule
fi
if [ "`/usr/sbin/iptables -L|/bin/gawk '/Chain INPUT \(policy ACCEPT\)/,/Chain FORWARD \(policy ACCEPT\)/ { print $0 }' | grep ACCEPT.*tcp.*--.*anywhere.*anywhere.*tcp.*spt:pptp`" ];
then
rule="iptables -D INPUT -p TCP -s 0.0.0.0/0 --source-port 1723 -j ACCEPT"
echo $rule
/usr/sbin/$rule;
fi
if [ "`/usr/sbin/iptables -L|/bin/gawk '/Chain OUTPUT \(policy ACCEPT\)/,/^D/ { print $0 }' | grep ACCEPT.*gre.*--.*anywhere.*anywhere`" ];
then
rule="iptables -D OUTPUT -p 47 -j ACCEPT"
echo $rule
/usr/sbin/$rule
fi
if [ "`/usr/sbin/iptables -L|/bin/gawk '/Chain OUTPUT \(policy ACCEPT\)/,/^D/ { print $0 }' | grep ACCEPT.*tcp.*--.*anywhere.*anywhere.*tcp.*dpt:pptp`" ];
then
rule="iptables -D OUTPUT -p TCP -s 0.0.0.0/0 --destination-port 1723 -j ACCEPT"
echo $rule
/usr/sbin/$rule;
fi
#configuration of my route
if [ "`/sbin/route|/bin/grep 217.197.112.3`" ];
then
rule="route del 217.197.112.3 gw 10.192.23.1"
echo $rule
/sbin/$rule
fi
if [ "`/sbin/route|/bin/grep 217.197.112.4`" ];
then
rule="route del 217.197.112.4 gw 10.192.23.1"
echo $rule
/sbin/$rule
fi
process="`ps -A|gawk '/pppd/ {print $1}'`"
if [ $process ]; then echo "kill ${process}-pppd"; kill $process; fi
if [ -z "`/sbin/route|/bin/grep default`" ];
then
rule="route add default gw 10.192.23.1"
echo $rule
/sbin/$rule
fi
не судите строго я от силы линукс месяц юзаю)))