Yellow Leaf - Статьи - Налаштування PPTP-клієнта в Linux

Наведені тут інструкції застосовуються в першу чергу для Debian/Ubuntu, проте, швидше за все, без великих змін ними можна скористатися і на інших дистрибутивах.

По-перше, потрібно встановити кілька пакетів:

По-друге, створюємо файл /etc/ppp/peers/vpn0 наступного змісту:

Нарешті виконуємо команду:

І все працює. У системі має з'явитись новий ppp-інтерфейс. Перевірити це можна командою:

Якщо ж з'єднання не відбувається, можна спробувати виконати команду:

І подивитись які помилки будуть видані на екран.

Якщо потрібно, щоб з'єднання виконувалося автоматично при завантаженні комп'ютера, потрібно додати у файл /etc/network/interfaces рядки:

Коментарі:

Невелике доповнення: щоб усунути весь трафік через vpn потрібно додати в /etc/ppp/peers/vpn0 рядок:

Єдиним недоліком такого підключення є те, що, якщо з якихось причин з'єднання розірвалося, інтерфейс падає і не перепідключається. Мені потрібно було створити підключення, що б воно було на фіксованому інтерфейсі (для створення правил в iptables), при розриві перепідключалося і не перетворювала інтерфейс (що б можна було зручно всю цю справу моніторити по snmp)

Загалом знайшов таке рішення в роутері ASUS wl500gP і сплатив їх конфіг собі

Ну, власне, створюємо файл /etc/ppp/peers/vpn0 з таким вмістом:

noauth refuse-eap user ' ' password ' ' connect true sync pty 'pptp --idle-wait 0 --nolaunchpppd --nobuffer --sync' lock idle 1800 demand maxfail 0 #Відповідає за перепідключення при падінні з'єднання persist ktune default-asyncmap nopcomp noaccomp novj nobsdcomp nodeflate lcp-echo-interval 10 lcp-echo-failure 6 defaultroute #Створимо підключення на інтерфейсі ppp999 unit 999

Anonymous 2011-06-24 11:22:53 (#)

Шановний MooSE, не могли б Ви доповнити статтю нюансами підключення до офісного pptp-сервера (побудованого http://www.ylsoftware.com/news/538) через домашній роутер (типу TRENDnet TEW-432BRP). Кілька годин блукання на форумах успіху не принесли. Безпосередньо, без роутера, все працює.

Не можу :) Та й не хочу :) Тому що я знаю в чому проблема і вирішувати її справа не вдячна. Сабжевий роутер, швидше за все, використовує класичний NAT, описаний ще в RFC 1631. Цей NAT не містить хаків для підтримки PPTP, який defective by design.

Моє ІМХО: або ставити роутер з відповідними хаками, або не використовувати цей арахічний протокол, бо існують куди як більш осудні альтернативи.

Основна проблема PPTP полягає в тому, що він використовує GRE, який не працює через NAT. Є роутери, які палять пакети, що йдуть на tcp/1723 і витягують з них інформацію про тунель, після чого його коректно натиснуть. Але це порушення RFC 1631. Так що нафіг таке щастя.