Настройка 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)
Мне помогло второе
Удачи :))
Добавить комментарий