Приглашаем авторов

Вы пользуетесь Ubuntu и желаете поделиться секретами преодоления тех трудностей, с которыми вам пришлось столкнуться в процессе работы? Или же просто изложить алгоритм установки драйвера или настройки специфической программы, чтобы с легкостью найти в будущем? А быть может размещаете подобное в собственном блоге, но не находите благодарного читателя из-за специфики темы?

Предлагаем вам войти в команду Блога Ubuntu в Сумах, который поможет вам реализовать упомянутые выше интересы.

Узнать больше

понедельник, 27 июня 2011 г.

Установка, настройка VPN-сервереа (PPTPD), настройка маршрутизации.

PPTPD - point-to-point сервер, для установки туннельного, защищённого соединения.

PPP (англ. Point-to-Point Protocol) — двухточечный протокол канального уровня (Data Link) сетевой модели OSI. Обычно используется для установления прямой связи между двумя узлами сети, причем он может обеспечить аутентификацию соединения, шифрование и сжатие данных. Используется на многих типах физических сетей: нуль-модемный кабель, телефонная линия, сотовая связь и т. д.

Часто встречаются подвиды протокола PPP такие, как Point-to-Point Protocol over Ethernet (PPPoE) , используемый для подключения по Ethernet, и иногда через DSL; и Point-to-Point Protocol over ATM (PPPoA), который используется для подключения по ATM Adaptation Layer 5 (AAL5), который является основной альтернативой PPPoE для DSL.

PPP представляет собой целое семейство протоколов: протокол управления линией связи (LCP), протокол управления сетью (NCP), протоколы аутентификации (PAP, CHAP), многоканальный протокол PPP (MLPPP).

Установка pptpd:

aptitude install pptpd

Настройка:

gedit /etc/ppp/pptpd-options

В этот конфиг добавляем строку logfile /var/log/pptpd.log - лог нашего сервера, и debug. Это не обязательно делать.

Дальше: gedit /etc/pptpd.conf

В конце файла добавьте две строки вида:
localip 192.168.0.1 # это виртуальный ИП адрес вашего сервера.
remoteip 192.168.0.234-238,192.168.0.245 # это диапазон адресов, которые будут даваться подключившимся к вам пользователям.

В gedit /etc/ppp/chap-secrets добавляем аккаунты клиентов.
# Secrets for authentication using CHAP
# client server secret IP addresses
xxx * 000000 192.168.10.232

Вот так выглядит это выглядит. ИП адресс можно не указывать, если не укажите - будет выдаватся какой то из диапазона выше указаных адресов. Имя - ххх, пароль - 000000. Не забудьте звёздочку.


После этого в терминале - pptpd - сервер запущен,готов к использованию.

Дальше нам нужно настроить маршрутизацию, так как будет создан только туннель точка-точка. Нам нужно направить поток интернета с одного туннеля в другой, и наоборот. Для этого напишем скрипт вот такого содержания.

#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin

#
# delete all existing rules.
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o ppp1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i ppp1 -o ppp0 -j ACCEPT

# Masquerade.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Don't forward from the outside to the inside.
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
iptables -A FORWARD -i eth0 -o ppp0 -j REJECT
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward


Собственно у меня два туннеля - ppp0 и ppp1,за то, что бы они обменивались ip-пакетами, отвечает эта часть скрипта:
# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o ppp1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i ppp1 -o ppp0 -j ACCEPT


Если, к примеру, у вас интернет имеется не через ppp0 а через любое другое соединение (посмотреть название вы можете набрав в терминале ifconfig) то вам нужно просто заменить ppp0 на этот интерфейс.

После этого сохраняем скрипт, даём определённый права на запуск и выполняем.

Всё это выполнялось на Ubuntu 11.04 desktop.

Комментариев нет:

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

Примечание. Отправлять комментарии могут только участники этого блога.

Облако тегов

10.04 10.10 11.04 11.10 12.04 12.10 1C 32-bit 3D 64-bit 9.04 9.10 адресная строка анализ аплет апплет аудио батарея библиотеки блог браузер брошюра буфер обмена видео вывод горячие клавиши даунгрейд дистрибутив драйвер журнал загрузка захват звук ИБП игра интернет интерфейс кириллица клавиатура книга книжка кнопки кодеки командная строка комбинации клавиш коммерция компиляция конзоль копирование латинница локаль маршрутизация монтирование мультиплеер назначение клавиш настройка обновление образ объединение окно опрос оптимизация офис переименование печать плеер подкачка поиск потоковое аудио принтер проблема радио разделы разрезка раскладка клавиатуры рейтинг репозиторий русский сборка сеть скачать статистика Сумы темы терминал торрент транслит Украина установка файлы фильтр цитата эмуляция ядро ac3 adobe adventure air alsa AMD amd64 android apt ATI audio Avant Avenue avidemux boot camera Canon canonical capture cat Catalyst cdemu cdrom cgroups chrome 9 clipboard commodore compiz console cuneiform cups deadbeaf deadbeef deb debian deluge desura djvu document foundation downgrade dpkg driver dvd error ethernet firefox flac flash foobar2000 ftp game games GDM gecko getlibs Gimp git gnash gnome gnome shell go-oo grep grub gscan2pdf h.264 hdmi Homenet hotkeys hp html5 ice icq ifconfig intel internet ipwatchd iso jabber kde kernel keyboard layout knoppix koffice lame lexmark libreoffice lightdm lightspark Linux livecd lossless lts Lubuntu lucid LXDE MacOS mencoder microsoft mint mobile mozilla mp3 mplayer natty narwhal nautilus netbook network notebook Nvidia ocr ogg Oneiric Ocelot openoffice Opera oracle pdf peppermint phaser 3010 phaser 3040 php picture pidgin player polipo postscript Powercom ppa pppoe PPTP proxy pulseaudio python QR radiotray ru_UA russian Sauerbraten scan server shipit. shooter skype sound split squeeze stable streaming sun super os survival horror svn swap Telesweet tesseract theme thunar thunderbird tor torrent transcode translit ualinux Ubuntu ubuntu one Ubuntu Software Center ukrainian unity update-manager UPS usb usb-to-serial usb. com uTorrent vfat via video VLC VPN wavpack web-сервер Windows Wine Writer X-window x264 xerox xfce xmpp xonar dg xrandr xubuntu xvid zbar zend µTorrent