Настройка интернета Магинфо в Linux v.2

Автор: Павел Вязовой

Я решил не трогать старую статью со старыми комментариями, а опубликовать новую, пусть будет свежее обсуждение. В этой версии я постарался описать шаги по настройке подробнее, чтобы меньше возникало вопросов.

Редактировать буду по мере накопления информации


Настройка интернета магинфо в Linux

Настройка через NetworkManager в Ubuntu 10.04+, Fedora Russian remix и других дистрибутивах (другие не проверял)

Настройка описана здесь: lug-mgn.ru/…

Старый способ - правка конфигурации pptp

Во-первых, для подключения вам понадобится pptp-клиент. Скорее всего он уже есть в вашем дистрибутиве, убедиться в его наличии можно: необходимо открыть терминал и ввести pptp, если выйдет несколько строк типа “pptp version 1.7.2” и т.д. - он у вас есть. Иначе вылетит что-нибудь типа “нет такого файла”, “неверная комманда”, “command not found”, “no such file or directory” и т.п.

Если у вас не оказалось pptp и вы не можете установить его средствами дистрибутива, т.к. вы ещё не настроили интернет - постарайтесь скачать пакет вручную на сайте дистрибутива и установить. Пакет должен называться pptp, pptp-linux или pptp-client, но может называться и по другому. Например, вот несколько адресов:

  • Ubuntu: http://packages.ubuntu.com/search?keywords=pptp-linux
  • Debian: http://packages.debian.org/search?keywords=pptp-linux
  • Archlinux: http://www.archlinux.org/packages/pptpclient

Теперь процесс настройки по шагам:

1) Необходимо отредактировать конфиг pptp (все действия производятся в окне терминала):

  • Предположим, что вы имеете настроенную средствами дистрибутива локальную сеть (т.е. ping vpn.mgn.ru даёт положительный результат)
  • Делаем резервную копию файла /etc/ppp/options: sudo cp /etc/ppp/options /etc/ppp/options.backup
  • Открываем конфиг на запись: sudo nano /etc/ppp/options
  • Пишем в него следующее (поменяйте ВАШ-VPN-ЛОГИН на свой vpn-логин):

local
lock
detach
persist
maxfail 10

mtu 1512
mru 1512

require-mppe-40
require-mppe-8
require-mppe

lcp-echo-interval 30
lcp-echo-failure 5

require-mschap-v2
refuse-pap
refuse-chap
refuse-mschap
refuse-eap

defaultroute

user ВАШ-VPN-ЛОГИН
noauth

Сохраняем и выходим из редактора nano (Ctrl+o затем Ctrl+x)

2) Теперь необходимо отредактировать файл /etc/ppp/chap-secrets, пишем туда:


ВАШ_VPN-ЛОГИН * ВАШ_ПАРОЛЬ *

Сохраняем. Далее в консоли выполняем:

sudo chmod 400 /etc/ppp/chap-secrets

3) Теперь завершающий шаг: при каждом подключении необходимо поднимать маршруты до впн-сервера и днс-серверов и запускать pptp-клиент. Мы запишем все эти действия в простейший скрипт, при запуске которого будет подниматься интернет. Этого вам хватит для того, чтобы выйти в интернет и начать осваивать linux в поисках более адекватного решения. Думаю самое адекватное решение - настройка через Network Manager (описана в начале статьи).

Итак, открываем редактор: nano ~/vpn.sh и пишем следующее:


sudo /sbin/route del default
sudo /sbin/route add -net 192.168.55.32 netmask 255.255.255.224 gw <ваш_шлюз>
sudo /sbin/route add -net 79.134.0.0 netmask 255.255.255.252 gw <ваш_шлюз>
# для 100-мбит локалки
sudo /sbin/route add -net 172.16.0.0 netmask 255.240.0.0 gw <ваш_шлюз>
sudo /sbin/route add -net 192.168.0.0 netmask 255.255.0.0 gw <ваш_шлюз>
sudo pptp vpn.mgn.ru

Не забудьте заменить <ваш_шлюз> на адрес вашего основного шлюза. Его можно узнать у техподдержки провайдера, или, если вы знаете свой ip-адрес, заменив в этом адресе цифры после третьей точки на единицу.

Теперь необходимо дать скрипту права на выполнение:

chmod +x ~/vpn.sh

Запускать интернет следующей коммандой:

~/vpn.sh


Примечание для старых дистрибутивов: в старых ядрах (не скажу точно до какой версии) поддержка шифрования (MPPE) для ppp была отдельным модулем (а когда-то вообще требовалось накладывать патчи). Так что можно попробовать сделать find /lib/modules -name “*mppe*” и подгрузить найденный модуль. Пользователям более-менее современных дистрибутивов - не забивайте голову, примечание не для вас.

P.S. Может быть ещё для BSD-семейства описать процесс кто-то сможет?

P.P.S Опечатки и ошибки пишите в комментариях, или мне лично в конференции lug-mgn@conference.jabber.ru - буду править.

22.06.2010 - 23:42
Почему-то markdown сожрал два P.S. в конце

Да, оффициально разрешаю пинать меня на предмет обновления статьи. А то пол года уже собирался дополнить её, а дело то пятиминутное.
23.06.2010 - 08:18
для мандривы (да и наверно для всех рпм дистрибутивов) можно использовать vpnpptp
http://code.google.com/p/vpnpptp/

