Днями виникла потреба терміново налаштувати 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
вівторок, 24 вересня 2013 р.
пʼятниця, 20 вересня 2013 р.
Забезпечення надійності бази даних MySQL у дата-центрі
Зверніть увагу на дві статті, щойно запропоновані на сайті компанії Percona:
В статті MySQL Backup and Recovery Best Practices здійснено детальну систематизацію методів створення резервних копій баз даних з метою запобігання втрати даних у разі аварій чи помилок. Статтю High Level Multi-Datacenter MySQL High Availability присвячено заходам для забезпечення високої надійності СКБД, зокрема, за допомогою реплікації. Обидві статті є теоретичними і навряд чи будуть корисні системним адміністраторам, які шукають готових рішень. Натомість ці статті стануть в нагоді аналітикам.
- MySQL Backup and Recovery Best Practices by Ryan Lowe
- High Level Multi-Datacenter MySQL High Availability by Jay Janssen
В статті 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"
$ 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"
Підписатися на:
Дописи (Atom)