Прошло немногим более двух лет с тех пор как я предлагал моим комментаторам помочь в проектировании ...
Прошло немногим более двух лет с тех пор как я предлагал моим комментаторам помочь в проектировании VPN и я VPN всё-таки насторил.
Результат, правда, получился хуже, чем формулировались требования в том ТЗ, но жить вроде можно.
Конструкция следующая:
1. dhcpd в локальной сети выполняет ddns update на локальном же неймсервере.
Собственно, все недостатки получившейся системы связаны в основном с тем, когда isc dhcpd выполняет dns update, а когда отказывается.
2. У openvpn на хостинговой машине есть client-connect скрипт, который, помимо всего прочего, выполняет nsupdate, вписывая CN-ы сертификатов своих клиентов в DNS домашней сети. (в предположении что VPN между хостинговым сервером и домашней машной в момент коннекта внещего клиента поднята).
3. У openvpn есть еще и disconnect скрипт, который чистит из DNS следы присутствия клиента. Иначе DHCPD потом откажется апдейтить DNS для этого имени. Скажет "не моя A-запись".
3. У VPN-сервера ifconfig pool и пул адресов домашней сети - разные (хотя и случайно смежные) диапазоны адресов.
В чем недостатки получившейся конструкции:
1. При подключении машины к локальной через разные интерфейсы (ethernet и wifi) она получает разные адреса, и только первый из них прописывается в DNS с её хостнеймом.
При подключении через второй интерфейс получается другой dhcpid и dhcpd отказывается апдейтить запись, оставшуюся от первого интерфейса. Собственно из-за этого я так долго использовал назначение статических адресов по dhcp-client-identifier. Потому что на тех ОС, где его можно задать, он задается руками и независим от MAC адреса интерфейса.
2. При наличии на машине дуалбута (два года назад эта проблема не стояла) у разных операционных систем получается разный dhcpid. Поэтому после перезагрузки машина получает другой адрес который в DNS с её хостнеймом не прописывается.
А все потому что в схему обновления DNS interim в isc dhcpd заложена немерянная паранойя с защитой от подмены хостнейма. Вариант что у кого-то в модели угроз этой угрозы просто нет авторы почему-то не рассматривали. При этом схему ad hoc они поддерживтать не хотят. Пишут жирными буквами в man-е "it doesn't work".
Прямо хоть пиши какой-нибудь самопальный скрипт, который отслеживает то ли DHCPACK в логе, то-ли обновления leases и зовет nsupdate. Безо всякой паранойи.
Но засада еще в том, что есть андроид-устройства, хостнеймы у которых владельцем устройсва не контролируются. Сейчас они описаны в dhcpd.conf как хосты с явно заданным ddns name. А так придется держать их в каком-то более другом конфиге.
Про который я, естественно, буду полчаса вспоминать с матом через год, когда в доме заведется ещё одно андроидное устройство и его потребуется обозвать.
This entry was originally posted at http://vitus-wagner.dreamwidth.org/915674.html. Please comment there using OpenID. Now there are comments
Вот переставил себе зачем-то сегодня на ноутбуке систему с 32-битной на 64-битную. Поимел по меньшей ...
Вот переставил себе зачем-то сегодня на ноутбуке систему с 32-битной на 64-битную. Поимел по меньшей мере одни грабли - skype не отдает 64-битного пакета для Debian, говорит "у вас multiarch, так и живите с 32-битным". А вот на несмотря на то что на установочном образе было написано multiarch, multiarch не включился. Пришлось руками делать dpkg -add-architecture; apt-get update; И apt корректно отрезолвить зависимости 32-битного пакета как-то не сумел. Пришлось все 32-битные пакеты, от которых зависит skype явным образом ставить.
А еще у меня на этом ноутбуке wi-fi настраивается теперь через Network Manager. Подключиться к домашней сетке удалось без граблей. В "Глазурь" с ним что-ли сходить? Помнится. с подключением к тамошнему халявнгому wi-fi у wpa-supplicant-а были проблемы.
This entry was originally posted at http://vitus-wagner.dreamwidth.org/912113.html. Please comment there using OpenID. Now there are comments
Наверное, многие сталкивались с вопросом неработающей интерактивной консоли PHP.
Когда ...
Наверное, многие сталкивались с вопросом неработающей интерактивной консоли PHP.
Когда вводишь
# php -a
и видишь только надпись «Interactive mode enabled», после которой что ни вводи, интерпретация и исполнение введённых команд не работает. На самом деле это не совсем так. На самом деле это специальный режим, которым надо ещё уметь пользоваться. Описание работы данного режима не входит в задачи моего поста. Для обычного же непосвящённого пользователя он выглядит именно так: ничего не работает. А вот тем, чтобы «работало» так, как мы привыкли в консолях python или node.js, мы и займёмся.
Читать дальше →