23.06.2010 - 21:34
ИМХО опции лучше прописывать в отдельном "провайдерском" файле, который нужно создать в каталоге /etc/ppp/peers.
И еще: у меня работает без mtu 1512 и mru 1512.
05.04.2011 - 17:15
А можно по подробней как это сделать ,а то я новичок .
24.06.2010 - 14:03
mtu/mru могут быть специфичны для конкретного провайдерского оборудования. Мне, помнится, одно время приходилось уменьшать mtu до 1300, чтобы всё нормально работало.
01.07.2010 - 00:21
Вообщем да, это работает.
06.10.2010 - 19:32
когда будут срины? поставил, пытаюсь настроить через NM. что-то никак. подумываю уже через консоль
14.10.2010 - 03:42
Гость, попробуй через консоль) Там всё просто) Линукс это прежде всего конфиги/скрипты. Хотите прокачиваться - вникайте, читайте маны. Гуйня для новичков (в части настройки)

Инструкция для BSD: (Паша, добавь)
Всё просто, настраивается через /etc/hostname.xxx, где xxx - имя интерфейса

#ifconfig - смотрим как наз-ся наши интерфейсы
обычно: rl0 - Realtek8139, re0 - Realtek8169, xl0 - 3c905(возможно, и другие 3Com)

Сначала настраиваем опорную сеть:
root@bsd:~# cat /etc/hostname.rl0
inet 192.168.xxx.yyy 255.255.255.0
!route delete -inet 79.134.0.0/30
!route delete -inet 192.168.55.32/27
!route add -inet 79.134.0.0/30 192.168.xxx.1
!route add -inet 192.168.55.32/27 192.168.xxx.1
Где xxx - подсеть, yyy - хост
Можно просто написать:
inet dhcp
Но в этом случае я не знаю как поднять статические маршруты до DNS & VPN

Далее, настраиваем интерфейс для VPN:
root@bsd:~# cat /etc/hostname.tun0
!/usr/sbin/ppp -unit0 -ddial mgn >/dev/null 2>&1
Где mgn - название нашего провайдера, см.ниже. Может быть любым(разумным).
unit0 задает что интерфейс поднимется именно tun0 - актуально для файрвола

Теперь самая сложная часть, собсно конфиг PPP:
root@bsd:~# cat /etc/ppp/ppp.conf
default:
 set log Phase Chat LCP IPCP CCP tun command

mgn:
 set device "!/usr/local/sbin/pptp --loglevel 0 --nobuffer --nolaunchpppd vpn.mgn.ru"
 set timeout 0
 set lqrperiod 15
 set cd 5
 set redial 5
 set authname ВАШ_VPN_ЛОГИН
 set authkey ВАШ_VPN_ПАРОЛЬ
 set dial
 set login
 set mppe 128 stateless
 accept MSChapV2
 enable lqr
# enable mssfixup
 disable acfcomp protocomp
 disable ipv6cp
 deny acfcomp
# set mtu max 1462
# set mru max 1462
 add! default HISADDR
С такими mtu/mru у меня не ходили большие пакеты, потому закомментил.
Обратите ОСОБОЕ внимание на строку authkey - пароль хранится в конфиге!!!
Перед тем как показывать свой конфиг кому-то, не забудьте удалить/заменить пароль)
Обязательно выполните команды:
#chown 0.0 /etc/ppp/ppp.conf
#chmod 400 /etc/ppp/ppp.conf - так будет безопаснее.
Во всяком случае vi так просто его не перезапишет - ругнется: Read-only file, not written; use ! to override.

#sh /etc/netstart - (пере)запуск всех интерфейсов

Один важный момент. Пакета pptp на свежепоставленной машине может не быть. Его придется скачать предварительно.
Текущие:
ftp://mirror.corbina.net/pub/OpenBSD/4.7/packages/i386/pptp-1.7.2p1.tgz
ftp://mirror.corbina.net/pub/OpenBSD/4.7/packages/amd64/pptp-1.7.2p1.tgz
Для NetBSD чет ваще пакетов не нашел... В-общем ищите сами) Втч для FreeBSD
Устанавливаем при помощи команды:
pkg_add pptp - в текущем каталоге должен сам найти нужную версию, но точно уже не помню

На будущее рекомендую прописать в ~/.profile
export PKG_PATH=ftp://mirror.corbina.net/pub/OpenBSD/4.7/packages/`machine -a`/

На этом пока всё. О настройке PF(PacketFilter) в следующий раз)

ЗЫ Если после поднятия сети не пингуется vpn.mgn.ru - проверьте свой /etc/resolv.conf
root@bsd:~# cat /etc/resolv.conf
lookup file bind
search mgn.ru vpn.mgn.ru ll.mgn.ru
nameserver 79.134.0.1
nameserver 79.134.0.2
14.10.2010 - 03:47
Паша, когда уже поправишь адреса?)
sudo /sbin/route add -net 83.146.102.0 netmask 255.255.255.252 gw <ваш_шлюз>
на
sudo /sbin/route add -net 79.134.0.0 netmask 255.255.255.252 gw <ваш_шлюз>
Тебе ж Майк писал на форуме МИ)
14.10.2010 - 14:26
Сегодня все будет чесно чесно
RSS-материал RSS-материал