Данная инструкция должна работать на любом дистрибутиве Linux (с поправкой на пути расположения). Новичкам она не рекомендуется и если делать, без понимания, что делаете, Вы можете повредить свою систему!
Планируется, что в компьютере настроен DNS и локальная сеть.
Локальный роутинг $su -
#touch /local-route.sh
#echo "!/bin/bash" >>/local-route.sh
#echo "route del default" >>/local-route.sh
#echo "route add -net 192.168.0.0/16 gw <IP>" >>/local-route.sh
добавляем файл /local-route.sh в файл автозагрузки (он минимален, для того, чтоб работали основные сервера и сервисы сети), плюс туда можно дописать другие подсети (они могут меняться, планируется поддерживать их список тут)
Список локальных подсетей * 192.168.0.0/16
* 10.202.0.0/16
* 213.152.157.76/30
* 62.16.86.104/29
* 62.16.70.80/28
* 62.16.70.112/28
* 87.239.32.0/21
Настройка локального роутинга в Linux Linux
Для Linux клиентов нужно устанавливать пакет quagga.
После установки пакета - правите два файла конфигурации:
файл конфигурации /etc/quagga/zebra.conf (достаточно изменить пароль на ваш):
! -*- zebra -*-
!
hostname myhost
password mypassword
enable password mysuperpassword
!
! Interface's description.
!
interface eth0
description darnet link
ip address 192.168.x.y/24
!
! Static default route sample.
!
ip route 192.168.0.0/16 192.168.x.254
!
!log file zebra.log
log file /var/log/quagga/zebra.log
Где 192.168.x.y/24 - Ваш ip, 192.168.x.254 - Ваш шлюз, eth0 - имя сетевого интерфейса подключенного к Дарнет.
файл конфигурации /etc/quagga/ripd.conf
!!! -*- rip -*-
!
! RIPd
!
hostname my-ripd
password mypassword
!
router rip
version 2
network eth0
log stdout
!
Запускаете демона zebra и демона ripd и прописываете их в автозапуск в вашей системе. (Как зависит от поставщика Linux)
(Конец статьи Настройка локального роутинга в Linux) pptp clientВключить поддержку в ядре:
Network device support/<*> PPP (point-to-point protocol) support
Network device support/<*> PPP MPPE compression (encryption) (EXPERIMENTAL)
Network device support/[ * ] PPP support for sync tty ports
Загружаете pptp client (сайт с последней версией:
http://pptpclient.sourceforge.net/) для Вашего дистрибутива (лучше поставить из исходников, чтоб не гадать с расположением файлов и тд)
пакет ppp должен быть собран из исходников с поддержкой MPPE (или установлен пакет ppp поддерживающий MPPE)
Включение-выключениетеперь добавляем необходимые конфиги ручками (пример для соединения unlim): предполагаем, что имя пользователя, под которым мы будем пользоваться интернетом: user1
* /etc/ppp/peers/unlim #echo -e "\
pty \"pptp unlim.darnet.ru --nolaunchpppd\" \n\
name darnetvpn \n\
remotename PPTP \n\
file /etc/ppp/options.pptp \n\
ipparam unlim \n\
"\
>/etc/ppp/peers/unlim
* /etc/ppp/options.pptp #echo -e "\
lock\n\
noauth\n\
refuse-eap\n\
refuse-chap\n\
refuse-mschap\n\
nobsdcomp\n\
nodeflate\n\
"\
>/etc/ppp/options.pptp
* /vpnon #echo -e "\
#!/bin/bash\n\n\
#knetstats - optional for kde
killall knetstats >/dev/null 2>/dev/null \n\
sudo /usr/sbin/poff unlim >/dev/null 2>/dev/null \n\
sleep 3 \n\
/usr/bin/knetstats & \n\
sudo /usr/sbin/pon unlim \n\
"\
>/vpnon
* /vpnoff #echo -e "\
#!/bin/bash\n\n\
sudo /usr/sbin/poff unlim \n\
sudo /etc/ppp/ip-down-rt >/dev/null 2>/dev/null \n\
killall knetstats >/dev/null 2>/dev/null \n\
"\
>/vpnoff
* /etc/ppp/ip-down-rt #echo -e "\
#!/bin/bash\n\n\
route del default dev $2\n\
"\
>/etc/ppp/ip-down-rt
* /etc/ppp/ip-up-rt #echo -e "\
#!/bin/bash\n\n\
route add default dev $2\n\
"\
>/etc/ppp/ip-up-rt
файлы /etc/ppp/ip-down-rt и /etc/ppp/ip-up-rt должны запускаться через стандартные скрипты ppp: ip-up и ip-down (в разный дистрибутивах - по-разному, они располагаются обычно в /etc/ppp соотв: echo "/etc/ppp/ip-up-rt" >>/etc/ppp/ip-up по аналогии для /etc/ppp/ip-down)
* #chmod 755 /vpnon /vpnoff /etc/ppp/ip-down-rt /etc/ppp/ip-up-rt * /etc/sudoers #echo -e "\
Cmnd_Alias PPON=/usr/sbin/pon\n\
Cmnd_Alias PPOFF=/usr/sbin/poff\n\
Cmnd_Alias RTON=/etc/ppp/ip-up-rt\n\
Cmnd_Alias RTOFF=/etc/ppp/ip-down-rt\n\
user1 ALL=NOPASSWD: PPON, PPOFF, RTON, RTOFF\n\
"\
>>/etc/sudoers
* /etc/ppp/chap-secrets #echo -e "\
userlogin PPTP userpassword *\n
"\
>>/etc/ppp/chap-secrets
Всё, при правильно собраном ядре, и пакетах ppp, pptpclient - запускаем под пользователем файл /vpnon - включается интернет, в среде KDE - появляется индикация соединения, отключаем интернет по /vpnoff - индикация (knetstats) пропадает. (c) shpac, 04.01.2009
www.darnet.ru