Подключаем интернет через Lucky.net с помощью mpd5 на pptp.

25.11.2010 - 13:18

Есть у меня один "объект", где стоит лежит на столе сервак, довольно мощный (на 2004 год), на котором крутится 2003. Есть кучка юзеров, с виду - стайка, которая гордо кличет себя "коллектиф!", но сути дела это не меняет. Так вот, и входит в ареал обитания коллектива 2 инет канала.

  1. Радио Lucky.net на 33 колбасы
  2. Ого! на ДСЛ-модеме со скоростью... явно колбас побольше.

И намучено так, что на ДСЛ стоит DHCP, если комп адрес принимает - шлюз по умолчанию - адрес модема и инет идёт. Но заманухис-то в том, что клиент банки хотят работать через Радио-канал, потому как там статический ip, который прописанный в доверительном списке самих банков. Геммороя - на неделю для 3-х проктологов. Решено было поднимать FreeBSD. Пришлось порыться в барахле в серверной, нашёл мамку с АМД 1800+, правда там попухло 23 кондёра, чиста канкретна попухло. Перепаял, собрал, поставил 3 сетевушки:

  1. rl0 - Ого!
  2. rl1 - Lucky.net
  3. rl2 - локалка

Подключение к Lucky.net реализовано через PPTP. ip-адрес статический, адрес гейта - мзвестен, вписываем все настройки для сетевушки, можно в rc.conf, можно через sysinstall, кто как любит. Краткий экскурс, чтобы известно было какие адреса куда и где:

  • локалка - 192.168.1.0/24
  • интерфейс Lucky.net - 10.a.b.x/24
  • gateway - 10.a.b.1
  • DNS1 - 62.244.62.244
  • DNS2 - 193.193.193.100
  • VPN - vpn.lucky.net

Решил использовать мопед (mpd5), так как он способен отслеживать состояние канала, и, в случае обрыва, его восстановить. Итак, ставим mpd5 из портов.

# cd /usr/ports/net/mpd5
# make install clean

После установки идём править конфиг мопеда. Мопед - универсальная штука, но и очень проста в установке/настройке/работе. Предусмотрительно бы конфиг, для начала, скопировать, потому как в нём описано много ситуаций на все случаи жизни, в часности даже для тех случаев, когда инет припаян к Вашему LPT-порту. Пример настройки мопеда уже приводился на этом сайте, но пример для рррое и там всё просто, шо аж неинтересно (по-сути, для pptp та же петрушка, но мы сделаем вид, что этого не знаем Winking. Итак, конфиг лежит по адресу
/usr/local/etc/mpd5/mpd.conf
мы его открываем и удаляем всё ненужное, что касается серверов, клиентов отличного чего-то от pptp, да и сам блок настройки сервера тож удаляем.
Хотя, мож кто хочет - пусть комментирует. Happy
Должно остаться что-то типа:
startup:
#блок отвечает за web-сервер, который подымается самим мопедом, с помощью которого вы можете удалённо следить за состоянием подключения.
#этот блок подробно описан в статье "Настройка MPD в качестве PPPoE клиента"
        configure mpd users
#создание админской учётки
        set user <user_name> <password> admin
#создание учетки пользователя
        set user <user_name> <password>
        configure the console
        set console self 127.0.0.1 5005
        set console open
        configure the web server
        set web self 0.0.0.0 5006
        set web open

default:
        load pptp_client

#Собственно, описание подключения, всё взято по-умолчанию и изменено лишь 3 позиции - логин, пароль и адрес VPN-сервера
pptp_client:
        create bundle static B1
#создание роутинга по-умолчанию
        set iface route default
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0

        create link static L1 pptp
        set link action bundle B1
        set auth authname <login>
        set auth password <password>
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set pptp peer <ip or name of VPN-server>
        set pptp disable windowing
        open

далее, прописываем запуск мопеда в rc.conf:
mpd_enable="YES"
mpd_flags="-b"

и заводим мопед:
# /usr/local/etc/rc.d/mpd5 start

Слушаем звук мотора, балуемся газком и дышим выхлопом... покрайней мере я так думал, но вот же на!

  1. интерфейс ng0 - поднят
  2. внешний ip-адрес присвоен
  3. DNS, VPN - пингуются
  4. ping ya.ru
    - все пакеты потеряны, но ip-адрес сервера засветился, значит ДНС работает

Смотрим

netstat -rn

а точнее - результат, где написан наш дефолтный гейтвей. Он, как и прежде - 10.a.b.1, хотя, судя по тому, как в винде он резво сменился на 62.244.x.254, должен быть таким же. Пробуем удалить старый и поставить новый - фиг (здесь могут быть дети!) говорит, что не видит. Понятно, потому что мы удаляем тот гейт, через который должно видеть новый. Не буду описывать все те действия, которые были опробованы в течении целого дня на пару с автором сайта, сразу перейду к делу - нужно удалить default gateway из таблицы маршрутизации, но в памяти (у себя) оставить, а через него последовательно добавлять адреса DNS1, DNS2, VPN, после чего default gateway, который нам нужен установится автоматически. Я когда увидел, чуть не упал, хорошо, что сидел на стуле Happy Перед нами последний вопрос - автоматизация процесса, т.к. кампутер - машина умная, должна сама всё делать. Вдруг война, я на фронте (тьфу-тьфу) тяну кабель связи под пулями, а тут звонок на мобильный с голосом главбуха: "у нас свет выключили на час, мы все включили, а клиент банк не работает!" и мне отпрашивайся у подполковника с резоном "я сча подниму инет, шоб заработал клент-банк и бегом полезу дальше тянуть"?
Итак, создаем /etc/rc.local, где прописываем последние шаги мучения:
#удаляем default gateway
route delete default
#добавляем DNS1 через старый гейт (который мы помним Happy
route add -host 62.244.62.244 10.a.b.1
#добавляем DNS1
route add -host 193.193.193.100 10.a.b.1
#добавляем VPN
route add -host 193.193.193.124 10.a.b.1

и фсё! Магическим образом, дефолт гейт, который нам нужен, пропишется автоматически, если не так, то в этот же rc.local допишем исчо одну строчечку:
route add default 62.244.x.254

Наслаждаемся жизнью, она прекрасна, за исключением тех случаев, что бывают постоянно и не прекращаются.
Как я уже говорил, мне нужно через один сервер запустить/выпустить 2 интернет-канала, которыми должны пользоваться одновременно, чем я сейчас и занимаюсь. Как только закончу - ждите следующей статьи с описанием и байками.
Vaya con dios, amigos!

Ваша оценка: Нет Средняя: 4 (3 голосов)

Комментарии:


При наличии двух каналов инета, можно ли заставить pptp клиента (mpd) поднимать подключение по определенному каналу.
FreeBSD 8.2-RELEASE. MPD5
Заранее спасибо



можно