вівторок, 24 вересня 2013 р.

Налаштування сервера PPTP VPN на маршрутизаторі MikroTik

Днями виникла потреба терміново налаштувати VPN для доступу у віддалену мережу, в якій у якості кордонного маршрутизатора використовується MikroTik RB751G-2HnD (гадаю, що рішення підходить також для використання на інших пристроях з операційною системою RouterOS).

Для налаштування сервера VPN увійдіть у командний рядок маршрутизатора, наприклад, по SSH:

ssh admin@router.remoteoffice.com

Додайте IP-адресу, яка буде використовуватись у VPN-тунелі на боці маршрутизатора:

/ip address add address=10.10.100.1/24 interface=ether2
/ip address print

Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         INTERFACE
 0   ;;; default configuration
     10.10.0.1/24      10.10.0.0      ether2
 1   10.10.1.1/24      10.10.1.0      ether3
 2   10.10.2.1/24      10.10.2.0      ether4
 3   10.10.3.1/24      10.10.3.0      ether5
 4 D 123.123.23.23/22  123.123.23.0   ether1-gateway
 5   10.10.100.1/24    10.10.100.0    ether2


Активуйте сервер PPTP:

/interface pptp-server server set enabled=yes/interface pptp-server server print
 

            enabled: yes
            max-mtu: 1450
            max-mru: 1450
               mrru: disabled
     authentication: mschap1,mschap2
  keepalive-timeout: 30
    default-profile: default-encryption


Створіть профіль для користувача:

/ppp profile add name="admin" local-address=10.10.100.1 remote-address=10.10.100.250 use-encryption=yes
/ppp profile print
 

Flags: * - default
 0 * name="default" remote-ipv6-prefix-pool=none use-ipv6=yes use-mpls=default use-compression=default use-vj-compression=default use-encryption=default only-one=default change-tcp-mss=yes
 1   name="admin" local-address=10.10.100.1 remote-address=10.10.100.250 remote-ipv6-prefix-pool=none use-ipv6=yes use-mpls=default use-compression=default use-vj-compression=default use-encryption=yes only-one=default change-tcp-mss=default
 2 * name="default-encryption" remote-ipv6-prefix-pool=none use-ipv6=yes use-mpls=default use-compression=default use-vj-compression=default use-encryption=yes only-one=default change-tcp-mss=yes


Задайте ім'я та пароль користувача VPN:

/ppp secret add name=vpnuser password=vpnpass service=pptp profile=admin/ppp secret print
 

Flags: X - disabled
 #   NAME     SERVICE CALLER-ID PASSWORD PROFILE REMOTE-ADDRESS
 0   vpnuser  pptp              vpnpass  admin


Відкоригуйте налаштування пакетного фільтру:

/ip firewall filter add chain=input action=accept protocol=udp dst-port=1723 src-address=48.48.48.0/22
/ip firewall filter add chain=input action=accept protocol=tcp dst-port=1723 src-address=48.48.48.0/22
/ip firewall filter print
/ip firewall filter move 7 0
/ip firewall filter move 8 0
/ip firewall filter print

 
Flags: X - disabled, I - invalid, D - dynamic
 0   chain=input action=accept protocol=udp dst-port=1723 src-address=48.48.48.0/22
 1   chain=input action=accept protocol=tcp dst-port=1723 src-address=
48.48.48.0/22
 2   ;;; default configuration
     chain=input action=accept protocol=icmp
 3   chain=input action=accept protocol=tcp in-interface=ether1-gateway dst-port=443
 4   chain=input action=accept protocol=tcp in-interface=ether1-gateway dst-port=22
 5   ;;; default configuration
     chain=input action=accept connection-state=established
 6   ;;; default configuration
     chain=input action=accept connection-state=related
 7   ;;; default configuration
     chain=input action=drop in-interface=sfp1-gateway
 8   ;;; default configuration
     chain=input action=drop in-interface=ether1-gateway


Сервер VPN готовий, можете з'єднуватися. Для доступу до пристроїв мережі за машрутизатором вам може знадобитися встановити на своєму комп'ютері маршрут для адресного блоку мережі в бік маршрутизатора:

route add 10.10.0.0 mask 255.255.0.0 10.10.100.1

пʼятниця, 20 вересня 2013 р.

Забезпечення надійності бази даних MySQL у дата-центрі

Зверніть увагу на дві статті, щойно запропоновані на сайті компанії Percona:

Компанія Percona є розробником системи керування базами даних (СКБД) Percona Server, яка є альтернативою популярній СКБД MySQL, що зараз належить компанії Oracle, та базується на тому самому вихідному коді. Окрім повної сумісності з MySQL СКБД Percona Server має низку корисних розширень та утіліт, які також можуть використовуватись з MySQL.

В статті MySQL Backup and Recovery Best Practices здійснено детальну систематизацію методів створення резервних копій баз даних з метою запобігання втрати даних у разі аварій чи помилок. Статтю High Level Multi-Datacenter MySQL High Availability присвячено заходам для забезпечення високої надійності СКБД, зокрема, за допомогою реплікації. Обидві статті є теоретичними і навряд чи будуть корисні системним адміністраторам, які шукають готових рішень. Натомість ці статті стануть в нагоді аналітикам.

вівторок, 3 вересня 2013 р.

getopts: зручний інструмент для використання в шел-скриптах

Вам доводилося, напевно, створювати нескладні скрипти операційної оболонки Unix/Linux (шел-скрипти), які використовують додаткові опції, вказані у командному рядку. Наприклад:

$ processdata.sh -h

Usage:
processdata.sh [options]

Possible options:
-c <config-file> -- use configuration file
-f -- force conversion
-h -- print usage screen
-v -- be verbose

Забезпечити коректну обробку опцій засобами шелу може бути достатньо складно (адже треба врахувати можливості вказання опцій в довільному порядку, різні варіанти синтаксису, якто -fv або -f -v, та ін.), якщо не користуватися утілітою шела getopts. Ось зразок її використання, гадаю, він не потребує коментарів:

#!/bin/sh

OPTION=""
OPTARG=""

while getopts c:fрv OPTION; do

  case $OPTION in
    c ) CONFIG=$OPTARG;;
    f ) FORCE=1;;

    h ) echo "Usage: $0 [-fhv] [-c <config>]"; exit 0;;
    v ) VERBOSE=1;;
  esac
 

done

echo "CONFIG  = $CONFIG"
echo "FORCE   = $FORCE"
echo "VERBOSE = $VERBOSE"