WooCommerce

Намедни шурин попросил поднять ему инет магазин. Давненько я такой фигней не занимался 🙂
Огромное мерси Ване Никитину и его сотрудникам за наводку на wordpress и woocommerce (я то наивный сначала хотел на Джумле делать) и дальнейшие консультации. В результате, раз, два и магазин бижутерии для КостаРики, на испанском языке работает 🙂

З.Ы. Испанский язык такой прикольный :).

Фанаты, они такие!

Коллега, фанат футбола.
Не, не так. ФАНАТ ФУТБОЛА!
Уже 3-й раз подряд точно предсказывает результаты матчей наших команд в забугорных играх. Мы все в шоке. Если еще раз попадет, пойду ставки делать 🙂

Microsoft Edge

Послушал ребят из Микрософт, решил дать шанс укорениться на моей машине их браузеру.

Запустил, попробовал импортировать закладки из Хрома. Эйдж их импортировал, только в обратном порядке 🙂 Приколисты.
Ну и еще, папки из меню показываются только в правой всплывающей закладке,там где настройки. Жутко не удобно.
Строка ввода url появляется не сразу, Дико раздражает.
Вообщем закопал его как в свое время IE. Не получается у них делать браузеры.

Какая гадость…

В очередной раз убедился, что 1С документооборот редкостная кокашка. Подробностей не будет, бо низзя… но если есть возможность, берите другую систему документооборота.

Статистика

На днях просматривал статистику посещений блога. Самая популярная тема Mikrotik + IPTV + IGMP + WiFi.

Лично я давно отказался от мысли тянуть realtime видео (особенно HD) по Wi-Fi. Основная причина: забитые каналы. Даже 5GHz не решает проблемы :(. Думал, что ac поможет… не помогло.
Так что, провода рулят и будут еще долго оставаться основной средой для передачи качественного видео по сети.

Mikrotik VPLS

Пытался построить VPLS на микротике (Cloud Hosted Router) в VirtualBox. Не получилось, есть подозрение, что Virtual Box малость неправильно эмулирует ethernet интерфейсы.

Собрал сетку на живых 450G устройствах. Все заработало на ура. L2 VPN фунциклирует как часы.

На выходных попробую в vmware повторить эксперимент.

MUM Москва

Вчера побывал на MUM в Москве.

Было (по заявлению Микротик) ~750 участников.

Узнал, что Mirotik сделал специальный образ для виртуальных машин Cloud Hosted Router, на который не надо покупать лицензию. Правда с вшитым ограничением скорости на интерфейсе. Для снятия ограничения лицензию таки придется покупать, но они обещают, что цена на нее будет меньше. Теперь крутить RouterOS в виртуалках будет проще.

Слушал все выступления. В каждом было что то интересное.
Вообщем походом удовлетворен.

Puppet

Puppet прикольный. Если разворачивать однотипные конфигурации на большом количестве серверов, его использование дает ощутимый профит. Я думаю, что для разруливания основных вопросов вполне можно обойтись без скриптописания на ruby. Во всяком случае я пока не нашел для чего бы мне понадобилось написание пупет скриптов. Хотя… если их кто то пишет  — значит это кому то нужно :).
Но это жутко опасная штука. Очень опасная.

Лопата в руках + puppet (iptables)

После настройки DNS надо подумать о настройке fierwall на серверах.

Точно так же, как и с DNS, существуют модули puppet, предназначенные для управления fierwall. Исходя из соображения, зачем использовать сторонние обёртки, когда iptables сам по себе крут и админ должен знать его на Ять, я не буду использовать эти модули.

Что будем делать:

  • Удалим firewalld, поставим классический iptables-service.
  • Создадим файл с конфигурацией фаервола, в стиле /etc/sysconfig/iptables.
  • На клиенте запустим скрипт, который применит правила fierwall.

На puppet сервере, создадим файл с конфигурацией firewall для машины с dns:
# cd /var/puppet/centos7-2.test.local/etc/
# mkdir sysconfig
# vim sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state —state NEW -m tcp —dport 22 -j ACCEPT
-A INPUT -p udp -m state —state NEW -m udp —dport 53 -j ACCEPT
-A INPUT -p tcp -m state —state NEW -m tcp —dport 53 -j ACCEPT
COMMIT

В файле site.pp добавляем новый класс.
class minimal-iptables {
# Удаляем firewalld
package { ‘firewalld’:
ensure => absent,
  before => Package[‘iptables-services‘]
}
# Перед удалением firewalld останавливаем соответствующий
# сервис и делаем ему disable.
service { ‘firewalld’:
name => «firewalld»,
enable => false,
ensure => stopped,
before => Package[‘firewalld’]
}
# Устанавливаем iptables-services
package { ‘iptables-services’ :
ensure => installed
}
service { ‘iptables’:
  enable => true,
ensure => running,
  require => Package[«iptables-services»]
 }
# Определяем файл, в котором будем описывать
# правила firewall
file { ‘/etc/sysconfig/iptables’:
ensure => file,
mode => ‘0600’,
owner => ‘root’,
# Для каждой машины предполагается свой файл
source => «puppet:///configs/$fqdn/etc/sysconfig/iptables»,
require => Package[«iptables-services»]
}
# Описываем программу, которая будет выполняться
# на машине для поднятия правил fierwall
exec { ‘firewall’:
# «Подписываемся» на файл
subscribe => File[«/etc/sysconfig/iptables»],
# Устанавливаем правила фаервола из файла.
command => «/usr/bin/cat /etc/sysconfig/iptables | /usr/sbin/iptables-restore «,
# Говорим, что программа будет выполняться
# только если файл, на который мы подписаны,
# изменился.
refreshonly => true
}
}

Вносим изменения в node.
node ‘centos7-2.test.local’ {
include ‘baselinux’
include ‘minimal-iptables’
include ‘dns’
}

Проверяем файл манифеста.
# puppet parser validate /etc/puppet/manifests/site.pp

У данного способа есть недостаток — при исполнении скрипта будут рваться сессии. Это можно обойти, используя вместо файла /etc/sysconfig/iptables самописанный скрипт.