ubuntu vpn server

Written by

in

,

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

ставим pptpd

sudo apt-get install pptpdCode language: Bash (bash)

редактируем

/etc/pptpd.confCode language: Bash (bash)

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

localip 192.168.100.4
remoteip 192.168.100.20-51Code language: Bash (bash)

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

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

# client        server  secret                  IP addresses
user             pptpd   pass                192.168.100.0/13Code language: Bash (bash)

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

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

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

sudo /etc/init.d/pptpd restartCode language: Bash (bash)

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

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

echo 1 > /proc/sys/net/ipv4/ip_forwardCode language: Bash (bash)

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

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

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

iptables -t nat -A POSTROUTING -s 192.168.10.0/16 -o eth0 -j MASQUERADECode language: Bash (bash)

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

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

$sudo apt-get install dnsmasqCode language: Bash (bash)

в файле

/etc/dnsmasq.conf:Code language: Bash (bash)

я прописал

listen-address=192.168.10.1Code language: Bash (bash)

дальше

/etc/init.d/dnsmasq restartCode language: Bash (bash)

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

ms-dns 192.168.10.1Code language: Bash (bash)

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

/etc/init.d/pptpd restartCode language: Bash (bash)

и в бой.

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

первое:

 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS  --clamp-mss-to-pmtuCode language: Bash (bash)

второе:

 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 128Code language: Bash (bash)

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

Удачи :))

Comments

4 ответа для «ubuntu vpn server»

  1. Аватар пользователя sb
    sb

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

  2. Аватар пользователя Developer
    Developer

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

  3. Аватар пользователя dndred
    dndred

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

  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.
    В чем может быть дело? Как продиагностировать еще проблему?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *