Настройка PPTP


Для начала отрубаем ненавистный network-manager, иначе будет все портить, network-manager - то немногое что меня бесит в убунту:
 
sudo /etc/init.d/NetworkManager stop # или
sudo /etc/init.d/network-manager stop # в зависимости от дистрибутива
 
Лучше самим посмотреть в /etc/init.d/ как он зовется.
 
Настраиваем локалку:
 
sudo nano /etc/network/interfaces
 
И заполняем примерно следующим образом:
 
auto lo
iface lo inet loopback
iface eth0 inet static
address 10.9.2.156
netmask 255.255.255.0
gateway 10.9.2.1
auto eth0
 
Прописываем dns:
 
sudo nano /etc/resolv.conf
 
nameserver 10.0.1.1
 
Перезапускаем сеть после внесения изменений:
 
sudo /etc/init.d/networking restart
 
Пингуем шлюз:
 
ping 10.9.2.1
 
Если все нормально - идем дальше, к настройке маршрутизации.
 
Записи маршрутизации можно посмотреть командой:
 
netstat -n -r
 
Добавляем необходимые маршруты чтобы локальные ресурсы были доступны даже при установленном VPN-соединении (данные узнаем у провайдера):
 
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.2.1 eth1
 
sudo route add -net 172.21.0.0 netmask 255.255.0.0 gw 10.9.2.1 eth1
 
Далее настраиваем VPN.
 
Ставим пакет:
 
sudo aptitude install pptp-linux #Point-to-Point Tunneling Protocol (PPTP) Client
 
или качаем с любого компьютера с выходом в интернет этот пакет и ставим:
 
sudo dpkg -i pptp-linux
 
Также нужен ppp, но он скорее всего уже стоит.
 
Создаем подключение и запускаем:
 
sudo pptpsetup --create VPN --server 10.0.1.1 --username you_user --password you_pass --start
 
Если выдаст ошибку:
 
sh: strings: command not found
/usr/sbin/pptpsetup: couldn't find MPPE support in pppd.
 
(Microsoft Point-to-Point Encryption (MPPE) — протокол шифрования данных, используемый поверх соединений PPP)
 
То надо установить binutils:
 
sudo apt-get install binutils
 
(если нет альтернативного канала,  качаем из интернета)
( Binutils является набором средств разработки, содержащим компоновщик, ассемблер и другие средства для работы с объектными файлами и архивами.)
 
И снова пробуем:
 
sudo pptpsetup --create VPN --server 10.0.1.1 --username you_user --password you_pass --start
 
Если пишет что-то типа "Cannot determine ethernet address for proxy ARP !" то (ARP (англ. Address Resolution Protocol — протокол определения адреса) — использующийся в компьютерных сетях протокол низкого уровня, предназначенный для определения адреса канального уровня по известному адресу сетевого уровня.) :
 
sudo nano /etc/ppp/peers/VPN
 
и добавляем туда:
 
defaultroute # автоматическое добавление маршрута
replacedefaultroute
 
Для автоматического подключения при разрыве соединения туда же можно добавить (5000 попыток подключения с интервалом в 10 сек.):
 
persist
maxfail 5000
holdoff 10
connect /bin/true
 
И еще раз пробуем:
 
sudo pptpsetup --create VPN --server 10.0.1.1 --username you_user --password you_pass --start
 
С третьей попытки соединение установилось, пинг во внешнюю сеть пошел)
 
Теперь для запуска соединения пишем:
 
sudo pon VPN
 
Для остановки:
 
sudo poff VPN
 
И последний штрих, добавляем запуск подключение, маршрутизацию и отключение network-manager в автозагрузку:
 
sudo nano /etc/rc.local
 
/etc/init.d/network-manager stop
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.2.1 eth1
route add -net 172.21.0.0 netmask 255.255.0.0 gw 10.9.2.1 eth1
pon VPN

Aug. 13, 2010