Расскажу в этой заметке схему организации подключения IPSec через каналообразующее оборудование ZyXEL P-791R (SHDSL).
Схема проста(см. картинку выше):
- CO-модем настроен в режиме моста
- СРЕ-модем настроен в режиме роутера с РРРоЕ сессией на внешнем интерфейсе
- после СРЕ-модема стоит ZyXEL ZyWALL 35, который поднимает IPSec-тунель к удаленному хосту во внешней сети
Версия ПО на СРЕ-устройстве такова:
> sys atsh
RAS version : V3.40(BT.3) | 6/21/2005
Ram Size : 16384 Kbytes
Flash Type and Size : AMD 16Mbits*1
romRasSize : 1276650
bootbase version : V1.14 | 11/10/2003
Product Model : Prestige 791R
MAC Address : 00134955504F
Default Country Code : FF
Boot Module Debug Flag : 00
RomFile Version : 37
RomFile Checksum : 5245
RAS F/W Checksum : ce07
SNMP MIB level & OID : 060102030405060708091011121314151617181920
Main Feature Bits : 86
Other Feature Bits :
7a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 13 00 00 00
Теперь о проблеме.
Проблема заключается в том, что на СРЕ-модеме при поднятой РРРоЕ-сессии MTU устанавливается в размере 1492(RFC2516). Таким образом IPSec тунель поднимается, но большие пакеты при этом не пролазят. Чтобы решить данную проблему есть несколько вариантов.
Вариант №1: можно зайти на СРЕ-модем через терминал в меню 24. System Maintenance -> 8. Command Interpreter Mode и выполнить команду
ip ifconfig wanif0 <IP> 0xffffffff mtu 1472 — тут нужно знать адрес и маску на интерфейс wanif0
Минус этого варианта в том, что после перезагрузки СРЕ-модема введенные команды улетят в никуда и придется снова их вводить.
Вариант №2: обновить версию прошивки модема до версии и в том же меню24. System Maintenance -> 8. Command Interpreter Mode выполнить команду
ip mtu <size> -<size> значение MTU
При таком варианте после перезагрузки устройства обеспечена работа IPSec.