Rose debug info
---------------

Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid

Позднее Ctrl + ↑

Как заменить +7 на 8 для Elastix

У многих записная книжка в телефоне забита в формате +7,  а большинство Российских операторов ip телефонии этот формат не понимают и ждут номера начинающегося на 8.
Это инструкция как автоматически сделать подмену +7 на 8 в Elastix (Asterisk)

 

Для замены +7 на 8 в Elastix необходимо внести изменения в файл extensions_custom.conf. Для этого входим в панель управления Elastix, закладка PBX -> Tools, меню Asterisk File Editor. Листаем и находим необходимый нам файл extensions_custom.conf, и открываем его, нажав левой кнопкой мыши.
Находим в файле строку [from-internal-custom] и сразу после неё добавляем строку:

 

exten => _+7XXXXXXXXXX,1,GoTo(outbound-allroutes,8${EXTEN:2},1)

Нажимаем Save.

Изменения вступят в силу после перезагрузки Астериска. Самый простой способ перезагрузить Астериск закладка PBX -> Tools, меню Asterisk-Cli, в поле Command ввести reload и нажать кнопку Execute. Также можно с консоли или просто перезагрузить компьютер на котором установлен Астериск.


 

Если вы знаете как можно сделать подмену +7 на 8 через Trunk или Outbound Routes — подскажите. Вариант с «8+7|» или «8+.7|» не работают.

В последних версиях Elastix это легко делается для исходящих правил. В prepend пишем +7, а в prefix 8.
Думаю также можно поступить и указав в самом транке.

Вот пример из моего исходящего правила. Заменяем +7 на 8 и добавляем 8 где цифр в номере 10.

Делалось это для корректного отзвона. Просто один оператор у меня показывает номер как +7, а другой вообще без кода страны для Российских номеров.


Итак, как я и обещал, отписываюсь о возможности подмены.
Так как в моём случае нужно было убить сразу 2х зайцев, поэтому у меня и не выходил каменный цветок, а именно:
Есть sip-провайдер (по умолчанию он принимает номера, набранные через +7), нужно на него выход сделать через 9.
Соответственно делал так:
Например мне нужно звонить в город (Москва и мобильные — 11 значные номера), соответственно делал так: в оutbound routes создал роут: prepand (пусто) + prefix (9) | match patern (XXXXXXXXXXX) — здесь очень внимательным нужно быть к количеству иксов! Дело в том, что сначала я думал, что девятку тоже надо обозначать иксом или приписывать перед ними, но такая схема не работала, в итоге я понял, что иксов (или других спецсимволов) должно быть ровно столько, сколько в номере цифр!
Дальше, что касается подмены 8ки на 7ку:
Это я разрулил на сиповском транке вот таким образом prepand (7) + prefix (8) | match patern (.X)
Теперь у меня всё работает!
P.S. В случае, если должна быть обратная замена 7ки на 8ку, то соответственно: prepand (8) + prefix (7) | match patern (.X)
P.S. Если у вас не 7, а +7, то нужно пробовать как и +7 и как 007, потому что некоторые провайдеры и телефонные станции + расценивают как 2 нуля.

 

 1129   2021   asterisk

MySQL error «Can’t create new tempfile» при восстановлении таблицы.

В логах mysql много ошибок подобного рода.
120920  9:25:28 [ERROR] /usr/sbin/mysqld: Table ’./old_sm/phones’ is marked as crashed and last (automatic?) repair failed
Поскольку автоматическое исправление не сработало, то будем исправлять вручную.
Перед любым таким действием настоятельно рекомендуется сделать резервное копирование данных.
Заходим в командную строку mysql.
Запускаем проверку таблицы.

mysql -u root -p stalker_db

mysql> check table phones;
+——————————-+—-+———+—————————————————————+
|           Table                 | Op      | Msg_type | Msg_text                                          |
+——————————-+—-+———+—————————————————————+
|             old_sm.phones | check | warning     | Table is marked as crashed and last repair failed |
|             old_sm.phones | check | error         | Found 6833 keys of 3930951                        |
|             old_sm.phones | check | error         | Corrupt                                           |
+——————————-+—-+———+—————————————————————+
3 rows in set (0.37 sec)

