Настройка системы

Руководство по подключению FreeBSD к ADSL


pptp-1.1.0-binary.tar.gz
pptp-1.1.0-port-files.tar.gz
pptp-linux-1.1.0-1.tar.gz
В случае, если ссылки на данные файлы не работают, сообщите мне об этом. Я вышлю вам их по e-mail.


 

Установка соединения

Заходим в систему под рутом:

$ su — root
Password:
#

Для того, чтобы установить подключение к ADSL у вас должна быть установлена и правильно отконфигурирована сетевая карта.
Это можно проверить с помощью следующей команды:

# /sbin/ifconfig -a

Если карта не определена, вероятно вам придется перекомпилировать ядро системы. (Не спрашивайте меня, как это сделать, для этого существует FreeBSD handbook, просто посмотрите там http://www.freebsd.org/handbook)

 

Установки сетевой карты должны быть следующими:
inet ip: 10.200.1.1
netmask: 255.255.255.0
Если они еще не сделаны, то самое время установить их сейчас:

# /sbin/ifconfig ed0 10.200.1.1 netmask 255.255.255.0 mtu 1500

где ed0 это обозначение вашей сетевой карты

 

Теперь попробуем сделать ping на модем, чтобы убедиться, что связь установлена:

# /sbin/ping -c 3 10.0.0.138

Ответ модема должен быть примерно таким:

 64 bytes from 10.0.0.138: icmp_seq=0 ttl=64 time=0.047 ms64 bytes from 10.0.0.138: icmp_seq=0 ttl=64 time=0.045 ms64 bytes from 10.0.0.138: icmp_seq=0 ttl=64 time=0.045 ms

Если вы не получили подобный ответ, значит, вероятно, что-то вы сделали неправильно. В этом случае проверьте еще раз настройки сетевой карты с помощью команды «ifconfig -a» и убедитесь, что модем сключен в сеть и кабели подсоеденены.

 

 

  • Эти настройки можно записать в файл rc.conf, с тем чтобы при последующих перезагрузках они сохранялись.

    # echo ‘ifconfig_ed0=»inet 10.200.1.1 netmask 255.0.0.0″‘ >> /etc/rc.conf

 

Инсталляция

1. Перейдем в директорию, где находится pptp:

# cd /usr/ports/net/pptpclient

2. Проверим версию установленного порта (pptp):

# cat Makefile | grep ‘PORTVERSION’

Вы можете получать два возможных ответа : `1.0.3′ или ‘1.1.x’. Если у вас установлена более поздняя версия, переходите на шаг 3.
В другом случае, у вас есть две опции:

  • А. Обновить порт (скачать и скомпилировать 1.1.0). Рекомендуется.
    См. шаг 2.1
  • В. Установить патч на версию 1.0.3
    См. шаг 2.2

2.1 Обновим версию порта, если необходимо (Рекомендуется)
Чтобы обновить структуру порта pptp, можно использовать следующую команду:

# cvsup -g -L 2 /usr/share/examples/cvsup/ports-supfile -h cvsup2.freebsd.org -i/ports/net/pptpclient

Если у вас нет `cvsup’ , попробуйте скачать его и затем вернитесь к предыдущему шагу:

# pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/All/cvsup-without-gui-16.1f.tgz

Когда все будет сделано, убедитесь, что версия действительно изменена:

# cat Makefile | grep ‘PORTVERSION’

Теперь вы должны получить ответ `PORTVERSION= 1.1.0′
если это так, перейдем к шагу 3.

 

2.2. Что делать, если вы хотите пропатчить версию 1.0.3

2.2.1. Отредактируйте Makefile с помощью вашего любимого редактора:

# vi /usr/ports/net/pptpclient/Makefile

2.2.2. Закомментируйте эти строки:

MASTER_SITES, MASTER_SITE_SUBDIR, DISTNAME и DISTFILES
и ниже добавьте следующие:

MASTER_SITES= http://vipe.technion.ac.il/
MASTER_SITE_SUBDIR= ~mulix
DISTNAME= pptp-mulix-1.0.3
DISTFILES= pptp-mulix-1.0.3.tar.gz

2.2.3. Обновим контрольную сумму MD5 контейнера (package)
Текущая информация об MD5 хранящаяся в `distfile’ должна быть обновлена до контрольной суммы MD5 архива(package) mulix, так чтобы порт был определен правильно:

# mv distinfo distinfo-backup
# echo ‘MD5 (pptp-mulix-1.0.3.tar.gz) = 74dc5e88e1910b3b25c6c325d08643b7’ > distinfo

2.2.4. Сейчас необходимо указать, чтобы pptp использовал pppd вместо ppp

Создайте контейнер (впоследствии вам будет необходимо удалить его):

# make

Измените рабочую директорию pptp:

# cd /usr/ports/net/pptpclient/work/pptp-linux-x.xx:

Отредактируйте Makefile и замените строку 18:

CFLAGS += ‘-DPPPD_BINARY=»/usr/sbin/ppp»‘ -DUSER_PPP

следующей строкой:

CFLAGS += ‘-DPPPD_BINARY=»/usr/sbin/pppd»‘

Удалите контейнер(package):

# make clean

  3. Мой порт имеет версию pptp-1.1.x, что теперь?

 

Избавляемся от патча ppp:

# cd /usr/ports/net/pptpclient/files
# mv patch-aa ../backup-patch-aa

4. Компиляция:

# cd /usr/ports/net/pptpclient
# make && make install

Имейте ввиду, что иногда некоторые файлы от sourceforge (как например pptp-1.1.0) могут быть довольно проблематичными для компиляции при помощи команды `make’. В случае, если вы не можете скачать архив (package), вам необходимо выполнить команду, чтобы исправить это:

# echo ‘127.0.0.1 prdownloads.sourceforge.net’ >> /etc/hosts

Теперь снова попытайтесь сделать `make && make install’. Если это сработало, не забудте потом удалить:

# cat /etc/hosts | grep -v ‘sourceforge’ > /etc/hosts

Также, если вы хотите сохранить немного места на диске после удачной компиляции, просто напишите:

# make clean distclean

 

Конфигурация

Более исчерпывающую информацию по конфигурации вы можете получить в статье по настройке подключения Линукса к ADSL (см. здесь)
Либо выполняя нижеследующие инструкции.

5. Конфигурация PPPD

Отредактируйте файл /etc/ppp/pap-secrets при помощи вашего любимого редактора

# vi /etc/ppp/pap-secrets

Теперь добавьте следующую строку в этот файл (с кавычками, но без знаков «<>», которые обозначают переменные):

«<user>@I<isp> «10.0.0.138 RELAY_PPP1» «<password>»

Где

<user> — ваш логин, который вы получили от провайдера
<isp> — имя вашего провайдера в специальном формате (см. список провайдеров здесь)
<password> — ваш пароль, который вы получили от провайдера

  • Обратите внимание, что университетские аккаунты не требуют «I» перед именем провайдера

Так, например, если мой логин «xtuff», мой провайдер Internet Zahav и мой пароль «brGzzx3», файл будет выглядеть так:

 "[email protected]" "10.0.0.138 RELAY_PPP1" "brGzzx3"

После того, как вы закончите редактирование, не забудьте удостовериться, что файл отмечен «только для чтения» рутом

# chmod 600 /etc/ppp/pap-secrets

 

5.1 Конфигурация PPP

Отредактируйте файл /etc/ppp/options и раскомментируйте необходимык вам опции. Если файл пуст или вы не уверены что именно вам нужно, используйте это:

#/etc/ppp/options
name «<user>@I<isp>»
noauth
noipdefault
defaultroute
debug

Не забудте удалить комментарии переменных.

 

6. Настройка файла resolv.conf

Создайте пару строк для серверов DNS (primary и secondary) вашего провайдера такого образца:

 nameserver xx.xx.xx.xxnameserver yy.yy.yy.yy

Замените xx и yy на адреса вашего провайдера (см. список)
Может быть достаточно лишь primary DNS. Имейте ввиду, что DNS именно вашего провайдера будут для вас самыми быстрыми, но теоретически вы можете использовать любые действующие DNS других провайдеров.

 

Подключение

Наконец мы подошли к последнему, самому важному пункту руководства, а именно созданию соединения.

Для порта pptp-1.1.x:

# pptp 10.0.0.138 —quirks=BEZEQ_ISRAEL debug user @I
remotename «10.0.0.138 RELAY_PPP1» defaultroute mtu 1452 mru 1452
noauth

Для порта pptp-1.0.x:

# pptp 10.0.0.138 —quirks=BEZEQ_ADSL debug user @I
remotename «10.0.0.138 RELAY_PPP1» defaultroute mtu 1452 mru 1452
noauth

После этого подождите несколько секунда и попробуйте сделать ping на любой «пингуемый» IP-адресс, например:

# ping -c 1 192.114.47.1

Если вы получили положительный ответ, тогда принимайте мои поздравления — вы подключены!!!

 

В дополнение вы можете создать пару скриптов, с помощью которых вы сможете быстро подключаться или отключаться от Интернета.
Вы можете сохранить эти файлы в любой директории, например /sbin. Файл для подключения назовем adsl-up. Путь к нему будет выглядеть так: /sbin/adsl-up
Вы можете просто скопировать нижеследующий код и, в случае надобности лишь изменить пути и названия файлов:

 #!/bin/shkillall -9 pptp                  # This kills all previous connectionskillall -9 pppd                  # This too/sbin/ifconfig ppp0 down         # This makes sure the ppp0 interface                                 # is downrm -rf /var/run/pptp             # We make sure pptp doesn't think                                 #it's already runningroute delete default             # Delete the default route,                                 #if it already exists/sbin/pptp 10.0.0.138 99999999 & # Dial (If that's not where your pptp                                  #  executable is just change                                 # it to the correct path)

Теперь, когда вам надо будет подключиться к Интернету, просто запустите этот скрипт. Не забудьте только сделать разрешение на выполнение:

# chmod +x /sbin/adsl-up

Создадим, также, скрипт для отключения от Интернета. Назовем его adsl-down. Путь к нему будет /sbin/adsl-down. Соответственно, где необходимо, изменим пути и названия файлов:

 #!/bin/sh                   # Just read the comments for the adsl-up file.killall pppdkillall pptp/sbin/ifconfig ppp0 downrm -rf /var/run/pptp

Вот собственно и все 🙂
Если у вас возникли вопросы по данному материалу, либо нашли в нем какие-то неточности, сообщите об этом мне или сразу автору.
Также, вы можете обсудить данный материал на форуме.

Источник: www.penguin.org.il
Автор: Ya’ad Golani
Перевод: IsraNET