23 сент. 2008 г.

Проблема с VPN (& FTP) из-за NAT

Столкнулся с неприятной проблемой - у меня в офисе инет раздается через проксю, а ssh и vpn - маскарадится напрямую (дабы не заморачиваться с настройками и пробросом портов). И если с шеллом проблем никаких нет, все как из ружья работает, то с vpn вышла оказия - соединение на заведомо рабочий vpn-сервер не проходит, зависая на проверке логина-пароля. Сам PoPToP в логах ругается на что-то там связанное с LCP-таймаутами. Короче, полный и бесповоротный реконнект. Гугление по сабжу и проглядывание манов показало следующее (углубляться в методологию и причинно-следственные связи решения не хочется да и при авральном решении вопроса не так и важно) - для правльиного маскарадинга VPN (а также, как выяснилось и FTP) обычной подмены заголовков пакетов недостаточно и требуется более глубокая их модификация. Сам модуль NAT-a этого сделать не может и поэтому для решения вставшей задачи (а у кого-то эта задача - активный FTP-коннект из-за маскарадинга) требуются следующие kenrel-модули: ip_nat_pptp и ip_nat_ftp соответственно. Подгрузив оные modprobe'ом, мы получаем щастие.
Для совсем экстаза пихаем их в автозагрузку, для чего в /etc/modules (в случае Debian Etch, в других ОС файлик с автозагружаемымми модулями может варьироваться) пишем построчно оба эти модуля в конце файла, не забывая EOF (то бишь пустую строку в конце).