Запускаю восстановление таблицы.

mysql> repair table phones;
+——————————-+——+———+————————————————————-+
|           Table                 | Op        | Msg_type | Msg_text                                                 |
+——————————-+——+———+————————————————————-+
|             old_sm.phones | repair    | error        | Can’t create new tempfile: ’./old_sm/phones.TMD’ |
|             old_sm.phones | repair    | status       | Operation failed                                         |
+——————————-+——+———+————————————————————-+
2 rows in set (0.01 sec)

Т. е. при запущенном mysql-сервере восстановлению не подлежит. Останавливаю mysql
service mysql stop
Запускаю восстановление с помощью myisamchk. Данный метод будем работать с таблицами на движке MyISAM. Если у вас таблицы на движке InnoDB может помочь пересоздание таблицы с заливкой старых данных.
root@112-1:/var/lib/mysql/old_sm# myisamchk -r -f phones.MYI 
— recovering (with sort) MyISAM-table ’phones.MYI’
Data records: 3930951
— Fixing index 1
— Fixing index 2
— Fixing index 3
— Fixing index 4
— Fixing index 5

Запускаю mysql сервер
service mysql start
Ошибка пропала, что и требовалось.

 550   2021   linux   mysql   sql   ubuntu

Elastix запрос ussd баланса

Послать USSD-команду (например, запрос баланса и другие управляющие команды) очень просто. Например, для отправки *923# с модема dongle0 нужно написать такую команду в консоли Asterisk:

pbx*CLI> <b>dongle ussd dongle0 *923#</b>
 416   2021   asterisk

Elastix обработка USSD и SMS и отправка на почту

Добавляем Dilaplan:

[from-gsm]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(/usr/bin/php /etc/asterisk/sms.php ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DATACARD} — ${CALLERID(num)}: ${SMS_BASE64})
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(/usr/bin/php /etc/asterisk/ussd.php ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} — ${DATACARD}: ${USSD_BASE64})
exten => ussd,n,Hangup()

exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
exten => s,n,goto(from-trunk,${DONGLEIMEI},1)

И два скрипта в систему

sms.php:

<?php

