Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [HOWTO] Установка и настройка VPN+ipX сервера Ubuntu & Debian  (Прочитано 67515 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #45 : 13 Января 2009, 23:06:28 »
Имеется тестовый компьютер с Ubuntu 8.10 server, ssh демон был установлен в процессе инсталляции, затем добавлен пакет pptpd.

/etc/network/interface
auto lo
iface lo inet loopback

#WAN interface
auto eth0
iface eth0 inet dhcp

#LAN Interface
auto eth1
iface eth1 inet static
address 192.168.0.254
netmask 255.255.255.0

/etc/pptpd.conf
option /etc/ppp/pptpd-options
debug
logwtmp
localip 192.168.253.254
remoteip 192.168.253.1-253
connections 253

/etc/ppp/pptpd-options
auth
name pptpd
require-chap
+chap
idle 0
ms-dns 83.bbb.ccc.ddd
ms-dns 80.bbb.ccc.ddd
noproxyarp
nodefaultroute
debug
lock
nobsdcomp

/etc/ppp/chap-secrets
user1 * pass1 *
user2 * pass2 *
user3 * pass3 *

Опции debug включают вывод отладочной информации процессов pptpd и pppd в syslog.

/etc/rc.local
#!/bin/bash

echo "1" >  /proc/sys/net/ipv4/ip_dynaddr
echo "1" >  /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ! eth1 -j MASQUERADE
iptables --append INPUT --protocol 47 --jump ACCEPT
iptables --append INPUT --protocol tcp --match tcp --destination-port 1723 --jump ACCEPT

exit 0

В итоге виндовый клиент коннектится к pptpd, а демон ssh ему в этом ни коим образом не мешает.

/var/log/syslog
...
pptpd[5066]: MGR: Launching /usr/sbin/pptpctrl to handle client
pptpd[5066]: CTRL: local address = 192.168.253.254
pptpd[5066]: CTRL: remote address = 192.168.253.1
pptpd[5066]: CTRL: pppd options file = /etc/ppp/pptpd-options
pptpd[5066]: CTRL: Client 192.168.0.10 control connection started
pptpd[5066]: CTRL: Received PPTP Control Message (type: 1)
pptpd[5066]: CTRL: Made a START CTRL CONN RPLY packet
pptpd[5066]: CTRL: I wrote 156 bytes to the client.
pptpd[5066]: CTRL: Sent packet to client
pptpd[5066]: CTRL: Received PPTP Control Message (type: 7)
pptpd[5066]: CTRL: Set parameters to 100000000 maxbps, 64 window size
pptpd[5066]: CTRL: Made a OUT CALL RPLY packet
pptpd[5066]: CTRL: Starting call (launching pppd, opening GRE)
pptpd[5066]: CTRL: pty_fd = 6
pptpd[5066]: CTRL: tty_fd = 8
pptpd[5067]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd
pptpd[5067]: CTRL (PPPD Launcher): local address = 192.168.253.254
pptpd[5067]: CTRL (PPPD Launcher): remote address = 192.168.253.1
pptpd[5066]: CTRL: I wrote 32 bytes to the client.
pptpd[5066]: CTRL: Sent packet to client
pptpd[5066]: CTRL: Received PPTP Control Message (type: 15)
pptpd[5066]: CTRL: Got a SET LINK INFO packet with standard ACCMs
pppd[5067]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pppd[5067]: pptpd-logwtmp: $Version$
pptpd[5066]: GRE: accepting packet #0
kernel: [ 5000.577525] PPP generic driver version 2.4.2
pppd[5067]: pppd 2.4.4 started by root, uid 0
pppd[5067]: using channel 1
pppd[5067]: Using interface ppp0
pppd[5067]: Connect: ppp0 <--> /dev/pts/2
pppd[5067]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x7124feed> <pcomp> <accomp>]
pptpd[5066]: GRE: Bad checksum from pppd.
pptpd[5066]: GRE: accepting packet #1
pppd[5067]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0x7124feed> <pcomp> <accomp>]
pptpd[5066]: GRE: accepting packet #2
pppd[5067]: rcvd [LCP ConfReq id=0x1 <mru 1400> <magic 0x4e83254d> <pcomp> <accomp> <callback CBCP>]
pppd[5067]: sent [LCP ConfRej id=0x1 <callback CBCP>]
pptpd[5066]: GRE: accepting packet #3
pppd[5067]: rcvd [LCP ConfReq id=0x2 <mru 1400> <magic 0x4e83254d> <pcomp> <accomp>]
pppd[5067]: sent [LCP ConfAck id=0x2 <mru 1400> <magic 0x4e83254d> <pcomp> <accomp>]
pppd[5067]: sent [LCP EchoReq id=0x0 magic=0x7124feed]
pppd[5067]: sent [CHAP Challenge id=0x3b <035445da9d270d6dcd92d8a701131edcc825bd>, name = "pptpd"]
pptpd[5066]: CTRL: Received PPTP Control Message (type: 15)
pptpd[5066]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
pptpd[5066]: GRE: accepting packet #4
pppd[5067]: rcvd [LCP Ident id=0x3 magic=0x4e83254d "MSRASV5.10"]
pptpd[5066]: GRE: accepting packet #5
pptpd[5066]: GRE: accepting packet #6
pppd[5067]: rcvd [LCP Ident id=0x4 magic=0x4e83254d "MSRAS-0-COMPUTER"]
pppd[5067]: rcvd [LCP EchoRep id=0x0 magic=0x4e83254d]
pptpd[5066]: GRE: accepting packet #7
pppd[5067]: rcvd [CHAP Response id=0x3b <38356722d5e229e3fb40d82353f38fab>, name = "user1"]
pppd[5067]: sent [CHAP Success id=0x3b "Access granted"]
pptpd[5066]: GRE: accepting packet #8
pptpd[5066]: GRE: accepting packet #9
kernel: [ 5002.601534] PPP Deflate Compression module registered
pppd[5067]: sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
pppd[5067]: sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.253.254>]
pppd[5067]: rcvd [CCP ConfReq id=0x5 <mppe +H -M -S -L -D +C>]
pppd[5067]: sent [CCP ConfRej id=0x5 <mppe +H -M -S -L -D +C>]
pppd[5067]: rcvd [IPCP ConfReq id=0x6 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
pppd[5067]: sent [IPCP ConfRej id=0x6 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
pptpd[5066]: GRE: accepting packet #10
pptpd[5066]: GRE: accepting packet #11
pptpd[5066]: GRE: accepting packet #12
pptpd[5066]: GRE: accepting packet #13
pppd[5067]: rcvd [CCP ConfRej id=0x1 <deflate 15> <deflate(old#) 15>]
pppd[5067]: sent [CCP ConfReq id=0x2]
pppd[5067]: rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
pppd[5067]: sent [IPCP ConfReq id=0x2 <addr 192.168.253.254>]
pppd[5067]: rcvd [CCP TermReq id=0x7"N\37777777603%M\000<\37777777715t\000\000\002\37777777734"]
pppd[5067]: sent [CCP TermAck id=0x7]
pppd[5067]: rcvd [IPCP ConfReq id=0x8 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
pptpd[5066]: GRE: accepting packet #14
pppd[5067]: sent [IPCP ConfNak id=0x8 <addr 192.168.253.1> <ms-dns1 83.bbb.ccc.ddd> <ms-dns3 80.bbb.ccc.ddd>]
pppd[5067]: rcvd [IPCP ConfAck id=0x2 <addr 192.168.253.254>]
pptpd[5066]: GRE: accepting packet #15
pppd[5067]: rcvd [IPCP ConfReq id=0x9 <addr 192.168.253.1> <ms-dns1 83.bbb.ccc.ddd> <ms-dns3 80.bbb.ccc.ddd>]
pppd[5067]: sent [IPCP ConfAck id=0x9 <addr 192.168.253.1> <ms-dns1 bbb.ccc.ddd> <ms-dns3 80.bbb.ccc.ddd>]
pppd[5067]: local  IP address 192.168.253.254
pppd[5067]: remote IP address 192.168.253.1
pppd[5067]: pptpd-logwtmp.so ip-up ppp0 user1 192.168.0.10
pppd[5067]: Script /etc/ppp/ip-up started (pid 5088)
pppd[5067]: Script /etc/ppp/ip-up finished (pid 5088), status = 0x0
pptpd[5066]: GRE: accepting packet #16
pptpd[5066]: GRE: accepting packet #17
pptpd[5066]: GRE: accepting packet #18
pptpd[5066]: GRE: accepting packet #19
pppd[5067]: sent [CCP ConfReq id=0x2]
pptpd[5066]: GRE: accepting packet #20
pppd[5067]: rcvd [CCP TermAck id=0x2]
pppd[5067]: sent [CCP TermReq id=0x3"No compression negotiated"]
pptpd[5066]: GRE: accepting packet #21
pppd[5067]: rcvd [CCP TermAck id=0x3"No compression negotiated"]
pptpd[5066]: GRE: accepting packet #22
pptpd[5066]: GRE: accepting packet #23
pptpd[5066]: GRE: accepting packet #24
pptpd[5066]: GRE: accepting packet #25
pptpd[5066]: CTRL: Received PPTP Control Message (type: 5)
pptpd[5066]: CTRL: Made a ECHO RPLY packet
pptpd[5066]: CTRL: I wrote 20 bytes to the client.
pptpd[5066]: CTRL: Sent packet to client
pptpd[5066]: GRE: accepting packet #26
...

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #46 : 14 Января 2009, 11:02:59 »
Ставлю Ubuntu server 8.04.1+sshd+LAMP
$sudo -s -H
#apt-get update
#apt-get dist-upgrade
reboot
$sudo -s -H
#apt-get install pptpd

В конфах прописываю только

LAN: 192.168.1.0/24
GATEWAY: 192.168.1.1

[b]/etc/pptpd.conf[/b]
localip 192.168.160.1
remoteip 192.168.160.2-254

[b]/etc/ppp/pptpd-options[/b]
ms-dns 192.168.1.1

[b]/etc/ppp/chap-secrets[/b]
user1 * pass1 *
user2 * pass2 *
user3 * pass3 *

ВСЕ РАБОТАЕТ :) шифрование, пускает, выпускает.
Ну и в инет выпускает, если нат запустить.
PS: затраченное время, 20 минут, включая обновление дистриба (6мегабит канал).

PPS: Вообще то для серверов не рекомендуется использовать дистрибутивы не LTS.
« Последнее редактирование: 14 Января 2009, 11:06:53 от Nesmit »

Оффлайн konstse

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #47 : 18 Января 2009, 14:24:47 »
Небольшой отчет: все сделал почти так, как сказал Nesmit. Поставлен сервер 8.04.1 без ssh и LAMP. дальше все также. Windows подключается. Поставлен OpenSSH сервер. Работает! Запущен скрипт vpn-firewall.sh - у клиента появился интернет.
После установки ipmasq и dnsmasq на сервере пропал интернет, он сам себя перестал пинговать и, соответственно начались другие глюки, Это может быть потому, что сетевой интерфейс только один? (это просто домашний тестовый комп). И могут ли быть из-за этих пакетов вышеописанные мной проблемы на реальном серваке? Там локалка, он в роли шлюза и VPN сервера. Настраивалось в следующем порядке: 1. Установлен сервер без ssh, 2. Настроен шлюз (ipmasq, dnsmasq, squid) по хауту с этого форума (https://forum.ubuntu.ru/index.php?topic=3244.0). 3.Настроен VPN сервер, как описано в первом посте. Пока все работает. 4. Установлен OpenSSH сервер. И вот тут виндовые клиенты перестали коннектиться по впн.

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #48 : 18 Января 2009, 21:02:58 »
Небольшой отчет: все сделал почти так, как сказал Nesmit. Поставлен сервер 8.04.1 без ssh и LAMP. дальше все также. Windows подключается. Поставлен OpenSSH сервер. Работает! Запущен скрипт vpn-firewall.sh - у клиента появился интернет.
После установки ipmasq и dnsmasq на сервере пропал интернет, он сам себя перестал пинговать и, соответственно начались другие глюки, Это может быть потому, что сетевой интерфейс только один? (это просто домашний тестовый комп). И могут ли быть из-за этих пакетов вышеописанные мной проблемы на реальном серваке? Там локалка, он в роли шлюза и VPN сервера.

Настраивалось в следующем порядке: 1. Установлен сервер без ssh, 2. Настроен шлюз (ipmasq, dnsmasq, squid) по хауту с этого форума (https://forum.ubuntu.ru/index.php?topic=3244.0). 3.Настроен VPN сервер, как описано в первом посте. Пока все работает. 4. Установлен OpenSSH сервер. И вот тут виндовые клиенты перестали коннектиться по впн.
Если инет есть, зачем тебе  ipmasq??? dnsmasq - отвечает за кучу вещей, то же не вижу смысла ставить. Гораздо лучше bind9 поднять как кеширующий. Скорость ответа адресов, улучшиться. Он как раз исполняет функции  скрипта vpn-firewall.sh. Удали пакет и все нормализуется.
А в целом больше проблем не вижу.

Оффлайн konstse

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #49 : 19 Января 2009, 20:31:47 »
то, что эти пакеты мне дома не нужны - я знаю. я их поставил просто для проверки. на тестовый комп.  но там, где стоит реальный сервер они раздают инет в локалку... я ж там делал, как описано в хауту. и оно работает. вот я и спрашиваю: может ли из-за них быть описанная мной проблема? может pptpd+ipmasq,dnsmasq+SSHserver мешают друг другу? ведь дома-то я поставил pptpd+ssh и все ок. отличия моего домашнего компа и сервера там только в этих двух пакетах (или просто я не могу найти других отличий).

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #50 : 19 Января 2009, 23:48:02 »
может pptpd+ipmasq,dnsmasq+SSHserver мешают друг другу?
нет не мешают, а вот если ты еще и скрипты фаервола запустишь, начнутся проблемы (я не профи, но подозреваю что будут). Лучше не ставить эти пакеты, если запускаешь бинд и нат через скрипты.

Оффлайн konstse

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #51 : 22 Января 2009, 19:26:33 »
будем тестить на реальном серваке на выходных. и вот еще вопрос: как заставить впн сервер выдавать конкретный ip клиенту по имени пользователя?

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Re: Установка и настройка VPN+ipX сервера Ubuntu & Debian
« Ответ #52 : 23 Января 2009, 14:53:37 »
Цитировать
как заставить впн сервер выдавать конкретный ip клиенту по имени пользователя?

/etc/ppp/chap-secrets

user1 * pass1 192.168.0.10
user2 * pass2 192.168.0.20
user3 * pass3 192.168.0.30

Оффлайн Ozon

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Доброго вемени суток всем!
У меня
localip 10.0.0.3
remoteip 10.0.0.32-64
И вот вот если один подконектится - ему IP выдается 10,0,0,32  и если второй конетится в то же время ему тоже выдается 10,0,0,32.
Почему так и где копать?

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
/etc/ppp/chap-secrets
как сформирован?

Оффлайн Ozon

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Все разобрался.
просто невнимательность... В скрипте vpn-firewal.sh перед eth0 стояла точка )))
Все равно спасибо всем.

Оффлайн mariner

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
хм, у меня тоже эта проблема с ошибкой 619 на убунте.
Значит обстановка такая: из локалки впн пашет, но он задумывался, чтобы подрубаться из инета и выходить в локалку.

Конфиги такие:

/etc/ppp/pptpd-options


(Нажмите, чтобы показать/скрыть)


/etc/pptpd.conf

debug
stimeout 2
logwtmp
localip 192.168.150.1
remoteip 192.168.150.2-255

chap-secrets сформированы так, что таждому клиенту выдается фиксированный IP.
user1 pptpd passwd 192.168.150.*
Логи:
(Нажмите, чтобы показать/скрыть)

Фаервалл:
#!/bin/sh
/sbin/iptables -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
Правило раздачи инета записано в /etc/ppp/ip-up (для автоматизации)

Фаервалл сниматьт пробовал - не помогает :(
Стоят пакеты: ipx ipxripd pptp pppd

Для справки: все конфиги работали на debian 5 (правда сам дебиан не очень работал на моем железе - с биосом косяк, асус признал это. поэтому я откатился с 26ого ядра и дебиана, обратно на Ubuntu 8.04.2 и 24ое ядро) :P

PS на счет mtu вспомнил. у нашего провайдера инет через PPPoE - mtu 1492, я ставлю 1470 (пробовал и меньше - не помогает)
Стоит на серваке - lamp, ssh, dc++.

Гм, вроде все норм. добавил в конфиг:

/sbin/iptables -A INPUT --protocol 47 --jump ACCEPT
/sbin/iptables -A INPUT --protocol tcp --match tcp --destination-port 1723 --jump ACCEPT

Тока вот что странно, почему на дебиане и в центосе канает и так :)


нифига не решилось (после рестарта компа - тож самое :( )
« Последнее редактирование: 10 Марта 2009, 12:08:21 от mariner »

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Цитировать
ipx
ipx-network 4
ipx-node 1:0
ipx-routing 2
ipx-router-name HomeServer
ipxcp-accept-remote
Очень нужно?

Оффлайн mariner

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
желательно. Но в принципе я разобрался уже сам.
Там надо было кое-что подтянуть
iptables --table nat --delete-chain
iptables --delete-chain
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

как в примере. Вроде теперь пашет нормально. IPX нужен.....
Правда теперь  надо Fail2ban перезапускать после запуска фаера.

PS а ваще всем - выкиньте ipmasq - он страшен чуть более чем полностью

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Цитировать
PS а ваще всем - выкиньте ipmasq - он страшен чуть более чем полностью
нужен тем: у кого горит, прям щас, чтоб работало, чтобы работало хоть как нибудь.

 

Страница сгенерирована за 0.086 секунд. Запросов: 26.