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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Выпускаем клиетов в Интернет c использованием PPTP  (Прочитано 2844 раз)

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

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Предположим что  WAN  интерфейс шлюза настроен на статический  IP адрес

Цитировать
Этап 1
Настраиваем сетевые интерфейсы

$ sudo nano /etc/network/interfaces

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

$ sudo nano resolv.conf
(Нажмите, чтобы показать/скрыть)

$ sudo /etc/init.d/networking restart

Этап 2
Установка DNS+DHCP сервера dnsmasq
$ sudo aptitude update
$ sudo aptitude install dnsmasq
$ sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.old
$ sudo nano /etc/dnsmasq.conf

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

Этап 3
Установка pptpd

$ sudo apt-get install pptpd
$ sudo cp /etc/pptpd.conf /etc/pptpd.conf.old
$ sudo nano /etc/pptpd.conf

Указываем адрес ppp интерфейса - localip и диапазон адресов выдаваемый при подключение - remoteip

$ sudo cat /etc/pptpd.conf | sed '/ *#/d; /^ *$/d'
(Нажмите, чтобы показать/скрыть)

$ sudo cp /etc/ppp/pptpd-options /etc/ppp/pptpd-options.old
$ sudo nano /etc/ppp/pptpd-options
$ sudo cat /etc/ppp/pptpd-options | sed '/ *#/d; /^ *$/d'

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

$ sudo nano /etc/ppp/chap-secrets
$ sudo cat /etc/ppp/chap-secrets | sed '/ *#/d; /^ *$/d'

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

$ sudo /etc/init.d/pptpd restart

$ sudo netstat -lpan | grep pptpd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 11111/pptpd

Этап 4A
Настройка netfilter

sudo nano /etc/init.d/iptables

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

Делаем исполняемым /etc/init.d/iptables
$ sudo chmod +x /etc/init.d/iptables
добавляем в автозагрузку
$ sudo update-rc.d iptables defaults

Этап 4B
$ sudo nano /etc/rc.firewall

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

Делаем исполняемым
$ sudo chmod +x /etc/rc.firewall

$ sudo /etc/init.d/iptables restart

DIXI

Предположим что  WAN  интерфейс шлюза настроен как DHCP клиент

Цитировать
Этап 1
Настраиваем сетевые интерфейсы

$ sudo nano /etc/network/interfaces

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

повторяем шаги с 2 по 4A

Этап 4B
$ sudo nano /etc/rc.firewall
(Нажмите, чтобы показать/скрыть)
Делаем исполняемым
$ sudo chmod +x /etc/rc.firewall
=======================================================

Куда интересней когда выход шлюза в интернет осужествляется с использованием VPN (pptp или pppoe)
 /etc/ppp/pptpd-options для pptp и pptpd можно разделить
Но не факт что pptp будет создавать ppp0 интерфейс, а не какой нибудь шустрый клиент

Еще интересней, если придумать второй WAN на шлюзе, подключенный к второму провайдеру, для резервного канала

Мысли есть?

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
как то было необходимо сделать выход в инет для клиентов при этом сервак сам должен был выходить по vpn pptp . конечно до реалезации не дошло так как выход в инет статикой заимел, но набрасал примерно как это будет выглядеть.
и так при поднятии интерфейса ppp запускаются скрипты из папки /etc/ip-up.d  в которые передаются переменные
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
о них можно прочитать в скрипте /etc/ppp/ip-up
в итоге когда запускается ppp подключение запускается наш скрипт который находится в ip-up.d в наш скрипт передаются переменные $4 и 5$ (ну конечно и другие переменные но нас интересуют они хотя даже одна из них тут по вкусу) в скрипте по case определяем например удаленный ip и если он соответствует ip который со стороны нашего провайдера то запускаются дальше соответствующие правила для iptables на маскарадинг и форвардинг.
если нет то делать что душе вашей угодно. Вот так можно решить проблему с шустрым юзером на ppp0 то бишь не будут наши правила для iptables завязаны на ppp0.
Я так использую сейчас шейпинг по ипам . так как клиентам статикой vpn выдает ip то по этому ипу определяется шейпить или нет и с какой скоростью и на каком именно интерфейсе ppp
Соответственно есть возможность запускать скрипты и по падению интерфейса папка соответственно ip-down.d
Могу выложить скрипт с этим шейпингом впринципе в нем только меняй ипы на свои,правила шейпа стереть и за место их пиши любые правила для  iptables или еще чего
« Последнее редактирование: 15 Августа 2009, 00:30:21 от Nickollla »

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Скрипты это очень хорошо.
Работоспособность скриптов из (4B) пока проверить негде...

шейпинг, шейпинг, шейпинг... в man pptpd.conf
Цитировать
speed speed
              specifies a speed (in bits per second) to pass to the PPP daemon
              as the interface speed for the tty/pty pair.  This is ignored by
              some  PPP  daemons,  such  as  Linux’s  pppd(8).  The default is
              115200 bytes per second, which some implementations interpret as
              meaning  "no  limit".   Equivalent  to  the command line --speed
              option.
Цитировать
speed скорость

Указывает скорость (в битах в секунду) для передачи PPP-демону в качестве скорости интерфейса для пары tty/pty. Она игнорируется некоторыми PPP-демонами, такими как pppd_8 в Linux. По умолчанию это 115200 байт в секунду, некоторые реализации интерпретируют это значение как означающие «без ограничений». Равнозначно опции командной строки --speed./code]


Пользователь решил продолжить мысль 15 Августа 2009, 01:28:12:
Самый простой firewall для pptpd
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 15 Августа 2009, 01:28:12 от Unreg »

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Скрипты это очень хорошо.
Работоспособность скриптов из (4B) пока проверить негде...

шейпинг, шейпинг, шейпинг... в man pptpd.conf
Цитировать
speed speed
              specifies a speed (in bits per second) to pass to the PPP daemon
              as the interface speed for the tty/pty pair.  This is ignored by
              some  PPP  daemons,  such  as  Linux’s  pppd(8).  The default is
              115200 bytes per second, which some implementations interpret as
              meaning  "no  limit".   Equivalent  to  the command line --speed
              option.
Цитировать
speed скорость

Указывает скорость (в битах в секунду) для передачи PPP-демону в качестве скорости интерфейса для пары tty/pty. Она игнорируется некоторыми PPP-демонами, такими как pppd_8 в Linux. По умолчанию это 115200 байт в секунду, некоторые реализации интерпретируют это значение как означающие «без ограничений». Равнозначно опции командной строки --speed./code]


Пользователь решил продолжить мысль 14 Августа 2009, 21:28:12:
Самый простой firewall для pptpd
(Нажмите, чтобы показать/скрыть)

если бы шейпинг через сам pptpd.conf был так эффективен никто бы и не юзал cbq. да еще написано шо не пашет она в линукм . так что остается шейп не средствами pptpd   . не пойму для чего ты послал в ман пптпд если средставми пптпд неотшейпить в линукс
« Последнее редактирование: 15 Августа 2009, 02:33:10 от Nickollla »

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Жалко
Помница впервые о pptp/pppoe сервере впервые задумался в связи с шейпингом

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
файрвол 4B дырявый . По простой причине политика input и forward по умолчанию accept .

 

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