$sms=base64_decode($argv[6]);
//var_dump($argv);
$smsok=$argv[1].» «.$argv[2].» «.$argv[5].» «.$sms;
$smsok = str_replace(’«’, ’’, $smsok);
$smsok = str_replace(„’“, „„, $smsok);
$smsok = preg_replace („/[^а-яА-Я0-9a-zA-z\s\(\)\[\]\-\:\*\.\,\%\$\@\+\-\{\}\?\>\<\#\^\;\=\_\№]/u“,““,$smsok);
$cmd=»echo $smsok | mail -s ’Incoming SMS from $argv[5]’ admin@mail.ru«;
exec($cmd);
$cmd=»echo $smsok >> /var/log/asterisk/sms.txt«;
exec($cmd);
?>

и ussd.php:

<?php
$sms=base64_decode($argv[5]);
var_dump($argv);
$smsok=$argv[1].» «.$argv[2].» «.$sms;
$smsok = str_replace(’«’, ’’, $smsok);
$smsok = str_replace(„’“, „„, $smsok);
$smsok = preg_replace („/[^а-яА-Я0-9a-zA-z\s\(\)\[\]\-\:\*\.\,\%\$\@\+\-\{\}\?\>\<\#\^\;\=\_\№]/u“,““,$smsok);
$cmd=»echo $smsok | mail -s ’Incoming USSD’ admin@mail.ru«;
exec($cmd);
$cmd=»echo $smsok >> /var/log/asterisk/ussd.txt«;
exec($cmd);
?>

Добавляем автопроверку баланса и отправку на почту каждый день в 22-00:

crontab -e

00 22 * * * /usr/sbin/asterisk -rx «dongle ussd dongle0 *105#»

 183   2021   asterisk

Elastix «Шепот» соседа через chanspy

«Шепот» — это когда «Опытный сотрудник» подключается к диалогу «Клиент» — «Молодой сотрудник» и помогает молодому вести диалог. «Опытного», естественно, слышит только молодой — клиенту незачем знать об этом.

На удивление, гугломашина выдала направление «подумать» далеко не на первой ссылке. В сборке с вебмордой FreePBX данный механизм делается внедрением в файл extensions_override_freepbx.conf следующих строк:

[app-chanspy]
exten => 555,1,Macro(user-callerid)
exten => 555,2,Authenticate(1234)
exten => 555,3,Read(SPYNUM,agent-newlocation)
exten => 555,4,ChanSpy(SIP/${SPYNUM},wqv(-1))
;--== end of [app-chanspy] ==--;

Механизм подменяет собой штатный ChanSpy. Пользоваться просто: опытный набирает 555, вводит пароль (1234), вводит внутренний номер «молодого» и включается в разговор.

 408   2021   asterisk

Монтирование архивов в Linux (Debian Lenny)

Исходная ситуация: на сетевом диске лежит архив backup.tgz размером >50GB, надо внутри найти некие файлы и скопировать на новый сервер. Распаковать все это не представляется возможным, какие файлы из архива необходимы тоже известно достаточно приблизительно. В таком случае лучше архив смонтировать как виртуальную файловую систему и работать уже с ней. Основная система Debian Lenny 5.0 (x64).

Во-первых, нам понадобится AVFS:

$ sudo apt-get update
$ sudo apt-get install avfs

Во-вторых, просто заходим в нужный архив и работаем с ним как с любой файловой системой в режиме [read only].

$ cd /home/rat/.avfs/mnt/backup/server.domain.lv/backup.tgz#

Внутри архива прекрасно работает find, любители могут воспользоваться Midnight Commander.

Вообще, AVFS поддерживает множество типов архивов, подключения по ftp. Есть возможность автоматически запускать AVFS в режиме демона (avfsd) при старте компьютера.

P.S. Если возникает проблема с fuse, например такая:

fuse: failed to open /dev/fuse: Permission denied

Проверьте, что ваш пользователь в группе fuse.

$ groups
rat adm dialout cdrom floppy audio video plugdev

Тогда делаем так:

$ sudo usermod -a -G fuse rat
$ groups
rat adm dialout cdrom floppy audio video fuse plugdev
 418   2021   linux   ubuntu

Mounting raw and qcow2 VM disk images

# Загружаем модуль ядра Network Block Device
modprobe nbd

# "Подключаем" образ к устройству /dev/nbd0.
qemu-nbd --connect /dev/nbd0 --read-only /путь/к/образу.qcow2

# Ищем разделы на устройстве.
kpartx -arvs /dev/nbd0

# Здесь ты можешь делать с разделами /dev/mapper/ndb0p* что угодно: монтировать, форматировать и т.п.

# Убираем девайсы разделов.
kpartx -dvs /dev/nbd0

# Выключаем qemu-nbd.
qemu-nbd --disconnect /dev/nbd0

 

Mounting a partition from raw image is pretty simple:

losetup /dev/loop0 image.img
kpartx -a /dev/loop0
mount /dev/mapper/loop0p1 /mnt/image

If kernel parameter (as loop in compiled into Fedora’s kernel) like

loop.max_part=63

added it is even simplier:

losetup /dev/loop0 image.img
mount /dev/loop0p1 /mnt/image

Alternative way is to specify direct offset to partition:

mount image.img /mnt/image -o loop,offset=32256

To mount qcow2 images there is (at least in F-11 qemu) very useful qemu-nbd util. It shares image through kernel network block device protocol and this allows to mount it:

modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 image.img
mount /dev/nbd0p1 /mnt/image

If LVM is present on image it could be initialized with:

vgscan
vgchange -ay
mount /dev/VolGroupName/LogVolName /mnt/image

Finishing is done with (depending on how it was initalized):

umount /mnt/image
vgchange -an VolGroupName
killall qemu-nbd
kpartx -d /dev/loop0
losetup -d /dev/loop0
 396   2021   linux   ubuntu

Монтирование флешки в debian из образа dd

Как смонтировать образ флешки, снятый командой

dd if=/dev/sde of=~/disk.img

:

$ sudo fdisk -C 592 -l -u ~/disk.img
Disk /home/rat/disk.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 592 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xc6aafc6c
Device Boot Start End Blocks Id System
/home/rat/disk.img1 44 15679439 7839698 b W95 FAT32
$ sudo mount -o loop,offset=22528 -t vfat ~/disk.img /mnt/disk

Смещение 22528 байтов вычисляется как 44 сектора * 512 байтов = 22528 байтов.

 134   2021   linux   ubuntu

Proxmox 4.0: Корневой раздел на ZFS RAID1 или как увеличить отказоустойчивость если в сервере всего 2 диска

Подвернулась мне задача — запустить Proxmox и несколько виртуалок на сервере всего с 2 дисками. При этом требовалось обеспечить ну хоть какую-то надежность и простоту исправления проблем связанных с выходом из строя одного из дисков. Далее в заметке подробное описание тестирования решения на стенде.

Вводная


Я считаю что читатель данной заметки может самостоятельно установить Proxmox на ноду и не буду рассматривать установку и настройку самого гипервизора. Рассмотрим только настройки касающиеся ZFS RAID1 и тестирование ситуации сбоя одного из дисков.
Железо на котором предстояло развернуть проект представляло из себя ноду Supermicro, видимо в исполнении 2 node in 1U с псевдо-рейдом интегрированном в чипсет от Intel который не поддерживается в Proxmox. В связи с этим попробуем испытать решение предлагаемое «из коробки» в версии 4.0. Хоть убейте — я не помню был-ли такой вариант установки в Proxmox 3.6, может и был, но не отложилось в памяти из-за невостребованности такой конфигурации. В тестовой стойке у нас отыскался аналогичный сервер и я принялся за проверку решения, предоставляемого ребятами из Proxmox Server Solutions.

Установка


Как и предупреждал — не буду показывать установку полностью, заострю внимание только на важных моментах.

Выбираем zfs RAID1:

image

Сервер тестовый и нет подписки на коммерческий репозиторий. В /etc/apt/sources.list подключаем бесплатный:

deb http://download.proxmox.com/debian jessie pve-no-subscription

В /etc/apt/sources.list.d/pve-enterprise.list закомментируем коммерческий.

Ну и вдруг забудете:

root@pve1:~# apt-get update && apt-get upgrade

Смотрим что нам нарезал инсталлятор на дисках (привожу только часть вывода):

root@pve1:~# fdisk -l /dev/sd*

Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 758FA29C-4F49-4315-BA0C-F3CCC921FA01

Device         Start       End   Sectors  Size Type
/dev/sda1         34      2047      2014 1007K BIOS boot
/dev/sda2       2048 312565389 312563342  149G Solaris /usr & Apple ZFS
/dev/sda9  312565390 312581774     16385    8M Solaris reserved 1

Disk /dev/sdb: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3CD4B489-A51D-4354-8018-B1391F52B08D

Device         Start       End   Sectors  Size Type
/dev/sdb1         34      2047      2014 1007K BIOS boot
/dev/sdb2       2048 312565389 312563342  149G Solaris /usr & Apple ZFS
/dev/sdb9  312565390 312581774     16385    8M Solaris reserved 1

Глянем на наш массив:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sda2    ONLINE       0     0     0
            sdb2    ONLINE       0     0     0

errors: No known data errors

По умолчанию инсталлятор Proxmox установил загрузчик на оба раздела — отлично!

Тестирование


Имитируем отказ жесткого диска следующим образом:
— выключаем сервер;
— выдергиваем одну из корзин;
— включаем сервер.

Сервер прекрасно грузится на любом из двух оставшихся дисков, массив работает в режиме DEGRADED и любезно подсказывает какой диск нам надо сменить и как это сделать:

root@pve1:~# zpool status rpool
  pool: rpool
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
        invalid.  Sufficient replicas exist for the pool to continue
        functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: none requested
config:

        NAME                      STATE     READ WRITE CKSUM
        rpool                     DEGRADED     0     0     0
          mirror-0                DEGRADED     0     0     0
            14981255989033513363  FAULTED      0     0     0  was /dev/sda2
            sda2                  ONLINE       0     0     0

errors: No known data errors

Если вернуть извлеченный диск на место — он прекрасно «встает» обратно в зеркало:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: resilvered 1.29M in 0h0m with 0 errors on Wed Dec  2 08:37:46 2015
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sda2    ONLINE       0     0     3
            sdb2    ONLINE       0     0     0

errors: No known data errors

Инсценируем замену диска на новый. Я просто взял другую корзину с таким-же диском из старого сервера. Ставим корзину на горячую для большей правдоподобности:

root@pve1:~# fdisk -l /dev/sdb

Disk /dev/sdb: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 38BE38AC-00D9-4680-88FC-0876378526BC

Device      Start       End   Sectors   Size Type
/dev/sdb1      40    409639    409600   200M EFI System
/dev/sdb2  411648 312580095 312168448 148.9G Microsoft basic data

Условно неисправный диск у нас /dev/sdb и учитывая одинаковую емкость и геометрию копируем таблицу разделов 1:1 с исправного диска /dev/sda

root@pve1:~# sgdisk -R /dev/sdb /dev/sda
The operation has completed successfully.

Генерируем уникальные UUID для /dev/sdb

root@pve1:~# sgdisk -G /dev/sdb
The operation has completed successfully.

Ставим загрузчик на замененный диск и обновляем GRUB:

root@pve1:~# grub-install --recheck /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.
root@pve1:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.2.3-2-pve
Found initrd image: /boot/initrd.img-4.2.3-2-pve
Found linux image: /boot/vmlinuz-4.2.2-1-pve
Found initrd image: /boot/initrd.img-4.2.2-1-pve
Found memtest86+ image: /ROOT/pve-1@/boot/memtest86+.bin
Found memtest86+ multiboot image: /ROOT/pve-1@/boot/memtest86+_multiboot.bin
done
root@pve1:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.2.3-2-pve

Осталось только заменить сбойный диск в массиве на свежеустановленный, но тут всплывает одна проблема, порожденная методом адресации дисков в массиве примененной в инсталляторе. А именно — диски включены в массив по физическому адресу и команда zpool replace rpool /dev/sdb2 покажет нам вот такую фигу:

root@pve1:~# zpool replace rpool /dev/sdb2
cannot replace /dev/sdb2 with /dev/sdb2: /dev/sdb2 is busy

Что совершенно логично, нельзя сменить сбойный диск на /dev/sdb2 так как сбойный диск и есть /dev/sdb2, а зачем нам повторять недоработку инсталлятора? Привяжем диск по UUID, я вообще уже забыл то время когда диски прибивались гвоздями вида /dev/sdХХ — UUID наше все:

root@pve1:~# zpool replace rpool /dev/disk/by-partuuid/cf590df4-72b7-4cfc-a965-001ffe56d0c9
Make sure to wait until resilver is done before rebooting.

Нас предупредили о необходимости дождаться окончания синхронизации прежде чем перезагружаться. Проверим статус массива:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Wed Dec  2 18:07:01 2015
        92.8M scanned out of 920M at 8.44M/s, 0h1m to go
        92.5M resilvered, 10.09% done
config:

        NAME                                      STATE     READ WRITE CKSUM
        rpool                                     ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            sda2                                  ONLINE       0     0     0
            cf590df4-72b7-4cfc-a965-001ffe56d0c9  ONLINE       0     0     0  (resilvering)

errors: No known data errors

Для общего порядку включим и sda2 в массив используя UUID:

root@pve1:~# zpool detach rpool /dev/sda2
root@pve1:~# zpool attach rpool /dev/disk/by-partuuid/cf590df4-72b7-4cfc-a965-001ffe56d0c9 /dev/disk/by-partuuid/8263d908-e9a8-4ace-b01e-0044fa519037
Make sure to wait until resilver is done before rebooting.

Пока я копипастил предыдущие 2 команды из консоли в редактор массив уже синхронизировался:

root@pve1:~# zpool status rpool
  pool: rpool
 state: ONLINE
  scan: resilvered 920M in 0h1m with 0 errors on Wed Dec  2 18:36:37 2015
config:

        NAME                                      STATE     READ WRITE CKSUM
        rpool                                     ONLINE       0     0     0
          mirror-0                                ONLINE       0     0     0
            cf590df4-72b7-4cfc-a965-001ffe56d0c9  ONLINE       0     0     0
            8263d908-e9a8-4ace-b01e-0044fa519037  ONLINE       0     0     0

errors: No known data errors

 

Вывод


Когда нет аппаратного Raid-контроллера вполне удобно применить размещение корневого раздела на доступном в Proxmox 4.0 «из коробки» zfs RAID1. Конечно-же всегда остается вариант переноса /boot и корня на зеркала созданные средствами mdadm, что тоже неоднократно было использовано мной и до сих пор работает не нескольких серверах, но рассмотренный вариант проще и предлагается разработчиками продукта «из коробки».

 95   2021   proxmox

L2TP IpSEC для IPHONE IPAD

Порты которые необходимо открыть на шлюзе:

L2TP traffic — UDP 1701
Internet Key Exchange (IKE) — UDP 500
IPSec Network Address Translation (NAT-T) — UDP 4500
Allows IPsec Encapsulating Security Payload (ESP) traffic to the VPN server — UDP 50

Установим необходимые приложения:

apt-get install openswan xl2tpd ppp

При установке инсталлятор задаст вопрос о генерации ключей. Откажемся от автоматической генерации ключей (выберем “No” в диалоге).

С помощью любимого текстового редактора (vi или nano) отредактируем файл /etc/ipsec.conf:

Обратите внимание на параметр left=, в нем нужно указать IP-адрес VDS.

Следующим шагом — добавим ключ шифрования. Для этого в укажем в файле /etc/ipsec.secrets желаемый ключ (смените его значение на какое-то более секретное):

Перейдем к настройке L2TP. Откроем в редакторе файл /etc/xl2tpd/xl2tpd.conf и приведем его содержимое к следующему виду:

Теперь займемся настройкой PPP. Наша следующая цель — файл конфигурации /etc/ppp/options.xl2tpd:

Наше соединение использует авторизацию по паролю, поэтому укажем его в соответствующем файле —/etc/ppp/chap-secrets:

С настройками VPN мы закончили, но нам нужно включить NAT (трансляцию адресов) в сетевых настройках операционной системы. Откроем файл /etc/rc.local и в его самом начале укажем следующие команды:

На этом настройка нашего VPN-сервера окончена. Перезагрузим VDS командой reboot и через минуту можно начинать пользоваться нашим шифрованным каналом доступа в Интернет. А пока давайте произведем настройку нашего iPhone. Перейдем в “Настройки” — “VPN”, затем выберем “Добавить конфигурацию VPN…”. Заполним поля:

Настройки L2TP/IPSec VPN в iPhone

  • Тип VPN — L2TP
  • Описание — выберите любое удобное название, например My VPN или ITLDC VPN
  • Сервер — указываем IP-адрес нашей VDS
  • Учетная запись — любое имя
  • RSA SecurID — выключен
  • Пароль — выбранный пароль (в нашем примере — TestPassword)
  • Общий ключ — ключ шифрования (TestSecret)

На этом настройка клиентской части окончена, выбираем “Сохранить”. Чтобы подключиться к VPN, необходимо в “Настройках” нашего iPhone или iPad включить слайдером соответствующий режим. Подключение производится достаточно быстро и через несколько секунд можно пользоваться всеми благами Интернет — без каких либо ограничений.

 258   2021   iphone   ipsec   l2tp   linux   ubuntu
Ранее Ctrl + ↓