we are sorry, we are open

11.10.2003

Подключение циски по PPPoE, плюс NAT на одном интерфейсе

СисАдминство — Тэги: , — Zed @ 17:31:23.

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

  • циска 2610 c IOS версии 12.2(8)T:
    IOS (tm) C2600 Software (C2600-IS-M), Version 12.2(8)T,  RELEASE SOFTWARE 
    (fc2)
    System image file is "flash:c2600-is-mz.122-8.T.bin"
  • ADSL-модем Corecess Romance в режиме бриджа;
  • свитч 3com;
  • ну и компьютер конечно.

PPPoE сервер также был на циске, но думаю это значения иметь не должно.

Для подключение по PPPoE мы должны иметь имя и пароль, выданные нашим провайдером, например имя — oe1919, пароль — Pa$$worD99.

К сожалению указанная модель циски имеет только один Ethernet-интерфейс, поэтому пришлось вешать на нём и PPPoE-клиента, и NAT. Думаю что в случае с циской с двумя Ethernet-интерфейсами настройка сложнее не будет.

Схема подключения

Схема сети проста — циска, компьютер и модем включены в один свитч. Модем, настроен в режим бриджа, т.е. тупо отправляет пакетики с одного интерфейса на другой и наоборот.

Конечно было бы правильнее включить модем в отдельный интерфейс циски, а всю локальную сеть на другой, но второго Ethernet-интерфейса у нас нет.

[— добавлено 20040613 >>>

А вот если свитч поддерживает ВЛАНы, то можно попробовать отделить ethernet интерфейсы циски и модема в один ВЛАН, а остальную сеть во вторую, при этом циска должна обязательно входить в оба ВЛАНа. У меня не было под рукой умного свитча так что эту схему я не проверял, но думаю всё должно получиться.

<<&lt добавлено 20040613 —]

Настройка циски

Ниже приводится конфиг циски в части, касающейся PPPoE:

!
vpdn enable
!
vpdn-group 1
 request-dialin
  protocol pppoe
!
!
interface Ethernet0/0
 ip address 10.0.0.1 255.255.255.0
 ip nat inside
 no ip mroute-cache
 no keepalive
 pppoe enable
! использовать интерфейс dialer1 в качестве шаблона:
 pppoe-client dial-pool-number 1
 no cdp enable
!
interface Dialer1
 ip address negotiated
 ip mtu 1492
 ip nat outside
 encapsulation ppp
 no ip mroute-cache
 dialer pool 1
 dialer-group 1
 no cdp enable
 ppp authentication pap callin
 ppp pap sent-username oe1919 password Pa$$worD99
!
ip nat inside source list 10 interface Dialer1 overload
!
ip route 0.0.0.0 0.0.0.0 Dialer1
!
access-list 10 permit 10.0.0.0 0.0.0.255
!
dialer-list 1 protocol ip permit
!
!

Думаю комментарии здесь не нужны.

На сайте циски можно посмотреть пример для циски с двумя интерфейсами:
http://www.cisco.com/en/US/tech/tk175/tk15/technologies_configuration_example09186a0080126dc0.shtml

Есть один момент, на сайте циски в конфиге интерфейса Dialer1 указана вот такая строка «ppp authentication pap».

У меня же заработало только с вот такой строкой — «ppp authentication pap callin».

Параметр callin означает «Authenticate remote on incoming call only», т.е. что-то вроде «запрашивать аутентификацию удалённо только на входящие вызовы», если я правильно перевёл указанную фразу.

Если есть необходимость и желание, то можно поиграть параметрами dialer в интерфейсе Dialer1, например «dialer idle-timeout» позволяет указать время простоя перед отключением от PPPoE сервера, думаю что для этого на обеих сторонах соединения не должен быть включен keepalive, либо параметр «dialer persistent» — соединяться даже если нет необходимости, т.е. постоянно быть на связи.

Проверка состояния, сброс сессии

Посмотреть состояние соединения можно командой «show vpdn»:

test_cs#sh vpdn

PPPoE Tunnel and Session Information Total tunnels 1 sessions 1

PPPoE Tunnel Information

VPDN group: 1
Session count: 1

PPPoE Session Information
SID       RemMAC          LocMAC       Intf     VASt  OIntf         VLAN/
                                                                    VP/VC
53306  0001.4232.eed3  0005.5e82.0880  Vi1      UP    Et0/0

Смотрим какие подключения у нас есть:

test_cs#who
    Line       User       Host(s)              Idle       Location
*  0 con 0                idle                 00:00:00

  Interface      User        Mode                     Idle     Peer Address
  Vi1                     Virtual PPP (PPPoE ) 00:00:00

А командой «sh int d1» можно посмотреть адрес выданный нам сервером.

Сбросить сессию можно командой «clear vpdn tunnel pppoe».

Конечно это не все команды, которые могут пригодиться при работе с PPPoE.

Компьютер

На интерфейс компьютера назначаем адрес из сегмента 10.0.0.0/24, и указываем в качестве шлюза по-умолчанию адрес циски на Ethernet-е (10.0.0.1). Проверяем — всё работает — даже «пинги пингуются и тресроуты трейсятся» 🙂

Простое подключение циски с одним Ethernet-ом, без NAT-а

Если нам не нужен NAT, а мы хотим просто подключить по PPPoE только саму циску, то конфиг немного упрощается:

!
vpdn enable
!
vpdn-group 1
 request-dialin
  protocol pppoe
!
!
interface Ethernet0/0
 no ip address
 no ip mroute-cache
 no keepalive
 half-duplex
 pppoe enable
 pppoe-client dial-pool-number 1
 no cdp enable
!
interface Dialer1
 ip address negotiated
 ip mtu 1492
 encapsulation ppp
 no ip mroute-cache
 dialer pool 1
 dialer-group 1
 no cdp enable
 ppp authentication pap callin
 ppp pap sent-username oe1919 password Pa$$worD99
!
!
ip route 0.0.0.0 0.0.0.0 Dialer1
!
dialer-list 1 protocol ip permit
!

Малик.
20031011.

Дополнение от 20060713.

При настройке циски с двумя ethernet-интерфейсами столкнулся с проблемой — у клиентов из ЛАН открывались только некоторые сайты, а в случае с ФТП — только список файлов. Например при подключении telnet-ом на 80-й порт сайта mail.ru с компьютера из локальной сети страничка не отдавалась (таймаут), то же самое с самой циски работало нормально. Подозрение на непроходимость больших пакетов не подтвердилось — пинги с размером пакетов в 1400 байт проходили нормально.

На сайте компании Циско было найдено описание проблемы:
Troubleshooting MTU Size in PPPoE Dialin Connectivity.

Вкратце проблема из-за несоответствия MTU на компьютерах клиентов и серверов (1500) и на PPPoE-соединении роутера (1492), это приводит к тому, что пакеты от сервера размером больше 1492 байт дропаются, а при отфильтровывании ICMP-сообщений сервер не узнает об убиении его пакетов.

Проблема решилась добавлением одной строки в конфигурацию внутреннего интерфейса нашей циски:

!
interface FastEthernet0/0
 description LAN
 ip nat inside
 ip tcp adjust-mss 1452
! именно 1452, а не 1492
!

 

   

Нет комментариев »

Комментариев пока нет.

Написать комментарий

Blue Captcha Image
Новый проверочный код

*

Последние комментарии:

Powered by WordPress (34 queries. 0,309 seconds)