2011-01-03 18:15:06 (
рубрика: Linux)
Настройка VPN в linux (ubuntu, AltLinux)
Можно создать скрипт, запускающий соединение, а можно использовать вместе с небольшими системными настройками NetworkManager c nm-applet (и с ним же — под KDE тоже, потому что пока собственный Менеджер Соединений от KDE не работает с VPN, но как заработает, настраивать его нужно будет точно так же). В любом случае запуск/отключение VPN-соединения с помощью находящегося в трее приложения (nm-applet здесь) удобнее: всегда видно наличие или отсутствие этого соединения.
Итак, у нас имеется минимум сведений от провайдера, который поддерживает только M$ системы, а значит, предоставляет пользователю только параметры для TCP/IP и exe-программку для VPN-соединения:
Для TCP/IP-соединения:
1) IP адрес
2) маска сети и, возможно, шлюз (но не обязательно)
3) Адрес DNS-сервера
Для VPN-соединения:
4) логин
5) пароль
Наcтраиваем TCP/IP.
Далее всё, что нам ещё нужно узнать о провайдере, это его шлюз для VPN-соединения, который он также может скрывать. Например, его можно выцепить, исходя из адреса сервера статистики соединений (который предоставляется в обязательном порядке) — если он stats.web.lan, то VPN-шлюз, скорее всего, находится по адресу vpn.web.lan. Если такой адрес пингуется, то всё ОК.
Прописываем эти данные в nm-applet, значок которого находится в трее. Если стоит KDE, то добиваемся того, чтобы в трее этот значок был, как — см. ниже.
1) щёлкаем по значку nm-applet в трее правой кнопкой мышки и выбираем «Изменить соединения», во вкладке «VPN» нажимаем «Добавить»:
2) создаём VPN-соединение с протоколом PPTP:
3) прописываем данные vpn-шлюза (Gateway), логина, пароля во вкладке «VPN» (имеет смысл поставить «show» на пароль, потом он всё равно будет скрыт), остальные галки пока снимаем, если они есть:
4) в «Дополнительно» (Advanced) убираем все галки, оставив одну только на CHAP (если у провайдера другой тип авторизации, то можно попробовать все, но, скорее всего, у него CHAP):
5) во вкладке «Параметры IPv4» прописываем Сервера DNS, если надо (их IP может показываться в
/var/log/messages у AltLinux, у которого в логи при VPN-соединении отображается много разной информации) и домены поиска (это, например — домен провайдера, Яндекса), но вполне возможно, что достаточно будет только выбрать Профиле опцию «Автоматически» (без «только адрес»)и ничего не прописывать:
Файл /etc/ppp/options редактируем, он должен выглядеть так:
$ cat /etc/ppp/options
lock
noipdefault
noauth
replacedefaultroute
nopredictor1
Проверяем VPN-соединение и смотрим в логи /var/log/messages — в ubuntu успешное соединение будет выглядеть как-то так:
Jan 3 18:08:42 murm pppd[5393]: Plugin /usr/lib/pppd/2.4.5//nm-pptp-pppd-plugin.so loaded.
Jan 3 18:08:42 murm pppd[5393]: pppd 2.4.5 started by root, uid 0
Jan 3 18:08:42 murm pppd[5393]: Using interface ppp0
Jan 3 18:08:42 murm pppd[5393]: Connect: ppp0 <--> /dev/pts/3
Jan 3 18:08:46 murm pppd[5393]: CHAP authentication succeeded
Jan 3 18:08:46 murm pppd[5393]: CHAP authentication succeeded
Jan 3 18:08:46 murm pppd[5393]: local IP address 10.4.14.53
Jan 3 18:08:46 murm pppd[5393]: remote IP address 10.0.0.1
Jan 3 18:08:46 murm pppd[5393]: primary DNS address 191.100.128.252
Jan 3 18:08:46 murm pppd[5393]: secondary DNS address 191.100.128.252
Если соединения нет, то смотрим в лог — что не так, думаем и исправляем.
Теперь, чтобы наконец заработал интернет (пока что сеть для нас недоступна, хотя VPN-соединение и есть, но нет маршрутизации), достаточно создать файл
/etc/ppp/ip-up.d/route-traffic со следующим содержанием:
#!/bin/bash
NET="10.0.0.0/8" # вся сетка — см. local IP address в /var/log/messages
IFACE="ppp0" # pptp интерфейс
route add -net ${NET} dev ${IFACE}
route add default gw 10.0.0.1 ppp0
route add default dev ppp0
— здесь 10.0.0.1 как раз тот адрес, который нам показывается как remote IP address
в /var/log/messages
Перезапускаем соединение — если всё верно, то мы в интернете!
Теперь осталось научиться запускать nm-applet в KDE (сначала, он должен там стоять — на всякий случай, чтобы сразу подсоединиться к интернету и гарантировано иметь его ещё на LiveCD при установке, я ставлю основной системой xubuntu, а в ней уже доставляю всё мне необходимое, включая kubuntu-desktop). Для этого идём в
Главное Меню —> Настройка —> Параметры Системы (System Settings) и находим там
Системное Администрирование —> Автозапуск: прописываем nm-applet и во вкладке «Приложение» его свойств нажимаем кнопку «Дополнительные параметры» и ставим галку «Разместить в системном лотке».
Строка запуска nm-applet должна выглядеть так:
ksystraycmd nm-applet
В том же разделе «Системное Администрирование» Параметров Системы идём в Управление Службами, снимаем галку с NetworkManager User Setting Service, останавливаем эту службу и перезапускаем сеанс — всё, иконка nm-applet должна появиться в трее: выбираем в «Соединения VPN» созданное нами соединение и подключаемся! При успешном соединении на иконке отобразится «золотой замочек» (при теме значков Tango).
2010-01-16 19:22:19 (
рубрика: Корневой Форум)
О точности подсчёта.
Если вы внимательно посмотрите на фасовку молока, то наверняка заметите, что разные производители используют разные способы продажи этого товара. Мы все привыкли, что молоко продаётся в пакетах по 1л. Однако, на самих пакетах часто пишут: 1кг, 950мл и пр.. Причём пакеты могут едва заметно отличаться по объёму, но иметь одну и ту же маркировку веса/объёма для одного и того же типа молока по жирности и обработке.
Аналогичные трюки проводят и с другими фасованными товарами: сахар, соль, растительное масло, сметана, крупы и пр.
Поэтому и у нас здесь точность подсчёта цен и расходов по одному и тому же типу товара зависит от указанных обстоятельств. Не говоря о том, что разные люди могут покупать один и тот же товар разных производителей/брендов с совершенно разной ценой.
Пока что вывод статистики по производителям только в планах.