Линукс - общий раздел

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

В конце концов, методом проб и ошибок, по крохам собирая информацию, я таки сумел подключиться в Интернету, но скольких бессонных ночей мне это стоило..
И вот недавно я совершенно случайно наткнулся на некий документ, подробно описывающий подключение Линукса к Интернету через ADSL. Оригинал написан на английском, и я решил перевести его на русский для всех тех, кому английский язык тяжеловат для понимания.

В руководстве не рассматривается процесс инсталляции сетевой карты и оно расчитано на пользователей немного знакомых с ОС Линукс и сетями.

Отказ от ответственности:
Данное руководство основано на личном опыте автора и вы можете использовать его на свой страх и риск. Если вы обнаружите какие-либо неточности или ошибки сообщите мне об этом.

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

Надеюсь, у вас не было проблем с инсталляцией сетевой карты для ADSL.
Для начала вам необходимо уменьшить MTU на eth0 до 1500 (при помощи команды 'ifconfig eth0 10.200.1.1 netmask 255.0.0.0 mtu 1500'). Необходимо использовать ядро с поддержкой PPP (Point-To-Point Protocol) и последней версией PPPD. Если вы используете ядро версии 2.2, вам необходим PPPD 2.3.x. Если же используется ядро версии 2.4, версия PPPD должна быть 2.4.х. Чтобы проверить, какая версия PPPD установлена у вас, наберите команду 'pppd —version'. Команда для проверки версии ядра 'uname -a'.
Здесь вы можете скачать последнюю версию PPP.

PPTP-клиент для Линукса — эквивалентна Майкрософтовскому VPN адаптеру. Обычно он устанавливается вместе с системой, но желательно иметь последнюю версию, которую можно скачать здесь.

  Идентификация происходит на сервере провайдера. Чтобы использовать обе возможности, PAP (Unencrypted password) и CHAP (Challenge Handshake Authentication Protocol), необходимо будет создать или отредактировать 2 идентичных файла (/etc/ppp/chap-secrets и /etc/ppp/pap-secrets), добавив в них следующие строки:

"<username>@I<ISP>" "10.0.0.138 RELAY_PPP1" <your password>"

где username — ваш логин, который вы зарегистрировали у провайдера, ISP — имя вашего провайдера (таблица приведена ниже) и your password — ваш пароль для подключения.

 

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

"guest@OActcom" "10.0.0.138 RELAY_PPP1" "Bezeq"

Но имейте ввиду, что такое подключение будет вам очень дорого стоить!

 

Ну и, наконец, пробуем подключиться:

pptp 10.0.0.138 —quirks=BEZEQ_ISRAEL debug user <username>@I<ISP> remotename "10.0.0.138 RELAY_PPP1" defaultroute mtu 1452 mru 1452 noauth

 

Если все прошло удачно, то набрав команду # netstat -r -n вы должны будете увидеть что-то подобное этому:

 Kernel IP routing tableDestination  Gateway      Genmask         Flags  MSS Window  irtt Iface10.200.1.1   0.0.0.0      255.255.255.255 UH       0 0          0 eth0213.8.120.1  0.0.0.0      255.255.255.255 UH       0 0          0 ppp010.0.0.0     0.0.0.0      255.0.0.0       U        0 0          0 eth0127.0.0.0    0.0.0.0      255.0.0.0       U        0 0          0 lo0.0.0.0      213.8.120.1  0.0.0.0         UG       0 0          0 ppp0 

а команда # ifconfig -a выдаст следующие строки:

 eth0      Link encap:Ethernet  HWaddr 00:50:BF:0E:F6:A8          inet addr:10.200.1.1  Bcast:10.255.255.255  Mask:255.0.0.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:51825 errors:0 dropped:0 overruns:0 frame:0          TX packets:56376 errors:0 dropped:0 overruns:0 carrier:0          collisions:109 txqueuelen:100          Interrupt:9 Base address:0xb000lo        Link encap:Local Loopback          inet addr:127.0.0.1  Mask:255.0.0.0          UP LOOPBACK RUNNING  MTU:3924  Metric:1          RX packets:61 errors:0 dropped:0 overruns:0 frame:0          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0ppp0      Link encap:Point-to-Point Protocol          inet addr:213.8.120.98  P-t-P:213.8.120.1 Mask:255.255.255.255          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1452  Metric:1          RX packets:49753 errors:0 dropped:0 overruns:0 frame:0          TX packets:26973 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:10 

 

