Настройка VPN Сервера на базе Ubuntu 8.04

ставим pptpd

sudo apt-get install pptpd

редактируем

/etc/pptpd.conf

ищем строки похожие на

localip 192.168.100.4
remoteip 192.168.100.20-51

Снимаем комментарии перед ними
localip — ИП адрес будущего VPN сервера
remoteip — ИПы, которые будут выдаваться клиентам

Редактируем
/etc/ppp/chap-secrets

# client        server  secret                  IP addresses
user             pptpd   pass                192.168.100.0/13

(вот тут структуру бы не нарушать пробелы и табы не путать)

user — логин
pass — его пароль
192.168.10.0/13 — диапазон ИП с которого он будет присоединяться

Дальше пробуем запустить pptpd

sudo /etc/init.d/pptpd restart

всё запустилось, создаём VPN подключение на клиенте.
Не забываем снять галочку на вкладке «безопасность» «требовать шифрование иначе отключаться»
после чего я смог подключится к серверу.

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

echo 1 > /proc/sys/net/ipv4/ip_forward

чтоб это не терялось при перезагрузке надо в

/etc/sysctl.conf раскомментировать net.ipv4.ip_forward = 1

Дальше iptables надо сказать чтоб работали НАТ,ом

iptables -t nat -A POSTROUTING -s 192.168.10.0/16 -o eth0 -j MASQUERADE

Это значит, что всё, что приходит с 192.168.Х.Х слать на eth0 (то что смотрит в инет)

Проверил пинги до своего внешнего сервера (по ипу, всё было замечательно но DNS не отзывались)
для переброски DNS имён я использовал dnsmasq

$sudo apt-get install dnsmasq

в файле

/etc/dnsmasq.conf:

я прописал

listen-address=192.168.10.1

дальше

/etc/init.d/dnsmasq restart

Теперь надо, чтоб автоматически при подключении мне выдавался правильный ДНС сервер.
идём в /etc/ppp/options
раскомментировал строку

ms-dns 192.168.10.1

и вписал туда свой днс сервер.

/etc/init.d/pptpd restart

и в бой.

PS
проявилась одна проблема, что некоторые сайты не желали открываться например mail.ru
один добрый дядька rtzra посоветовал 2 пути решения, одно из которых должно было помочь

первое:

 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS  --clamp-mss-to-pmtu

второе:

 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 128

Мне помогло второе

© glinev