Вход:  Пароль:  
FreeSource: SergeyLebedev/EisSystem/PppdSystemEIS ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Pppd

Оглавление документа

ovz-server-pppd

Необходимо скопировать ovz-server-default в ovz-server-pppd


Следующим шагом вносим дополнительные пакеты в /ovz-server-pppd/profile/ovz/packages.
Добавляем следующие пакеты: mgetty, ppp, minicom



Необходимо заменить так же имя шаблона в /ovz-server-pppd/profile/ovz/config


Непосредственное создание ovz-шаблона


В результате этой операции в /ovz-server-pppd должен появиться следующий файл altlinux-4.0-pppd.tar.gz

Установка pppd-контейнера

Все дальнейшие операции необходимо выполнять с привилегиями пользователя root.


Скопируем /ovz-server-pppd/altlinux-4.0-pppd.tar.gz в /var/lib/vz/template/cache — стандартное место хранения шаблонов ovz-систем.


Создаем на основе шаблона altlinux-4.0-pppd.tar.gz и конфигурационного файла server-4.0 контейнер pppd, с уникальным идентификатором 107.


Следующий шаг, задание имени и hostname контейнера, создание сетевого интерфейса veth107.0.
Сетевой интерфейс создается при помощи ключа --netif_add:
имя_интерфейса_внутри_контейнера,его_мак_адрес,имя_интерфейса_в_root_системе,его_мак_адрес
Мак_адрес — должен не совпадать с мак-адресами существующих компьютеров.


Для нормальной работы mgetty и pppd, необходим прямой доступ к устройства root-системы /dev/ttyS0 (порт к которому подключен наш модем) и /dev/ppp (непосредственно ppp-устройство).


В root-системе в /etc/modules добавляем


А в /etc/modules.conf


После чего выяснить MAJOR, MINOR и тип устройства для /dev/ttyS0 и /dev/ppp


Следовательно для /dev/ppp MAJOR == 108, MINOR == 0, тип == c; для /dev/ttyS0 MAJOR == 4, MINOR ==64, тип == c


Разрешаем для этих устройств прямой доступ из контейнера 107


Запуск контейнера 107


Входим в контейнер


Создаем устройства внутри контейнера


Подключаем модем к нашему порту com1
Делаем symlink /dev/ttyS0 на /dev/modem


Запускаем minicom и даем команду AT в ответ получаем OK


По умолчанию, при остановке контейнера командой vzctl stop 107, veth107.0 удаляется из vzbr0. Это можно проверить, если выполнить команду brctl show vzbr0. Так что после запуска контейнера vzctl start 107, необходимо выполнить команду brctl addif vzbr0 veth107.0.

Настройка dial-in сервиса


Настройка состоит из трех этапов: настройка mgetty, настройка pppd, настройка маршрутизации.

Настройка mgetty

Добавляем в /etc/inittab следующую строчку

-x5 — означает, что уровень отладки у нас равен 5.
/dev/ttyS0 — это у нас первый сom порт.


В /etc/mgetty+sendfax/login.config

Мы не принимаем chap-авторизацию, требуем pap-авторизацию, не требуем авторизацию для самой машины (noauth).


В /etc/mgetty+sendfax/mgetty.config

data-only y — только данные, без поддержки факс-возможностей
debug 4 — логирование 4 уровня, лог падает в /var/log/mgetty/ttyS0.log
rings 2 — после какого количества звонков mgetty поднимет трубку
init-chat ... — строчку инициализации модема. По умолчанию mgetty использует ATS0=0Q0&D3&C1, параметра S0=0 верен, трубку брать будет mgetty.

Настройка pppd

В /etc/ppp/options.ttyS0

192.168.16.1 — адрес, который будет выдан нашему серверу после поднятия pppd-интерфейса
192.168.16.2 — адрес, который будет выдан клиенту
ms-dns 192.168.15.11 — это адрес нашего dns-сервера, будет автоматически назначен клиенту при подключении по pppd


После чего в /etc/ppp/pap-secrets

Настройка маршрутизации

Разделяется на две части: внутри контейнера pppd и в root-системе.


Внутри контейнера необходимо разрешить перенос пакетов между интерфейсами.
Для этого вписываем в /etc/sysctl.conf следующие значения


Мы не устанавливали до этого в контейнерах маршрут по умолчанию, за исключением контейнера с dns.
Для нормальной работы необходимо указать шлюзом адрес нашей root-системы.
В /etc/net/ifaces/eth0/ipv4route вписываем следующую строку


Перезапускаем настройки сети внутри контейнера


В root-системе необходимо добавить одно правило NAT и один маршрут на нашу сеть 192.168.16.0/30


Добавляем правило NAT


Сохраняем эти правила


Добавляем маршрут на нашу сеть 192.168.16.0/30 в /etc/net/ifaces/vzbr0/ipv4route


После этого подключенный пользователь по dialup-соединению должен спокойно выходить в сеть интернет


 
Файлов нет. [Показать файлы/форму]
Комментарии [Скрыть комментарии/форму]