После этого проверим наше подключение: 'ping ip.addr.ess.here' для удаленного компьютера нашего PPP соединения (в примере вывода команды ifconfig выше, это 213.8.120.1).
Если не работает, повторите вышеописанные шаги. В случае,если все работает, проверим работу DNS, запустив команду 'nslookup <hostname>' или 'host <hostname>' :

Например:
12:39pm :xtuff:/~> host linux.org.il
linux.org.il. has address 192.117.122.34

 

Если ваша система не преобразовывает имена в IP адреса, необходимо проверить конфигурацию DNS. По существу, у вас есть две возможности:

  1. Зависеть от PPP процесса, т.е. получать адрес DNS-сервера автоматически при подключении. Для этого необходимо добавить опцию 'usepeerdns' в файл /etc/ppp/options. (См. ниже комментарии)
  2. Добавить статический адрес DNS-сервера в файл /etc/resolv.conf. Лучшим решением будет адрес DNS-сервера вашего провайдера (См. список)
    В таком случае файл /etc/resolv.conf будет выглядеть приблизительно так:

    10:45am :xtuff:/~> more /etc/resolv.conf
    nameserver 132.68.1.9

 

Если вы установили одну из этих опций, но преобразование имен в IP так и не работает, проверьте, отмечен ли DNS, как опция для преобразования хостов в файле /etc/nsswitch.conf :

hosts: files nisplus nis dns

 

Дополнительную информацию по конфигурации DNS можно найти в документации к Линуксу или 'man 5 resolver'

Отключение соединения

Для завершения соединения вам необходимо сделать следующее:

  1. завершить соединение ppp0
    'ifconfig ppp0 down'
  2. "убить" PPPD процесс
    'killall pppd'

 

Комментарии

Параметры в командной строке, после "pptp 10.0.0.138 —quirks=BEZEQ_ISRAEL" относятся к PPPD. Вместо этого вы можете прописать их в файл /etc/ppp/options, но тогда их будет использовать любое соединение, а не только ADSL.

Важные параметры:
mtu 1452 # подавить баг модема Orcit ?
mru 1452 # подавить баг модема Orcit ?
defaultroute # этот параметр устанавливает PPP соединение вашим шлюзом по умолчанию (стандартно)
usepeerdns # этот параметр позволяет PPPD получать адрес DNS-сервера вашего провайдера автоматически и прописывает его в файл /etc/resolv.conf
noipdefault # Почему-то PPPD предоставляет IP моей локальной сети (т.е. 192.168.0.1), а я не хочу, чтобы кто-нибудь знал об этом.
lcp-echo-interval 60 # Без этих двух параметров PPPD не определяет разрыв соединения
lcp-echo-failure 3
debug # Использование этого параметра позволяет вести логи текущего подсоединения. Часть из них видны в командной строке, другие в файлах /var/log/messages или /var/log/daemon.log

 

Имена наиболее известных провайдеров в Израиле и их обозначения при конфигурировании соединения

 

 		ISP			ISP String===			==========Actcom                ActcomBarak 013             BarakBezeq International   BezintInternet Gold         InzahavIsraserve             IsrasrvNetvision             NetvisionKavey Zahav 012       KzahavInfogate              InfogateUrbis                 Urbis 		
 		Technion                   technionTel Aviv University        tauHebrew Uni of Jerusalem    huji 		

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

Подключение систем *BSD к Интернету через ADSL несколько отличается от подключения Линукса.
Подробное руководство по подключению читайте во второй статье "Руководство по подключению FreeBSD к ADSL"

Источник: www.mulix.org
Перевод: IsraNET