ubuntu vpn server

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

ставим pptpd
[cc lang=”bash”]sudo apt-get install pptpd[/cc]
редактируем
[cc lang=”bash”]/etc/pptpd.conf[/cc]
ищем строки похожие на
[cc lang=”bash”]localip 192.168.100.4
remoteip 192.168.100.20-51[/cc]
Снимаем комментарии перед ними
localip – ИП адрес будущего VPN сервера
remoteip – ИПы, которые будут выдаваться клиентам

Редактируем
/etc/ppp/chap-secrets
[cc lang=”bash”]# client server secret IP addresses
user pptpd pass 192.168.100.0/13[/cc]
(вот тут структуру бы не нарушать пробелы и табы не путать)

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

Дальше пробуем запустить pptpd
[cc lang=”bash”]sudo /etc/init.d/pptpd restart[/cc]
всё запустилось, создаём VPN подключение на клиенте.
Не забываем снять галочку на вкладке “безопасность” “требовать шифрование иначе отключаться”
после чего я смог подключится к серверу.

Дальше чтоб можно было использовать остальные интерфейсы сервера, я добавил
[cc lang=”bash”]echo 1 > /proc/sys/net/ipv4/ip_forward[/cc]
чтоб это не терялось при перезагрузке надо в

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

Дальше iptables надо сказать чтоб работали НАТ,ом
[cc lang=”bash”]iptables -t nat -A POSTROUTING -s 192.168.10.0/16 -o eth0 -j MASQUERADE[/cc]
Это значит, что всё, что приходит с 192.168.Х.Х слать на eth0 (то что смотрит в инет)

Проверил пинги до своего внешнего сервера (по ипу, всё было замечательно но DNS не отзывались)
для переброски DNS имён я использовал dnsmasq
[cc lang=”bash”]$sudo apt-get install dnsmasq[/cc]
в файле
[cc lang=”bash”]/etc/dnsmasq.conf:[/cc]
я прописал
[cc lang=”bash”]listen-address=192.168.10.1[/cc]
дальше
[cc lang=”bash”]/etc/init.d/dnsmasq restart[/cc]
Теперь надо, чтоб автоматически при подключении мне выдавался правильный ДНС сервер.
идём в /etc/ppp/options
раскомментировал строку
[cc lang=”bash”]ms-dns 192.168.10.1[/cc]
и вписал туда свой днс сервер.

[cc lang=”bash”]/etc/init.d/pptpd restart[/cc]
и в бой.

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

первое:
[cc lang=”bash”] iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu[/cc]
второе:
[cc lang=”bash”] iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –set-mss 128[/cc]
Мне помогло второе

Удачи :))

  1. спасибо за полезную инфу!
    попробую настроить сегодня. только дистрибутив постарее – убунту 6.
    заведется, как думаешь?

  2. одинакого завелось на 7.10 и на 8.04
    первое декстоп второе сервер

  3. А как к этому по быстрому шифрование прикрутить?

  4. Никита Евгеньевич

    Спасибо, ман хорошиц, но:
    Сделал все до строчки "всё запустилось, создаём VPN подключение на клиенте.", пробовал коннектиться из винды – пишет сервер недоступен, в логе /var/log/messages ничего не пишется вообще, по трафику обмен пакетами шел.. Пробовал из ubuntu коннектиться пишет sent [LCP ConfReq id=0x29 asyncmap 0x0> magic 0x9e99432c> pcomp> accomp>]
    Script pptp тут_ip_был –nolaunchpppd finished (pid 6978), status = 0x0
    Modem hangup
    Connection terminated.
    В чем может быть дело? Как продиагностировать еще проблему?

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>