Метка: vpn

  • ubuntu vpn server

    Настройка 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)

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

    Удачи :))