On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

14. Установка PPP соединения вручную

Теперь, когда вы создали ваши файлы /etc/ppp/options и /etc/resolv.conf (и, в случае необходимости, файл /etc/ppp/pap|chap-secrets), вы можете проверить установки, устанавливая PPP соединение вручную. (Как только мы настроим соединение вручную, то мы сможем автоматизировать процесс).

Чтобы сделать это, ваша коммуникационная программа должна уметь завершать свою работу БЕЗ сброса модема. Minicom может делать это - ALT Q (или в старых версиях minicom CTRL Q)

Удостоверьтесь, что вы зарегистрировались как root.

Запустите вашу коммуникационную программу (типа minicom), позвоните на PPP сервер и зарегистрируйтесь как обычно. Если вы должны выдать команду, чтобы запустить PPP на сервере, введите ее. Теперь вы увидите мусор, который вы видели прежде.

Если вы используете pap или chap, то вы увидите мусор сразу после содинения с удаленной системой, без приглашений к регистрации (хотя это бывает не на всех серверах, попробуйте нажать enter и посмотрите, не появится ли мусор).

Теперь выйдите из коммуникационной программы без сброса модема (ALT Q или CTL Q в minicom) и в командной строке Linux (от root) напечатайте

______________________________________________________________________

pppd -d -detach /dev/ttySx 38400 &
______________________________________________________________________

-d опция включает отладку - все подробности установки ppp соединения будут записываться в ваш системный лог - что очень пригодится, если у вас появятся проблемы.

Лампочки на вашем модеме должны теперь вспыхивать, поскольку PPP соединение установливается. Это будет продолжаться короткое время, пока PPP соединения не будет установлено.

В этой точке вы можете посмотреть интерфейс PPP, дав команду

______________________________________________________________________

ifconfig

______________________________________________________________________

Кроме устройств ethernet и loopback вы должны увидеть еще кое-что вроде:

  ______________________________________________________________________
  ppp0     Link encap:Point-Point Protocol
           inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
           UP POINTOPOINT RUNNING  MTU:552  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0
  ______________________________________________________________________
Где
  • inet addr:10.144.153.10 IP адрес вашего конца соединения.
  • P-t-P:10.144.153.5 IP адрес СЕРВЕРА.
(Естественно, ifconfig будет сообщать не эти IP адреса, а те, которые используются вашим PPP сервером.)

Обратите внимание: ifconfig также сообщает вам, что связь UP (активна) и RUNNING (работает)!

Если вы не видите никаких ppp устройств или кое-что вроде

  ______________________________________________________________________
  ppp0     Link encap:Point-Point Protocol
           inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
           POINTOPOINT  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0
  ______________________________________________________________________

Ваше PPP соединение не было создано...см. раздел по отладке ниже!

Также вы должны увидеть маршрут к удаленному хосту (и другим внешним хостам). Чтобы сделать это, дайте команду

  ______________________________________________________________________

  route -n
  ______________________________________________________________________

Вы должны увидеть что-то вроде:

  ______________________________________________________________________
  Kernel routing table
  Destination     Gateway         Genmask         Flags MSS    Window Use Iface
  10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
  127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
  10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
  default         10.144.153.3    *               UG    1500   0        5 ppp0
  ______________________________________________________________________

Обратите внимание, что мы имеем ДВЕ записи, указывающие на наш интерфейс ppp.

Первая - ХОСТОВЫЙ маршрут (обозначенный флажком H) и это позволяет нам видеть хост, с которым мы соединены - но ничего больше.

Вторая - маршрут, заданный по умолчанию (установленный опцией pppd defaultroute. Это - маршрут, который говорит, чтобы наш Linux PC посылал любые пакеты, НЕ предназначенные для локальной сети(ей) ethernet - для которой мы имеем свои сетевые маршруты - на PPP сервер непосредственно. Далее PPP сервер отвечает за маршрутизацию наших пакетов в Интернет и маршрутизацию ответных пакетов обратно к нам.

Если вы не видите таблицу маршрутизации с двумя записями, значит что-то неправильно. В частности, если ваш syslog показывает сообщение, сообщающее вам, что pppd не заменяет существующий заданный по умолчанию маршрут, то вы имеете заданный по умолчанию маршрут, указывающий на ваш ethernet интерфейс - который ДОЛЖЕН быть заменен в соответствии с указанным сетевым маршрутом: ВЫ МОЖЕТЕ ИМЕТЬ ТОЛЬКО ОДИН ЗАДАННЫЙ ПО УМОЛЧАНИЮ МАРШРУТ!!!

Вы должны будете исследовать ваши файлы инициализации системы, чтобы выяснить, где устанавливается этот заданный по умолчанию маршрут (используется команда route add default...). Измените эту команду на что-нибудь типа route add net....

Теперь проверьте связь 'пингуя' сервер по IP адресу как сообщено в результате выполнения команды ifconfig, то есть.

______________________________________________________________________

ping 10.144.153.51

______________________________________________________________________

Вы должны получить что-то вроде

  ______________________________________________________________________
  PING 10.144.153.51 (10.144.153.51): 56 data bytes
  64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
  64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
  64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
  64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms
  ______________________________________________________________________

Эта распечатка будет продолжаться до бесконечности - остановите ее нажатием CTRL C, и в этой точке вы получите более подробную информацию:

  ______________________________________________________________________
  --- 10.144.153.51 ping statistics ---
  4 packets transmitted, 4 packets received, 0% packet loss
  round-trip min/avg/max = 170.7/219.2/328.3 ms
  ______________________________________________________________________

Итак, все хорошо.

Теперь попробуйте пинговать хост по имени (не имени PPP сервера непосредственно, а хоста в другом месте, про который вы ЗНАЕТЕ, что он наверняка работает). Например

______________________________________________________________________

ping sunsite.unc.edu
______________________________________________________________________

При этом появится небольшая пауза, поскольку Linux получает IP адрес по заданному FQDN, который вы 'пингуете' от DNS, который вы определили в файле /etc/resolv.conf - так что не волнуйтесь (но вы будете видеть мигание лампочек вашего модема). Короче, вы получите распечатку типа

  ______________________________________________________________________
   PING sunsite.unc.edu (152.2.254.81): 56 data bytes
  64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
  64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
  64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
  64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
  64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms
  ______________________________________________________________________

Снова, остановите вывод, нажимая CTRL C, и получите статистику ...

  ______________________________________________________________________
  --- sunsite.unc.edu ping statistics ---
  5 packets transmitted, 5 packets received, 0% packet loss
  round-trip min/avg/max = 169.8/176.3/190.1 ms
  ______________________________________________________________________

Если вы не получаете ответа, попробуйте попинговать IP адрес DNS сервера вашего ISP. Если вы получаете результат от него, то похоже, что у вас проблема с файлом /etc/resolv.conf .

Если это не работает, то у вас проблема с маршрутизацией, или у вашего ISP проблема с маршрутизацией пакетов обратно к вам. Проверьте вашу таблицу маршрутизации как показано выше и если она в порядке, войдите в контакт с вашим ISP. Хороший тест ISP - использовать для соединения другую операционную систему. Если вы можете выбраться дальше вашего ISP, тогда проблема - на вашем конце.

Если все работает, закройте соединение, напечатав

______________________________________________________________________

ppp-off
______________________________________________________________________

После короткой паузы, модем должен повесить трубку.

Если это не работает, или выключите ваш модем или запустите вашу коммуникационную программу и прервите модем вводом +++, и затем, получив ответ модема - OK, "положите трубку" командой ATH0.

Возможно вам также понадобиться очистить файл блокировки, созданный pppd

______________________________________________________________________

rm -f /var/lock/LCK..ttySx
______________________________________________________________________

Назад       Содержание       Вперёд