1. Качаем свежую версию с https://download.dokuwiki.org/
Выбираем порддерживаемые языки, мб сразу аттачим нужные плагины.
# cd ~/src
# wget https://download.dokuwiki.org/out/dokuwiki-bzzzxxx37.tgz
# tar zxvf dokuwiki-bzzzxxx37.tgz
# ll
drwxr-xr-x 8 apache root 4096 Feb 26 10:09 dokuwiki
-rw-r--r-- 1 root root 2435217 Feb 26 10:08 dokuwiki-bzzzxxx37.tgz
2. Копируем файлы dokuwiki в рабочую директорию апача и выставляем владельцев.
# cp -R ~/src/dokuwiki /var/www/
# chown -R apache:root /var/www/dokuwiki/
# ll /var/www/dokuwiki/
drwxr-xr-x 2 apache root 4096 Feb 26 10:09 bin
drwxr-xr-x 2 apache root 4096 Feb 26 10:09 conf
-rw-rw-r-- 1 apache root 18092 Feb 20 22:41 COPYING
drwxr-xr-x 12 apache root 4096 Feb 26 10:09 data
-rw-rw-r-- 1 apache root 3674 Feb 20 22:41 doku.php
-rw-rw-r-- 1 apache root 19374 Feb 20 22:41 feed.php
drwxr-xr-x 6 apache root 4096 Feb 26 10:09 inc
-rw-rw-r-- 1 apache root 2097 Feb 20 22:41 index.php
-rw-rw-r-- 1 apache root 20700 Feb 20 22:41 install.php
drwxr-xr-x 8 apache root 4096 Feb 26 10:09 lib
-rw-rw-r-- 1 apache root 306 Feb 20 22:41 README
drwxr-xr-x 8 apache root 4096 Feb 26 10:09 vendor
-rw-rw-r-- 1 apache root 33 Feb 20 22:41 VERSION
3. Донастраиваем апач.
В /etc/httpd/conf.d/vhosts.conf пишем:
<VirtualHost *:443>
ServerName wiki.sitename.org
ServerAdmin i@am.org
DocumentRoot /var/www/dokuwiki/
####
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/wiki.sitename.org.crt
SSLCertificateKeyFile /etc/httpd/ssl/wiki.sitename.org.key
####
ErrorLog logs/wiki_sitename_org_error.log
CustomLog logs/wiki_sitename_org_access.log common
####
</VirtualHost>
4. SSL
Тем или иным способом получаем ssl сертификат, в данном случаем самоподписанный:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/wiki.sitename.org.key -out /etc/httpd/ssl/wiki.sitename.org.crt
Перезапускаем апач.
5. Базовая настройка dokuwiki:
-- переходим на https://wiki.sitename.org/install.php
-- даем имя wiki
-- заведим суперпользователя
-- зададаем тип wiki - открытая, readonly или закрытая
-- выбираем тип лицензии
После настройки надо удалить install.php
# rm -f /var/www/dokuwiki/install.php
6. Переносим директории data, conf, bin за пределы веб-сервера.
# mkdir /var/www/dokudata
# mv /var/www/dokuwiki/data/ /var/www/dokudata/
# mv /var/www/dokuwiki/conf/ /var/www/dokudata/
# mv /var/www/dokuwiki/bin/ /var/www/dokudata/
Директория conf
В /var/www/dokuwiki/inc создаем файл preload.php сдел. содержания:
<?php
// DO NOT use a closing php tag. This causes a problem with the feeds,
// among other things. For more information on this issue, please see:w
// http://www.dokuwiki.org/devel:coding_style#php_closing_tags
define('DOKU_CONF','/var/www/dokudata/conf/');
Владельцев ставим apache:root
Директория data
В конец файла /var/www/dokudata/conf/local.php пишем след. строчку:
$conf['savedir'] = '/var/www/dokudata/data';
7. Выставляем прав.
chown -R apache:root /var/www/dokuwiki/
chmod -R 660 /var/www/dokuwiki/
find /var/www/dokuwiki/ -type d -exec chmod 770 {} \;
chown -R apache:root /var/www/dokudata/
chmod -R 660 /var/www/dokudata/
find /var/www/dokudata/ -type d -exec chmod 770 {} \;
Еще раз перезапускаем апач и можно пользоваться.
---
При написании заметки использовались материалы:
https://www.rosehosting.com/blog/install-and-run-dokuwiki-the-most-versatile-wiki-on-a-centos-7-vps/
https://www.dokuwiki.org/security
https://linuxcluster.wordpress.com/2014/07/16/installing-dokuwiki-on-centos-6/
20170305
20160509
Быстрые заметки по apache
3. Директива AllowOwerride
AllowOwerride позволяет определить какие директивы можно перезаписать в файле .htaccess.
2. Директива Indexes
Директива позволяет просматривать содержимое каталога в отсутствии индексного файла (index.html, index.php и пр.).
Как правило эту директиру отключают по соображением безопасности и при попытке просмотреть содержимое каналога сервер выдаст 403 ошибку - "error] [client 10.20.30.40] Directory index forbidden by Options directive: /var/www/noc/prj/"
В "/var/www/noc/prj/" лежат файлы которым надо предоставить доступ (см. ниже), в этом случае разрешаем индексирование и конфиг будет выглядеть след. образом:
<Directory "/var/www/noc/prj">
Options Indexes
Order deny,allow
Deny from all
Allow from 10.20.30.40 10.20.31.40
</Directory>
1. Директива Order
Директива позволяет ограничить доступ к каталогу или файлу по ip адресу и может быть прописана в файле .htaccess или в настройках сайта.
Директирва имет два режима работы - "Order deny,allow" или "Order allow,deny".
deny,allow - запрещаем доступ со всех ip и разрешаем с определенных.
allow,deny - разрешаем доступ со всех ip и запрещаем с определенных.
Пример:
Разрешаем доступ к каталогу с двух ip адресов.
<Directory "/var/www/noc/prj">
Order deny,allow
Deny from all
Allow from 10.20.30.40 10.20.31.40
</Directory>
AllowOwerride позволяет определить какие директивы можно перезаписать в файле .htaccess.
2. Директива Indexes
Директива позволяет просматривать содержимое каталога в отсутствии индексного файла (index.html, index.php и пр.).
Как правило эту директиру отключают по соображением безопасности и при попытке просмотреть содержимое каналога сервер выдаст 403 ошибку - "error] [client 10.20.30.40] Directory index forbidden by Options directive: /var/www/noc/prj/"
В "/var/www/noc/prj/" лежат файлы которым надо предоставить доступ (см. ниже), в этом случае разрешаем индексирование и конфиг будет выглядеть след. образом:
<Directory "/var/www/noc/prj">
Options Indexes
Order deny,allow
Deny from all
Allow from 10.20.30.40 10.20.31.40
</Directory>
1. Директива Order
Директива позволяет ограничить доступ к каталогу или файлу по ip адресу и может быть прописана в файле .htaccess или в настройках сайта.
Директирва имет два режима работы - "Order deny,allow" или "Order allow,deny".
deny,allow - запрещаем доступ со всех ip и разрешаем с определенных.
allow,deny - разрешаем доступ со всех ip и запрещаем с определенных.
Пример:
Разрешаем доступ к каталогу с двух ip адресов.
<Directory "/var/www/noc/prj">
Order deny,allow
Deny from all
Allow from 10.20.30.40 10.20.31.40
</Directory>
20160505
Быстрые заметки про Centos7
3. Установить MySQL.
[root@monitor1 ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-release-el7-5 ################################# [100%]
Ставим сервер:
[root@monitor1 ~]# yum install mysql-server
Запускаем и проверяем:
[root@monitor1 ~]# systemctl start mysql
[root@monitor1 ~]# systemctl status mysql
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2016-05-05 17:31:38 MSK; 5s ago
Process: 1172 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 1113 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1171 (mysqld_safe)
CGroup: /system.slice/mysqld.service
├─1171 /bin/sh /usr/bin/mysqld_safe
└─1324 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysq...
2. Отключить ipv6.
Добавляем в /etc/sysclt.conf пару строк:
"net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1"
Применяем изменения:
"[root@monitor1 network-scripts]# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1"
1. Посмотреть ip адрес.
В минимальной версии нет привычной команды ifconfig.
Посмотреть текущий ip адрес можно командой "ip addr".
Результат:
[root@monitor1 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:da:8c:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.xxx.16/24 brd 192.168.13.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feda:8c10/64 scope link
valid_lft forever preferred_lft forever
Конфиг интерфейса лежит на прежнем месте -
/etc/sysconfig/network-scripts/ens160
Поднять интерфейс "ifup ens160".
Ставим репозиторий: [root@monitor1 ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-release-el7-5 ################################# [100%]
Ставим сервер:
[root@monitor1 ~]# yum install mysql-server
Запускаем и проверяем:
[root@monitor1 ~]# systemctl start mysql
[root@monitor1 ~]# systemctl status mysql
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2016-05-05 17:31:38 MSK; 5s ago
Process: 1172 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 1113 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1171 (mysqld_safe)
CGroup: /system.slice/mysqld.service
├─1171 /bin/sh /usr/bin/mysqld_safe
└─1324 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysq...
2. Отключить ipv6.
Добавляем в /etc/sysclt.conf пару строк:
"net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1"
Применяем изменения:
"[root@monitor1 network-scripts]# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1"
1. Посмотреть ip адрес.
В минимальной версии нет привычной команды ifconfig.
Посмотреть текущий ip адрес можно командой "ip addr".
Результат:
[root@monitor1 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:da:8c:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.xxx.16/24 brd 192.168.13.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feda:8c10/64 scope link
valid_lft forever preferred_lft forever
Конфиг интерфейса лежит на прежнем месте -
/etc/sysconfig/network-scripts/ens160
Поднять интерфейс "ifup ens160".
20160203
Быстрые заметки про LCP
1. Анализ проблемы с pppoe.
В одном офисе перестал работать pppoe канал в интернет.
Со стороны провайдера было видно srx, но не проходила аутентификация.
Дамп снятый с srx.
root@srx> monitor traffic interface pp0.0 extensive count 100
Начало новой сессии, srx послылает запрос на согласование параметров (опций) подключения.
18:03:52.248235 Out
...
-----original packet-----
54:e0:32:00:00:01 > 00:1e:67:00:00:02, ethertype PPPoE S (0x8864), length 36: PPPoE [ses 37713]LCP (0xc021), length 16: LCP, Conf-Request (0x01), id 70, length 16
encoded length 14 (=Option(s) length 10)
0x0000: c021 0146 000e
MRU Option (0x01), length 4: 1492
0x0000: 05d4
Magic-Num Option (0x05), length 6: 0x5665bd0c
0x0000: 5665 bd0c
Провайдер согласился с предложенными значениям параметров.
18:03:52.268010 In
...
-----original packet-----
00:1e:67:00:00:02 > 54:e0:32:00:00:01, ethertype PPPoE S (0x8864), length 60: PPPoE [ses 37713]LCP (0xc021), length 16: LCP, Conf-Ack (0x02), id 70, length 16
encoded length 14 (=Option(s) length 10)
0x0000: c021 0246 000e
MRU Option (0x01), length 4: 1492
0x0000: 05d4
Magic-Num Option (0x05), length 6: 0x5665bd0c
0x0000: 5665 bd0c
Провайдер предложил следующую пачку опций, в т.ч. и метот аутентификации - PAP.
18:03:54.132155 In
...
-----original packet-----
00:1e:67:00:00:02 > 54:e0:32:00:00:01, ethertype PPPoE S (0x8864), length 60: PPPoE [ses 37713]LCP (0xc021), length 37: LCP, Conf-Request (0x01), id 2, length 37
encoded length 35 (=Option(s) length 31)
0x0000: c021 0102 0023
PFC Option (0x07), length 2:
MRU Option (0x01), length 4: 1492
0x0000: 05d4
Magic-Num Option (0x05), length 6: 0x2840ee38
0x0000: 2840 ee38
Auth-Prot Option (0x03), length 4: PAP
0x0000: c023
MRRU Option (0x11), length 4: 2048
0x0000: 0800
12-Bit seq # Option (0x12), length 2:
End-Disc Option (0x13), length 9: MAC 00:1e:67:00:00:03
0x0000: 0300 1e67 0278 27
SRX не согласился с предложенными провайдером значениями папаметров, и послал список неугодных опций.
18:03:54.132528 Out
...
-----original packet-----
54:e0:32:00:00:01 > 00:1e:67:00:00:02, ethertype PPPoE S (0x8864), length 43: PPPoE [ses 37713]LCP (0xc021), length 23: LCP, Conf-Reject (0x04), id 2, length 23
encoded length 21 (=Option(s) length 17)
0x0000: c021 0402 0015
PFC Option (0x07), length 2:
MRRU Option (0x11), length 4: 2048
0x0000: 0800
12-Bit seq # Option (0x12), length 2:
End-Disc Option (0x13), length 9: MAC 00:1e:67:00:00:03
0x0000: 0300 1e67 0278 27
Провайдер еще раз предлагает метот аутентификации PAP
18:03:54.134273 In
...
-----original packet-----
00:1e:67:00:00:02 > 54:e0:32:00:00:01, ethertype PPPoE S (0x8864), length 60: PPPoE [ses 37713]LCP (0xc021), length 20: LCP, Conf-Request (0x01), id 3, length 20
encoded length 18 (=Option(s) length 14)
0x0000: c021 0103 0012
MRU Option (0x01), length 4: 1492
0x0000: 05d4
Magic-Num Option (0x05), length 6: 0x2840ee38
0x0000: 2840 ee38
Auth-Prot Option (0x03), length 4: PAP
0x0000: c023
SRX поправляет и предлагает CHAP.
18:03:54.134654 Out
...
-----original packet-----
54:e0:32:00:00:01 > 00:1e:67:00:00:02, ethertype PPPoE S (0x8864), length 31: PPPoE [ses 37713]LCP (0xc021), length 11: LCP, Conf-Nack (0x03), id 3, length 11
encoded length 9 (=Option(s) length 5)
0x0000: c021 0303 0009
Auth-Prot Option (0x03), length 5: CHAP, MD5
0x0000: c223 05
Последние два сообщения еще раз десять ходят в обе стороны и потом согласование параметров начинается заново.
https://ru.wikipedia.org/wiki/LCP
Быстрые записки по cisco.
2. Перенумеровать правила в acl.
router(config)#ip access-list resequence test-access 10 5
test-access - имя расширенного списка доступа, здесь может стоять номер списка.
10 - номер первого правила в списке доступа
5 - шаг нумерации
1. Посмотеть что не попадает в CEF.
#sh cef not-cef-switched
CEF Packets passed on to next switching layer
Slot No_adj No_encap Unsupp'ted Redirect Receive Options Access Frag
RP 1552463 0 0 614954 1732554 0 0 0
---
http://admindoc.ru/1419/ip-routing-and-forwarding/
Референс:
http://www.cisco.com/c/en/us/td/docs/ios/ipswitch/command/reference/isw_book/isw_s1.html#wp1118673
router(config)#ip access-list resequence test-access 10 5
test-access - имя расширенного списка доступа, здесь может стоять номер списка.
10 - номер первого правила в списке доступа
5 - шаг нумерации
1. Посмотеть что не попадает в CEF.
#sh cef not-cef-switched
CEF Packets passed on to next switching layer
Slot No_adj No_encap Unsupp'ted Redirect Receive Options Access Frag
RP 1552463 0 0 614954 1732554 0 0 0
---
http://admindoc.ru/1419/ip-routing-and-forwarding/
Референс:
http://www.cisco.com/c/en/us/td/docs/ios/ipswitch/command/reference/isw_book/isw_s1.html#wp1118673
20160130
Быстрые заметки по mysql
8. Сбросить рутовый пароль
Останавливаем mysql
# /etc/init.d/mysqld stop
Stopping mysqld: [ OK ]
Запускаем mysql в безопасном режиме.
# /usr/bin/mysqld_safe --skip-grant-tables --user=root &
[1] 6363
# 160206 12:54:08 mysqld_safe Logging to '/var/log/mysqld.log'.
160206 12:54:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Заходим под рутом без пароля.
# mysql -u root
Переключаемся на базу mysql.
mysql> USE mysql;
Смотрим список таблиц и содержаение таблицы user.
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
...
| user |
+---------------------------+
23 rows in set (0.00 sec)
mysql> SELECT * FROM user
В таблице user так же есть пароли и настройки всех остальных пользователей.
Задаем новый пароль P@s$ = меняем значение поля Password
mysql> UPDATE user SET Password=PASSWORD('P@s$') WHERE User='root';
Функция "PASSWORD()" используется для шифрования.
Выходим и перезапускаем mysql
mysql> exit
Bye
# /etc/init.d/mysqld restart
160206 13:12:50 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[1]+ Done /usr/bin/mysqld_safe --skip-grant-tables --user=root
7. Изменить значение поля в строке
Есть строка.
mysql> SELECT * FROM logcon_views;
+----+-------------+-------------------------------------+--------+---------+
| ID | DisplayName | Columns | userid | groupid |
+----+-------------+-------------------------------------+--------+---------+
| 2 | SRX-FILTER | SRX, TIME_UTC_6, TIME_UTC, msg, 111 | NULL | NULL |
+----+-------------+-------------------------------------+--------+---------+
1 row in set (0.00 sec)
6. Удалить строку из таблицы
Есть такая таблица.
mysql> select * from logcon_fields;
+--------------+------------------+--------------+
| FieldID | FieldDefine | FieldCaption |
+--------------+------------------+--------------+
| SRX | SYSLOG_SRX | SRX |
| TIME (UTC+6) | SYSLOG_TIME_UTC6 | TIME (UTC+6) |
+--------------+------------------+--------------+
2 rows in set (0.00 sec)
]# cat /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
CREATE DATABASE rsyslog_db;
USE rsyslog_db;
CREATE TABLE SystemEvents
(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
#....
SystemID int NULL
);
CREATE TABLE SystemEventsProperties
(
ID int unsigned not null auto_increment primary key,
SystemEventID int NULL ,
ParamName varchar(255) NULL ,
ParamValue text NULL
);
Проверяем.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti_db |
| mysql |
| racktables_db |
| rsyslog_db |
| viewvc_db |
+--------------------+
6 rows in set (0.00 sec)
mysql> use rsyslog_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------------+
| Tables_in_rsyslog_db |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
6. Дать права пользователю на базу и задать пароль.
mysql> grant all privileges on rsyslog_db.* to rsyslog_user@localhost identified by 'P@Ss';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
5. Создать пользователя
mysql> create user rsyslog_user@localhost;
Query OK, 0 rows affected (0.00 sec)
4. Удалить пользователя
mysql> drop user rsyslog_user@localhost;
Query OK, 0 rows affected (0.00 sec)
3. Удалить базу
mysql> drop database rsyslog_db;
Query OK, 13 rows affected (0.00 sec)
2. Посмотреть имеющиеся базы
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti_db |
| mysql |
| racktables_db |
| rsyslog_db |
| viewvc_db |
+--------------------+
6 rows in set (0.00 sec)
1. Заход
Заход под root на localhost, пароль надо ввести.
# mysql -u root -p
Enter password:
Останавливаем mysql
# /etc/init.d/mysqld stop
Stopping mysqld: [ OK ]
Запускаем mysql в безопасном режиме.
# /usr/bin/mysqld_safe --skip-grant-tables --user=root &
[1] 6363
# 160206 12:54:08 mysqld_safe Logging to '/var/log/mysqld.log'.
160206 12:54:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Заходим под рутом без пароля.
# mysql -u root
Переключаемся на базу mysql.
mysql> USE mysql;
Смотрим список таблиц и содержаение таблицы user.
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
...
| user |
+---------------------------+
23 rows in set (0.00 sec)
mysql> SELECT * FROM user
В таблице user так же есть пароли и настройки всех остальных пользователей.
Задаем новый пароль P@s$ = меняем значение поля Password
mysql> UPDATE user SET Password=PASSWORD('P@s$') WHERE User='root';
Функция "PASSWORD()" используется для шифрования.
Выходим и перезапускаем mysql
mysql> exit
Bye
# /etc/init.d/mysqld restart
160206 13:12:50 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[1]+ Done /usr/bin/mysqld_safe --skip-grant-tables --user=root
7. Изменить значение поля в строке
Есть строка.
mysql> SELECT * FROM logcon_views;
+----+-------------+-------------------------------------+--------+---------+
| ID | DisplayName | Columns | userid | groupid |
+----+-------------+-------------------------------------+--------+---------+
| 2 | SRX-FILTER | SRX, TIME_UTC_6, TIME_UTC, msg, 111 | NULL | NULL |
+----+-------------+-------------------------------------+--------+---------+
1 row in set (0.00 sec)
Хотим изменить значение поля Columns в строке с ID равным 2.
mysql> UPDATE logcon_views SET Columns = 'SRX, TIME_UTC_6, TIME_UTC, msg' WHERE ID = 2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
6. Удалить строку из таблицы
Есть такая таблица.
mysql> select * from logcon_fields;
+--------------+------------------+--------------+
| FieldID | FieldDefine | FieldCaption |
+--------------+------------------+--------------+
| SRX | SYSLOG_SRX | SRX |
| TIME (UTC+6) | SYSLOG_TIME_UTC6 | TIME (UTC+6) |
+--------------+------------------+--------------+
2 rows in set (0.00 sec)
Хотим удалить вторую строку.
mysql> DELETE FROM logcon_fields WHERE FieldID ="TIME (UTC+6)";
Query OK, 1 row affected (0.00 sec)
5. Создать базу из шаблона
Есть вот такой шаблон базы для rsyslog.]# cat /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
CREATE DATABASE rsyslog_db;
USE rsyslog_db;
CREATE TABLE SystemEvents
(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
#....
SystemID int NULL
);
CREATE TABLE SystemEventsProperties
(
ID int unsigned not null auto_increment primary key,
SystemEventID int NULL ,
ParamName varchar(255) NULL ,
ParamValue text NULL
);
Что бы создать эту базу даем след. команду:
# mysql -u root -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
# mysql -u root -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti_db |
| mysql |
| racktables_db |
| rsyslog_db |
| viewvc_db |
+--------------------+
6 rows in set (0.00 sec)
mysql> use rsyslog_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------------+
| Tables_in_rsyslog_db |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
6. Дать права пользователю на базу и задать пароль.
mysql> grant all privileges on rsyslog_db.* to rsyslog_user@localhost identified by 'P@Ss';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
5. Создать пользователя
mysql> create user rsyslog_user@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> drop user rsyslog_user@localhost;
Query OK, 0 rows affected (0.00 sec)
3. Удалить базу
mysql> drop database rsyslog_db;
Query OK, 13 rows affected (0.00 sec)
2. Посмотреть имеющиеся базы
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti_db |
| mysql |
| racktables_db |
| rsyslog_db |
| viewvc_db |
+--------------------+
6 rows in set (0.00 sec)
1. Заход
Заход под root на localhost, пароль надо ввести.
# mysql -u root -p
Enter password:
20160114
bash скрипты
3.Переместить файл и добавить в имя дату и время перемещения.
#!/bin/sh
mv /var/www/html/dump/dump.xml /var/www/html/dump/dump.xml.$(date +"%Y%m%d-%H%M")
cp /home/rkn/dump.xml /var/www/html/dump/dump.xml
2. Переместить логи которые заархивировал logrotate и удалить логи странше 60 дней.
#!/bin/sh
mv /var/log/somelog/*.gz /var/log/somelog/archive/
find /var/log/somelog/archive/ -type f -mtime +60 -delete
Культурнее.
#!/bin/bash
branch_dir=(offce1 office2)
for i in ${branch_dir[@]}; do
mv /var/log/somelog/$i/*.gz /var/log/somelog/1archive-$i/
find /var/log/somelog/1archive-$i/ -type f -mtime +60 -delete
1. Сравнить ip адрес у url без\с www
#!/bin/sh
url=$1
host $url | head -n 1
host www.$url | head -n 1
#!/bin/sh
mv /var/www/html/dump/dump.xml /var/www/html/dump/dump.xml.$(date +"%Y%m%d-%H%M")
cp /home/rkn/dump.xml /var/www/html/dump/dump.xml
2. Переместить логи которые заархивировал logrotate и удалить логи странше 60 дней.
#!/bin/sh
mv /var/log/somelog/*.gz /var/log/somelog/archive/
find /var/log/somelog/archive/ -type f -mtime +60 -delete
Культурнее.
#!/bin/bash
branch_dir=(offce1 office2)
for i in ${branch_dir[@]}; do
mv /var/log/somelog/$i/*.gz /var/log/somelog/1archive-$i/
find /var/log/somelog/1archive-$i/ -type f -mtime +60 -delete
1. Сравнить ip адрес у url без\с www
#!/bin/sh
url=$1
host $url | head -n 1
host www.$url | head -n 1
20160103
Быстрые заметки по FireFox
3. Базовый набор плагинов.
habrahabr.ru/post/195052/
2. Приватный рехим при старте FF.
2.1 kostya@aee:~$ firefox --private --no-remote
2.2 kostya@aee:~$ firefox -P newprofile1 --no-remote
about:config
browser.privatebrowsing.autostart -> true
Визуально понять, что находишься в приватном режиме можно только с помощью мемменджера "Firefox Hello", иконка будет в виде пустого облачка разговора.
1. Создание и запуск нового профиля.
Что бы запустить меню где можно сделать еще один профиль даем команду:
kostya@aee:~$ firefox -P
Запусть новый профиль:
kostya@aee:~$ firefox -P newprofile1 --no-remote
habrahabr.ru/post/195052/
Adblock Plus
NoScript
Cookie Monster
Download YouTube Videos as MP4
2. Приватный рехим при старте FF.
2.1 kostya@aee:~$ firefox --private --no-remote
2.2 kostya@aee:~$ firefox -P newprofile1 --no-remote
about:config
browser.privatebrowsing.autostart -> true
Визуально понять, что находишься в приватном режиме можно только с помощью мемменджера "Firefox Hello", иконка будет в виде пустого облачка разговора.
1. Создание и запуск нового профиля.
Что бы запустить меню где можно сделать еще один профиль даем команду:
kostya@aee:~$ firefox -P
Запусть новый профиль:
kostya@aee:~$ firefox -P newprofile1 --no-remote
20151203
Быстрые заметки по awk
2. Отформатировать список адресов под junos address-book.
Есть список ip-адресов и имен серверов:
$ cat TEST-SERV-LOW
192.168.1.1;server1
192.168.1.2;server2
192.168.1.3;server3
192.168.1.4;server4
Этот список надо быстро добавить через "load set relative" в address-book.
Делаем address и address-set.
-- Поменяем регистр имен:
$ tr [:lower:] [:upper:] <TEST-SERV-LOW> TEST-SERV-UP
$ cat TEST-SERV-UP
192.168.1.1;SERVER1
192.168.1.2;SERVER2
192.168.1.3;SERVER3
192.168.1.4;SERVER4
-- С помощью awk печатаем команды:
$ awk -F ';' '{ print "set address " $2 " " $1}' TEST-SERV-UP > server-set-load | awk -F ';' '{print "set address-set SET-SERVER-IP " $2}' TEST-SERV-UP >> server-set-load
$ cat server-set-load
set address SERVER1 192.168.1.1
set address SERVER2 192.168.1.2
set address SERVER3 192.168.1.3
set address SERVER4 192.168.1.4
set address-set SET-SERVER-IP SERVER1
set address-set SET-SERVER-IP SERVER2
set address-set SET-SERVER-IP SERVER3
set address-set SET-SERVER-IP SERVER4
1. Сумма чисел.
Есть вот такой лог, файл test1:
[18/Nov/2015 21:18:03] {pktdrop} Last message repeated 4 times
[18/Nov/2015 21:18:03] {pktdrop} Last message repeated 3 times
[18/Nov/2015 21:18:03] {pktdrop} Last message repeated 13 times
[18/Nov/2015 21:18:03] {pktdrop} Last message repeated 8 times
[18/Nov/2015 21:18:03] {pktdrop} Last message repeated 3 times
Надо посчитать сколько раз повторялось сообщение.
В качестве разделителя используется пробел, числа которые надо сложить находятся в 7-й переменной.
Что бы вывести только эти числа даем команду:
[k@redpc ~]$ awk -F ' ' '{print $7}' test1
4
3
13
8
3
Суммируем эти числа:
[k@redpc ~]$ awk -F ' ' '{print $7}' test1 | awk '{ x += $0 } END {print x}'
31
или можно сразу так:
[k@redpc ~]$ awk '{ x += $7 } END {print x}' test1
31
20150903
Установка VMwareTools на Centos.
1. Включаем ВМ.
2. Подключаем из esxi клиента образ с vmwaretools.
Правой кнопкой мыши по ВМ -> Guest -> Install/Upgrade VMware Tools
3. Монтируем cdrom с образом.
root@sbc2 ~
# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
root@sbc2 ~
# ll /mnt/
total 62915
-r-xr-xr-x 1 root root 1970 Aug 22 2014 manifest.txt
-r-xr-xr-x 1 root root 1850 Aug 22 2014 run_upgrader.sh
-r--r--r-- 1 root root 63024310 Aug 22 2014 VMwareTools-9.4.10-2068191.tar.gz
-r-xr-xr-x 1 root root 693484 Aug 22 2014 vmware-tools-upgrader-32
-r-xr-xr-x 1 root root 702400 Aug 22 2014 vmware-tools-upgrader-64
2. Подключаем из esxi клиента образ с vmwaretools.
Правой кнопкой мыши по ВМ -> Guest -> Install/Upgrade VMware Tools
3. Монтируем cdrom с образом.
root@sbc2 ~
# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
root@sbc2 ~
# ll /mnt/
total 62915
-r-xr-xr-x 1 root root 1970 Aug 22 2014 manifest.txt
-r-xr-xr-x 1 root root 1850 Aug 22 2014 run_upgrader.sh
-r--r--r-- 1 root root 63024310 Aug 22 2014 VMwareTools-9.4.10-2068191.tar.gz
-r-xr-xr-x 1 root root 693484 Aug 22 2014 vmware-tools-upgrader-32
-r-xr-xr-x 1 root root 702400 Aug 22 2014 vmware-tools-upgrader-64
4. Распаковываем архив.
root@sbc2 ~
# mkdir vmtool
root@sbc2 ~
# cd vmtool/
root@sbc2 vmtool
# tar zxpf /mnt/VMwareTools-9.4.10-2068191.tar.gz
root@sbc2 vmtool
# ll
total 4
drwxr-xr-x 7 root root 4096 Aug 22 2014 vmware-tools-distrib
root@sbc2 vmtool
# cd vmware-tools-distrib/
root@sbc2 vmware-tools-distrib
# ll
total 480
drwxr-xr-x 2 root root 4096 Aug 22 2014 bin
drwxr-xr-x 2 root root 4096 Aug 22 2014 doc
drwxr-xr-x 5 root root 4096 Aug 22 2014 etc
-rw-r--r-- 1 root root 265487 Aug 22 2014 FILES
-rw-r--r-- 1 root root 2538 Aug 22 2014 INSTALL
drwxr-xr-x 2 root root 4096 Aug 22 2014 installer
drwxr-xr-x 14 root root 4096 Aug 22 2014 lib
-rwxr-xr-x 1 root root 197302 Aug 22 2014 vmware-install.pl
5. Ставим. На все вопросы отвечаем по дефолту, просто жмем Enter.
root@sbc2 vmware-tools-distrib
# ./vmware-install.pl
Creating a new VMware Tools installer database using the tar4 format.
Installing VMware Tools.
In which directory do you want to install the binary files?
[/usr/bin]
What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc/rc.d]
What is the directory that contains the init scripts?
[/etc/rc.d/init.d]
In which directory do you want to install the daemon files?
[/usr/sbin]
In which directory do you want to install the library files?
[/usr/lib/vmware-tools]
The path "/usr/lib/vmware-tools" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]
In which directory do you want to install the documentation files?
[/usr/share/doc/vmware-tools]
The path "/usr/share/doc/vmware-tools" does not exist currently. This program
is going to create it, including needed parent directories. Is this what you
want? [yes]
The installation of VMware Tools 9.4.10 build-2068191 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".
Before running VMware Tools for the first time, you need to configure it by
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
this program to invoke the command for you now? [yes]
Initializing...
Making sure services for VMware Tools are stopped.
Found a compatible pre-built module for vmci. Installing it...
Found a compatible pre-built module for vsock. Installing it...
The module vmxnet3 has already been installed on this system by another
installer or package and will not be modified by this installer.
Use the flag --clobber-kernel-modules=vmxnet3 to override.
The module pvscsi has already been installed on this system by another
installer or package and will not be modified by this installer.
Use the flag --clobber-kernel-modules=pvscsi to override.
The module vmmemctl has already been installed on this system by another
installer or package and will not be modified by this installer.
Use the flag --clobber-kernel-modules=vmmemctl to override.
The VMware Host-Guest Filesystem allows for shared folders between the host OS
and the guest OS in a Fusion or Workstation virtual environment. Do you wish
to enable this feature? [no]
Found a compatible pre-built module for vmxnet. Installing it...
The vmblock enables dragging or copying files between host and guest in a
Fusion or Workstation virtual environment. Do you wish to enable this feature?
[no]
VMware automatic kernel modules enables automatic building and installation of
VMware kernel modules at boot that are not already present. This feature can be
enabled/disabled by re-running vmware-config-tools.pl.
Would you like to enable VMware automatic kernel modules?
[no]
No X install found.
Creating a new initrd boot image for the kernel.
vmware-tools start/running
The configuration of VMware Tools 9.4.10 build-2068191 for Linux for this
running kernel completed successfully.
You must restart your X session before any mouse or graphics changes take
effect.
You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
command line.
To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.
Enjoy,
--the VMware team
20150902
Быстрые заметки по APC
2. Переключить web интерфейс обратно на http.
apc>web -S http
E002: Success
Reboot required for change to take effect.
apc>reboot
E000: Success
Reboot Management Interface
Enter 'YES' to continue or <ENTER> to cancel : yes
Rebooting...
1. Перезагрузка карты управления.
apc>web -S http
E002: Success
Reboot required for change to take effect.
apc>reboot
E000: Success
Reboot Management Interface
Enter 'YES' to continue or <ENTER> to cancel : yes
Rebooting...
1. Перезагрузка карты управления.
Из CLI
apc>reboot
E000: Success
Reboot Management Interface
Enter 'YES' to continue or <ENTER> to cancel : yes
Rebooting...
Сам ИБП продолжит работать.
20150830
Насильно применить конфигурацию на развалившемся кластере состоящим из двух Juniper SRX.
Предположим что есть кластер на нодах которого, в результате неудачного обновления, стоят разные версии Junos (ну и там еще data-link порвали).
{primary:node0}[edit]
root@srx-n0# run show system software
node0:
--------------------------------------------------------------------------
Information for junos:
Comment:
JUNOS Software Release [12.1X46-D35.1]
node1:
--------------------------------------------------------------------------
Information for junos:
Comment:
JUNOS Software Release [12.1X47-D25.4]
Обе RG работают на node0.
{primary:node0}[edit]
root@srx-n0# run show chassis cluster status
Monitor Failure codes:
CS Cold Sync monitoring FL Fabric Connection monitoring
GR GRES monitoring HW Hardware monitoring
IF Interface monitoring IP IP monitoring
LB Loopback monitoring MB Mbuf monitoring
NH Nexthop monitoring NP NPC monitoring
SP SPU monitoring SM Schedule monitoring
Cluster ID: 3
Node Priority Status Preempt Manual Monitor-failures
Redundancy group: 0 , Failover count: 1
node0 100 primary no no None
node1 1 secondary no no None
Redundancy group: 1 , Failover count: 1
node0 0 primary no no IF CS
node1 0 secondary no no IF CS
Применить какие-либо изменения в конфигурации нельзя - srx ругается:
{primary:node0}[edit]
root@srx-n0# commit check
node0:
configuration check succeeds
error: error communicating with
error: remote commit-configuration failed on node1
error: configuration check-out failed
error:
Connection to node1 has been broken
error: remote unlock-configuration failed on node1
Поиск по подобным ошибкам выводит на команду "commit synchronize force".
В моем случае она не сработала.
{primary:node0}[edit]
root@srx-n0# commit synchronize force
node0:
configuration check succeeds
error:
Connection to node1 has been broken
warning: pull configuration failed, fallback to push configuration method
error: remote load-configuration failed on node1
error: remote unlock-configuration failed on node1
Для меня решением была скрытая команда "commit force", конфигурация применилась только на одной ноде.
{primary:node0}[edit]
root@msk-02-srx3-n0# commit fo
^
syntax error.
root@msk-02-srx3-n0# commit force
node0:
commit complete
Вот.
{primary:node0}[edit]
root@srx-n0# run show system software
node0:
--------------------------------------------------------------------------
Information for junos:
Comment:
JUNOS Software Release [12.1X46-D35.1]
node1:
--------------------------------------------------------------------------
Information for junos:
Comment:
JUNOS Software Release [12.1X47-D25.4]
Обе RG работают на node0.
{primary:node0}[edit]
root@srx-n0# run show chassis cluster status
Monitor Failure codes:
CS Cold Sync monitoring FL Fabric Connection monitoring
GR GRES monitoring HW Hardware monitoring
IF Interface monitoring IP IP monitoring
LB Loopback monitoring MB Mbuf monitoring
NH Nexthop monitoring NP NPC monitoring
SP SPU monitoring SM Schedule monitoring
Cluster ID: 3
Node Priority Status Preempt Manual Monitor-failures
Redundancy group: 0 , Failover count: 1
node0 100 primary no no None
node1 1 secondary no no None
Redundancy group: 1 , Failover count: 1
node0 0 primary no no IF CS
node1 0 secondary no no IF CS
Применить какие-либо изменения в конфигурации нельзя - srx ругается:
{primary:node0}[edit]
root@srx-n0# commit check
node0:
configuration check succeeds
error: error communicating with
error: remote commit-configuration failed on node1
error: configuration check-out failed
error:
Connection to node1 has been broken
error: remote unlock-configuration failed on node1
и
{primary:node0}[edit]
root@srx-n0# commit
node0:
configuration check succeeds
error:
Connection to node1 has been broken
warning: pull configuration failed, fallback to push configuration method
error: remote load-configuration failed on node1
error: remote unlock-configuration failed on node1
В моем случае она не сработала.
{primary:node0}[edit]
root@srx-n0# commit synchronize force
node0:
configuration check succeeds
error:
Connection to node1 has been broken
warning: pull configuration failed, fallback to push configuration method
error: remote load-configuration failed on node1
error: remote unlock-configuration failed on node1
Для меня решением была скрытая команда "commit force", конфигурация применилась только на одной ноде.
{primary:node0}[edit]
root@msk-02-srx3-n0# commit fo
^
syntax error.
root@msk-02-srx3-n0# commit force
node0:
commit complete
Вот.
20150827
Процесс установки сигнатур application-identification на кластер из srx.
В отличии от лицензий все действия с сигнатурами можно делать только на основной ноде.
Скачиваем сигнатуры.
{primary:node0}
root@srx-n0> request services application-identification download
Please use command
"request services application-identification download status" to check download status
{primary:node0}
root@srx-n0> request services application-identification download status
Fetching/Uncompressing https://signatures.juniper.net/xmlupdate/226/Libqmprotocols/2528/libqmprotocols.tgz
Скачиваем сигнатуры.
{primary:node0}
root@srx-n0> request services application-identification download
Please use command
"request services application-identification download status" to check download status
{primary:node0}
root@srx-n0> request services application-identification download status
Fetching/Uncompressing https://signatures.juniper.net/xmlupdate/226/Libqmprotocols/2528/libqmprotocols.tgz
{primary:node0}
root@srx-n0> request services application-identification download status
Downloading application package 2528 succeed.
Инсталируем сигнатуры.
{primary:node0}
root@srx-n0> request services application-identification install
node0:
--------------------------------------------------------------------------
Please use command
"request services application-identification install status" to check install status
node1:
--------------------------------------------------------------------------
Please use command
"request services application-identification install status" to check install status
Следим за процессом.
{primary:node0}
root@srx-n0> request services application-identification install status
node0:
--------------------------------------------------------------------------
Checking compatibility of application package version 2528 ...
node1:
--------------------------------------------------------------------------
Checking compatibility of application package version 2528 ...
{primary:node0}
root@srx-n0> request services application-identification install status
node0:
--------------------------------------------------------------------------
Installed Application package (2528) successfully in RE,
Application package and Protocol bundle installation in pfe is in progress
node1:
--------------------------------------------------------------------------
Cleaning up legacy configurations in Junos configuration ...
{primary:node0}
root@srx-n0> request services application-identification install status
node0:
--------------------------------------------------------------------------
Installed Application package (2528) successfully in RE,
Application package and Protocol bundle installation in pfe is in progress
node1:
--------------------------------------------------------------------------
Installed Application package (2528) successfully in RE,
Application package and Protocol bundle installation in pfe is in progress
{primary:node0}
root@srx-n0> request services application-identification install status
node0:
--------------------------------------------------------------------------
Installed
Application package (2528) and Protocol bundle successfully
node1:
--------------------------------------------------------------------------
Installed Application package (2528) successfully in RE,
Application package and Protocol bundle installation in pfe is in progress
{primary:node0}
root@srx-n0> request services application-identification install status
node0:
--------------------------------------------------------------------------
Installed
Application package (2528) and Protocol bundle successfully
node1:
--------------------------------------------------------------------------
Installed
Application package (2528) and Protocol bundle successfully
Проверяем версии.
{primary:node0}
root@srx-n0> show services application-identification version
node0:
--------------------------------------------------------------------------
Application package version: 2528
node1:
--------------------------------------------------------------------------
Application package version: 2528
Смотрим на группы сигнатур.
{primary:node0}
root@srx-n0> show services application-identification group summary
node0:
--------------------------------------------------------------------------
Application Group(s): 90
Application Groups Disabled ID
junos:behavioral No 92
junos:unassigned No 91
junos:web:proxy No 48
junos:remote-access:interactive-desktop No 34
junos:infrastructure:mobile No 57
junos:web:wiki No 54
...
node1:
--------------------------------------------------------------------------
Application Group(s): 90
Application Groups Disabled ID
junos:behavioral No 92
junos:unassigned No 91
junos:web:proxy No 48
junos:remote-access:interactive-desktop No 34
junos:infrastructure:mobile No 57
junos:web:wiki No 54
...
Ставим триальную лицензию на кластер из srx.
Лицензии надо ставить на каждой ноде отдельно.
Сначала будем ставить лицензии на node0 которая является главной нодой для RG0 (там, где RE крутится).
root@srx-n0> show chassis cluster status
Monitor Failure codes:
CS Cold Sync monitoring FL Fabric Connection monitoring
GR GRES monitoring HW Hardware monitoring
IF Interface monitoring IP IP monitoring
LB Loopback monitoring MB Mbuf monitoring
NH Nexthop monitoring NP NPC monitoring
SP SPU monitoring SM Schedule monitoring
CF Config Sync monitoring
Cluster ID: 3
Node Priority Status Preempt Manual Monitor-failures
Redundancy group: 0 , Failover count: 3
node0 100 primary no no None
node1 1 secondary no no None
Redundancy group: 1 , Failover count: 1
node0 100 primary no no None
node1 0 secondary no no IF
Запрашиваем лицензии.
{primary:node0}
root@srx-n0> request system license update trial
Trying to update trial license keys from https://ae1.juniper.net, use 'show system license' to check status.
Сначала будем ставить лицензии на node0 которая является главной нодой для RG0 (там, где RE крутится).
root@srx-n0> show chassis cluster status
Monitor Failure codes:
CS Cold Sync monitoring FL Fabric Connection monitoring
GR GRES monitoring HW Hardware monitoring
IF Interface monitoring IP IP monitoring
LB Loopback monitoring MB Mbuf monitoring
NH Nexthop monitoring NP NPC monitoring
SP SPU monitoring SM Schedule monitoring
CF Config Sync monitoring
Cluster ID: 3
Node Priority Status Preempt Manual Monitor-failures
Redundancy group: 0 , Failover count: 3
node0 100 primary no no None
node1 1 secondary no no None
Redundancy group: 1 , Failover count: 1
node0 100 primary no no None
node1 0 secondary no no IF
{primary:node0}
root@srx-n0> request system license update trial
Trying to update trial license keys from https://ae1.juniper.net, use 'show system license' to check status.
Смотрим лицензии.
{primary:node0}
root@srx-n0> show system license
License usage:
Licenses Licenses Licenses Expiry
Feature name used installed needed
av_key_kaspersky_engine 0 1 0 2015-09-26 03:00:00 GMT-3
anti_spam_key_sbl 0 1 0 2015-09-26 03:00:00 GMT-3
wf_key_surfcontrol_cpa 0 1 0 2015-09-26 03:00:00 GMT-3
idp-sig 0 1 0 2015-09-26 03:00:00 GMT-3
dynamic-vpn 0 2 0 permanent
ax411-wlan-ap 0 2 0 permanent
appid-sig 0 1 0 2015-09-26 03:00:00 GMT-3
av_key_sophos_engine 0 1 0 2015-09-26 03:00:00 GMT-3
wf_key_websense_ewf 0 1 0 2015-09-26 03:00:00 GMT-3
Licenses installed:
....
Все хорошо.
Руками переключаемся на node1.
{primary:node0}
root@srx-n0> request chassis cluster failover redundancy-group 0 node 1
node1:
--------------------------------------------------------------------------
Initiated manual failover for redundancy group 0
Переключилось.
root@srx-n1> show chassis cluster status
Monitor Failure codes:
CS Cold Sync monitoring FL Fabric Connection monitoring
GR GRES monitoring HW Hardware monitoring
IF Interface monitoring IP IP monitoring
LB Loopback monitoring MB Mbuf monitoring
NH Nexthop monitoring NP NPC monitoring
SP SPU monitoring SM Schedule monitoring
CF Config Sync monitoring
Cluster ID: 3
Node Priority Status Preempt Manual Monitor-failures
Redundancy group: 0 , Failover count: 1
node0 100 secondary no yes None
node1 255 primary no yes None
Redundancy group: 1 , Failover count: 0
node0 100 primary no no None
node1 0 secondary no no IF
Запрашивем лицензии на node1.
{primary:node1}
root@srx-n1> request system license update trial
Trying to update trial license keys from https://ae1.juniper.net, use 'show system license' to check status.
Все загрузилось.
{primary:node1}
root@msk-02-srx3-n1> show system license
License usage:
Licenses Licenses Licenses Expiry
Feature name used installed needed
av_key_kaspersky_engine 0 1 0 2015-09-26 03:00:00 GMT-3
anti_spam_key_sbl 0 1 0 2015-09-26 03:00:00 GMT-3
wf_key_surfcontrol_cpa 0 1 0 2015-09-26 03:00:00 GMT-3
idp-sig 0 1 0 2015-09-26 03:00:00 GMT-3
dynamic-vpn 0 2 0 permanent
ax411-wlan-ap 0 2 0 permanent
appid-sig 0 1 0 2015-09-26 03:00:00 GMT-3
av_key_sophos_engine 0 1 0 2015-09-26 03:00:00 GMT-3
wf_key_websense_ewf 0 1 0 2015-09-26 03:00:00 GMT-3
Licenses installed:
...
Все.
20150810
Быстрые заметки по Huawei
1. Посмотреть серийный номер коммутатора.
<s5328>display elabel
...
[Board Properties]
BoardType=CX77XC
BarCode=21023516101234567890
Item=02351300
Description=Quidway S5328C-EI,CX7Z128CM,S5328C-EI Mainframe(24 10/100/1000Base-T,Chassis,Dual Slots of power,Without Flexible Card and Power Module)
Manufactured=2012-10-07
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
Серийник указан в поле BarCode.
Большая дока с указанием где искать серийные номера на оборудовании huawei:
http://huaweienterpriseusa.com/system/files/resources/How%20to%20collect%20SN.pdf?nid=797
<s5328>display elabel
...
[Board Properties]
BoardType=CX77XC
BarCode=21023516101234567890
Item=02351300
Description=Quidway S5328C-EI,CX7Z128CM,S5328C-EI Mainframe(24 10/100/1000Base-T,Chassis,Dual Slots of power,Without Flexible Card and Power Module)
Manufactured=2012-10-07
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
Серийник указан в поле BarCode.
Большая дока с указанием где искать серийные номера на оборудовании huawei:
http://huaweienterpriseusa.com/system/files/resources/How%20to%20collect%20SN.pdf?nid=797
20150726
Логирование информации о проходящем через Juniper SRX трафике.
Точка съема информации.
Снимать информацию о трафике можно как минимум с двух точек:
-- Правила файрвола, уровень [edit firewall ]
Тут видно просто факт прохождение пакета через фильтр, действие примененное к пакету, ip адреса и порты, протокол и интерфейс.
-- Правила политик безопасности, уровень [edit security policies]
На этом уровне можно получить гораздо больше информации. Здесь можно посмотреть номер сессии, ip адреса до и после ната, имена политик безопасности и пр.
Формат логов файрвола.
На syslog сервер логи приходят в таком формате:
Jul 24 04:50:49 srx srx PFE_FW_SYSLOG_IP: FW: fe-0/0/3.0 D tcp 1.1.1.1 9.9.9.9 53291 33434 (1 packets)
Jul 24 04:50:50 srx srx PFE_FW_SYSLOG_IP: FW: fe-0/0/3.0 R udp 2.2.2.2 9.9.9.9 53971 5060
(1 packets)
Jul 24 04:50:52 srx srx PFE_FW_SYSLOG_IP: FW: fe-0/0/3.0 A tcp 3.3.3.3 9.9.9.9 47321 443 (1 packets)
* Количество пакетов = (1 packets), не припомню что бы было больше.
Формат логов политик безопасности.
Сообщения от политик безопасности могут быть трех видов:
-- создание сессии, указатель RT_FLOW_SESSION_CREATE
-- запрет сессии, указатель RT_FLOW_SESSION_DENY
-- закрытие сессии, указатель RT_FLOW_SESSION_CLOSE
Логи снимались с srx на котором работает AppFW.
AppFW добавляет в лог несколько полей.
RT_FLOW_SESSION_CREATE
На syslog сервер логи приходят в таком формате:
2015-07-25T10:49:35.408+03:00 srx RT_FLOW: RT_FLOW_SESSION_CREATE: session created 10.90.80.50/55871->87.240.131.99/80 junos-http 9.9.9.9/29419->87.240.131.99/80 src-nat-rule1 None 6 DEBUG-DENY-ANY-LOG VPN PX 21949 N/A(N/A) gr-0/0/0.14 HTTP INCONCLUSIVE No
###Стандартные поля###
* Код (тип) сообщения = RT_FLOW
* Адрес источника (source-address) = 10.90.80.50
* Порт источника (source-port) = 55871
* Адрес назначение (destination-address) = 87.240.131.99
* Порт назначение (destination-port) = 80
* Имя приложения (service-name) = junos-http
* Адрес источника после nat (nat-source-address) = 9.9.9.9
* Порт источника после nat (nat-source-port) = 29419
* Адрес назначение после nat (nat-destination-address) = 87.240.131.99
* Порт назначение после nat (nat-destination-port) = 80
###N/A т.к. в данном случае srx не делает destination nat###
* Номер протокола (protocol-id) = 6, см. /etc/protocols (6 - tcp, 17 - udp, 1 - icmp)
* Имя политики безопасности (policy-name) = DEBUG-DENY-ANY-LOG
* Зона из которой идет трафик (source-zone-name) = VPN
* Зона в которую идет трафик (destination-zone-name) = PX
* Номер сессии (session-id-32) = 21949
* Имя пользователя (username) = N/A
* Принадлежность пользователя (roles) = N/A
###N/A т.к. на srx не настроено source-identity###
* Интерфейс через который пришел трафик (packet-incoming-interface) = gr-0/0/0.14
###Поля AppFW###
* Тип приложения (application) = HTTP
* Тип вложенного приложения (nested-application) = INCONCLUSIVE
###srx пока не разобрался что это за приложение и ставит тип incocnclusive т.к. прошел только syn пакет###
* Шифрование (encrypted) = No
RT_FLOW_SESSION_DENY
На syslog сервер логи приходят в таком формате:
2015-07-25T10:49:35.461+03:00 srx RT_FLOW: RT_FLOW_SESSION_DENY: session denied 10.90.80.50/55871->87.240.131.99/80 junos-http 6(0) DEBUG-DENY-ANY-LOG VPN PX HTTP VKONTAKTE N/A(N/A) gr-0/0/0.14 No appfw reject
* Код (тип) сообщения = RT_FLOW
* Адрес источника (source-address) = 10.90.80.50
* Порт источника (source-port) = 55871
* Адрес назначение (destination-address) = 87.240.131.99
* Порт назначение (destination-port) = 80
* Имя приложения (service-name) = junos-http
* Номер протокола (protocol-id) = 6, см. /etc/protocols (6 - tcp, 17 - udp, 1 - icmp)
* Тип icmp (icmp-type) = (0), указывает на тип icmp пакета который был отброшен.
###Если это был не icmp пакет, то в этом поле всегда будет стоять "(0)"###
* Имя политики безопасности (policy-name) = DEBUG-DENY-ANY-LOG
* Зона из которой идет трафик (source-zone-name) = VPN
* Зона в которую идет трафик (destination-zone-name) = PX
* Тип приложения (application) = HTTP
* Тип вложенного приложения (nested-application) = VKONTAKTE
* Имя пользователя (username) = N/A
* Принадлежность пользователя (roles) = N/A
###N/A т.к. на srx не настроено source-identity###
* Интерфейс через который пришел трафик (packet-incoming-interface) = gr-0/0/0.14
* Шифрование (encrypted) = No
* Причина закрытия сессии (reason) = ТCP RST, с обоих сторон был получен RST (??).
В данном случае RST послал srx.
###Остальные возможные причины см. ниже.###
* Адрес источника (source-address) = 10.90.80.50
* Порт источника (source-port) = 55871
* Адрес назначение (destination-address) = 87.240.131.99
* Порт назначение (destination-port) = 80
* Имя приложения (service-name) = junos-http
* Адрес источника после nat (nat-source-address) = 9.9.9.9
* Порт источника после nat (nat-source-port) = 29419
* Адрес назначение после nat (nat-destination-address) = 87.240.131.99
* Порт назначение после nat (nat-destination-port) = 80
###N/A т.к. в данном случае srx не делает destination nat###
* Номер протокола (protocol-id) = 6, см. /etc/protocols (6 - tcp, 17 - udp, 1 - icmp)
* Имя политики безопасности (policy-name) = DEBUG-DENY-ANY-LOG
* Зона из которой идет трафик (source-zone-name) = VPN
* Зона в которую идет трафик (destination-zone-name) = PX
* Номер сессии (session-id-32) = 21949
* Количество пакетов от источника (packets-from-client) = 3
* Тип вложенного приложения (nested-application) = VKONTAKTE
* Имя пользователя (username) = N/A
* Принадлежность пользователя (roles) = N/A
###N/A т.к. на srx не настроено source-identity###
* Интерфейс через который пришел трафик (packet-incoming-interface) = gr-0/0/0.14
* Шифрование (encrypted) = No
Причины закрытия сессии:
Снимать информацию о трафике можно как минимум с двух точек:
-- Правила файрвола, уровень [edit firewall ]
Тут видно просто факт прохождение пакета через фильтр, действие примененное к пакету, ip адреса и порты, протокол и интерфейс.
-- Правила политик безопасности, уровень [edit security policies]
На этом уровне можно получить гораздо больше информации. Здесь можно посмотреть номер сессии, ip адреса до и после ната, имена политик безопасности и пр.
Формат логов файрвола.
На syslog сервер логи приходят в таком формате:
Jul 24 04:50:49 srx srx PFE_FW_SYSLOG_IP: FW: fe-0/0/3.0 D tcp 1.1.1.1 9.9.9.9 53291 33434 (1 packets)
Jul 24 04:50:50 srx srx PFE_FW_SYSLOG_IP: FW: fe-0/0/3.0 R udp 2.2.2.2 9.9.9.9 53971 5060
(1 packets)
Jul 24 04:50:52 srx srx PFE_FW_SYSLOG_IP: FW: fe-0/0/3.0 A tcp 3.3.3.3 9.9.9.9 47321 443 (1 packets)
* Код (тип) сообщения = PFE_FW_SYSLOG_IP:, удобно использовать для настройки фильтров на syslog сервере.
* Указатель на источник сообщений = FW:, сообщения которые были получены в соответствии с настройками фильтров файрвола.
* Интерфейс на котором висит фильтр = fe-0/0/3.0.
* Действие = D, R, A (discard, reject, accept).
* Протокол = tcp, udp, ospf и пр.
* Адрес источника = 1.1.1.1
* Адрес назначение = 9.9.9.9
* Порт источника = 53291
* Порт назначения = 33434* Количество пакетов = (1 packets), не припомню что бы было больше.
Формат логов политик безопасности.
Сообщения от политик безопасности могут быть трех видов:
-- создание сессии, указатель RT_FLOW_SESSION_CREATE
-- запрет сессии, указатель RT_FLOW_SESSION_DENY
-- закрытие сессии, указатель RT_FLOW_SESSION_CLOSE
Логи снимались с srx на котором работает AppFW.
AppFW добавляет в лог несколько полей.
RT_FLOW_SESSION_CREATE
На syslog сервер логи приходят в таком формате:
2015-07-25T10:49:35.408+03:00 srx RT_FLOW: RT_FLOW_SESSION_CREATE: session created 10.90.80.50/55871->87.240.131.99/80 junos-http 9.9.9.9/29419->87.240.131.99/80 src-nat-rule1 None 6 DEBUG-DENY-ANY-LOG VPN PX 21949 N/A(N/A) gr-0/0/0.14 HTTP INCONCLUSIVE No
###Стандартные поля###
* Код (тип) сообщения = RT_FLOW
* Адрес источника (source-address) = 10.90.80.50
* Порт источника (source-port) = 55871
* Адрес назначение (destination-address) = 87.240.131.99
* Порт назначение (destination-port) = 80
* Имя приложения (service-name) = junos-http
* Адрес источника после nat (nat-source-address) = 9.9.9.9
* Порт источника после nat (nat-source-port) = 29419
* Адрес назначение после nat (nat-destination-address) = 87.240.131.99
* Порт назначение после nat (nat-destination-port) = 80
* Имя правила по которому делался source nat (src-nat-rule-name) = src-nat-rule1
* Имя правила по которому делался destination nat (dst-nat-rule-name) = None###N/A т.к. в данном случае srx не делает destination nat###
* Номер протокола (protocol-id) = 6, см. /etc/protocols (6 - tcp, 17 - udp, 1 - icmp)
* Имя политики безопасности (policy-name) = DEBUG-DENY-ANY-LOG
* Зона из которой идет трафик (source-zone-name) = VPN
* Зона в которую идет трафик (destination-zone-name) = PX
* Номер сессии (session-id-32) = 21949
* Имя пользователя (username) = N/A
* Принадлежность пользователя (roles) = N/A
###N/A т.к. на srx не настроено source-identity###
* Интерфейс через который пришел трафик (packet-incoming-interface) = gr-0/0/0.14
###Поля AppFW###
* Тип приложения (application) = HTTP
* Тип вложенного приложения (nested-application) = INCONCLUSIVE
###srx пока не разобрался что это за приложение и ставит тип incocnclusive т.к. прошел только syn пакет###
* Шифрование (encrypted) = No
RT_FLOW_SESSION_DENY
На syslog сервер логи приходят в таком формате:
2015-07-25T10:49:35.461+03:00 srx RT_FLOW: RT_FLOW_SESSION_DENY: session denied 10.90.80.50/55871->87.240.131.99/80 junos-http 6(0) DEBUG-DENY-ANY-LOG VPN PX HTTP VKONTAKTE N/A(N/A) gr-0/0/0.14 No appfw reject
* Код (тип) сообщения = RT_FLOW
* Адрес источника (source-address) = 10.90.80.50
* Порт источника (source-port) = 55871
* Адрес назначение (destination-address) = 87.240.131.99
* Порт назначение (destination-port) = 80
* Имя приложения (service-name) = junos-http
* Номер протокола (protocol-id) = 6, см. /etc/protocols (6 - tcp, 17 - udp, 1 - icmp)
* Тип icmp (icmp-type) = (0), указывает на тип icmp пакета который был отброшен.
###Если это был не icmp пакет, то в этом поле всегда будет стоять "(0)"###
* Имя политики безопасности (policy-name) = DEBUG-DENY-ANY-LOG
* Зона из которой идет трафик (source-zone-name) = VPN
* Зона в которую идет трафик (destination-zone-name) = PX
* Тип приложения (application) = HTTP
* Тип вложенного приложения (nested-application) = VKONTAKTE
* Имя пользователя (username) = N/A
* Принадлежность пользователя (roles) = N/A
###N/A т.к. на srx не настроено source-identity###
* Интерфейс через который пришел трафик (packet-incoming-interface) = gr-0/0/0.14
* Шифрование (encrypted) = No
* Указатель на то как и кем была отвергнута сессия (reason) = appfw reject
###В данном случае сессию закрыл AppFW действием reject. Без AppFW, в этом поле будет стоять просто deny или reject###
RT_FLOW_SESSION_CLOSE
На syslog сервер логи приходят в таком формате:
2015-07-25T10:49:37.211+03:00 srx RT_FLOW: RT_FLOW_SESSION_CLOSE: session closed TCP RST: 10.90.80.50/55871->87.240.131.99/80 junos-http 9.9.9.9/29419->87.240.131.99/80 src-nat-rule1 None 6 DEBUG-DENY-ANY-LOG VPN PX 21948 3(440) 7(6830) 2 HTTP VKONTAKTE N/A(N/A) gr-0/0/0.14 No* Причина закрытия сессии (reason) = ТCP RST, с обоих сторон был получен RST (??).
В данном случае RST послал srx.
###Остальные возможные причины см. ниже.###
* Адрес источника (source-address) = 10.90.80.50
* Порт источника (source-port) = 55871
* Адрес назначение (destination-address) = 87.240.131.99
* Порт назначение (destination-port) = 80
* Имя приложения (service-name) = junos-http
* Адрес источника после nat (nat-source-address) = 9.9.9.9
* Порт источника после nat (nat-source-port) = 29419
* Адрес назначение после nat (nat-destination-address) = 87.240.131.99
* Порт назначение после nat (nat-destination-port) = 80
* Имя правила по которому делался source nat (src-nat-rule-name) = src-nat-rule1
* Имя правила по которому делался destination nat (dst-nat-rule-name) = None###N/A т.к. в данном случае srx не делает destination nat###
* Номер протокола (protocol-id) = 6, см. /etc/protocols (6 - tcp, 17 - udp, 1 - icmp)
* Имя политики безопасности (policy-name) = DEBUG-DENY-ANY-LOG
* Зона из которой идет трафик (source-zone-name) = VPN
* Зона в которую идет трафик (destination-zone-name) = PX
* Номер сессии (session-id-32) = 21949
* Количество пакетов от источника (packets-from-client) = 3
* Количество байт от источника (bytes-from-client) = (440)
* Количество пакетов от назначения (packets-from-server) = 7
* Количество байт от назначени (bytes-from-server) = (6830)
* Длительность сессии в секундах (elapsed-time) = 2
* Тип приложения (application) = HTTP* Тип вложенного приложения (nested-application) = VKONTAKTE
* Имя пользователя (username) = N/A
* Принадлежность пользователя (roles) = N/A
###N/A т.к. на srx не настроено source-identity###
* Интерфейс через который пришел трафик (packet-incoming-interface) = gr-0/0/0.14
* Шифрование (encrypted) = No
** idle Timeout - сессия закрылась по таймауту. По дефолту таймаут для tcp составляет 1800 секунд, для udp 60 секунд.
** unset - невозможно открыть сессию из-за проблем на control-plane, например кончилась память.
** ТCP FIN - получен RST.
** ТCP FIN - получен FIN.
** response received - был полчен ответ, напримен был получен icmp-reply на ранее посланный icmp-echo.
** ICMP error - пришел icmp пакет с сообщение об ошибке.
** aged out - вышло время жизни активной сессии.
** ALG - сессию закрыло ALG.
** HA
** unset - невозможно открыть сессию из-за проблем на control-plane, например кончилась память.
** ТCP FIN - получен RST.
** ТCP FIN - получен FIN.
** response received - был полчен ответ, напримен был получен icmp-reply на ранее посланный icmp-echo.
** ICMP error - пришел icmp пакет с сообщение об ошибке.
** aged out - вышло время жизни активной сессии.
** ALG - сессию закрыло ALG.
** HA
** auth
** IDP - внутренняя ошибка idp.
** synproxy failure
** synproxy limit
** parent closed - закрылась родительская сессия.
** CLI - сессию закрыли комендой из cli.
** CP NACK
** CP delete
** policy delete
** fwd session
** multicast route change
** first path reroute, session recreated
** source NAT allocation failure
** other
** error create IKE pass-through template
** IKE pass-through chils session ageout
** sess timeout on panding state
** unknown - хз, чё=)
20150723
Настройка port-mirroring на Juniper SRX.
Настраиваем интерфейс srx к которому будет подключена машина с анализатором.
set interfaces fe-0/0/1 description server-name/port
set interfaces fe-0/0/1 unit 0 description span-port
set interfaces fe-0/0/1 unit 0 family inet address 10.11.12.1/30
set forwarding-options port-mirroring input rate 1
set forwarding-options port-mirroring input run-length 10
set forwarding-options port-mirroring family inet output interface fe-0/0/1.0 next-hop 10.11.12.2
Настраиваем правило файрволла для захвата трафика который хотим мирорить.
set interfaces fe-0/0/1 description server-name/port
set interfaces fe-0/0/1 unit 0 description span-port
set interfaces fe-0/0/1 unit 0 family inet address 10.11.12.1/30
set security zones security-zone MGMT interfaces fe-0/0/1.0 \
host-inbound-traffic system-services ping
set forwarding-options port-mirroring input rate 1
set forwarding-options port-mirroring input run-length 10
set forwarding-options port-mirroring family inet output interface fe-0/0/1.0 next-hop 10.11.12.2
Настраиваем правило файрволла для захвата трафика который хотим мирорить.
set firewall family inet filter PORT-MIRROR term PERMIT-ALL then port-mirror
set firewall family inet filter PORT-MIRROR term PERMIT-ALL then accept
set firewall family inet filter PORT-MIRROR term PERMIT-ALL then accept
Настраиваем интерфейс srx с которого будет мирорить трафик.
set interfaces gr-0/0/0 unit 14 family inet filter input PORT-MIRROR
set interfaces gr-0/0/0 unit 14 family inet filter output PORT-MIRROR
###Замечание.
На машине на которой работает анализатор надо обязательно настроить ip который задан в настройках srx. Если адрес не настраивать, а просто перевести порт в promiscuous режим, работать не будет. Srx не будет отправляться трафик в порт fe-0/0/1, скорее всего потому что не видит arp для 10.11.12.2 (??).
В итоге конфиг srx должен выглядеть так:
...
fe-0/0/1 {
description server-name/port;
unit 0 {
description span-port;
family inet {
address 10.11.12.1/30;
}
}
}
...
fe-0/0/1 {
description server-name/port;
unit 0 {
description span-port;
family inet {
address 10.11.12.1/30;
}
}
}
...
security-zone MGMT {
interfaces {
fe-0/0/1.0 {
host-inbound-traffic {
system-services {
ping;
}
}
}
}
}
...
forwarding-options {
port-mirroring {
input {
rate 1;
run-length 10;
}
family inet {
output {
interface fe-0/0/1.0 {
next-hop 10.11.12.2;
}
}
}
}
}
...
firewall {
family inet {
filter PORT-MIRROR {
term PERMIT-ALL {
then {
port-mirror;
accept;
}
}
}
}
}
...
}
gr-0/0/0 {
unit 14 {
tunnel {
source 1.1.1.1;
destination 1.1.1.2;
}
family inet {
filter {
input PORT-MIRROR;
output PORT-MIRROR;
}
address 10.11.12.5/30;
}
}
20150722
Быстрые заметки по wireshark\tcpdump
4. Увидеть номер vlan.
tcpdump -nnee -i eth1 -c 10
3. Захватить CDP.
tcpdump -nn -vvv -i en0 -s 1500 -c 1 'ether[20:2] == 0x2000
2. Захватить мультикаст и бродкаст.
[root@blackpc ~]# tcpdump -i eth1 -n -c 300 "broadcast or multicast"
1. Посмотреть SNI (Server Name Indication) в SSL трафике.
Wireshark
Применяем фильтры (в зависимости от версии WS):
- ssl.handshake.extensions_server_name
- ssl.handshake.extension.type == 0
- ssl.handshake.extension.type == "server_name"
Далее в отфильтрованном смотрим поле "Server Name:".
Путь:
tcpdump -nnee -i eth1 -c 10
3. Захватить CDP.
tcpdump -nn -vvv -i en0 -s 1500 -c 1 'ether[20:2] == 0x2000
2. Захватить мультикаст и бродкаст.
[root@blackpc ~]# tcpdump -i eth1 -n -c 300 "broadcast or multicast"
Wireshark
Применяем фильтры (в зависимости от версии WS):
- ssl.handshake.extensions_server_name
- ssl.handshake.extension.type == 0
- ssl.handshake.extension.type == "server_name"
Путь:
Secure Sockets Layer -->
TLS Record Layer -->
Handshake Protocol: Client Hello -->
Extension: server_name -->
Server Name Indication extension -->
Server Name: xakep.ru
Используем ssl.handshake.extension.data contains "xakep.ru" когда надо отфильтровать пакеты с определенным SNI.
Tcpdump
Команда:
tcpdump -i eth1 -s 1500 -X '(tcp[((tcp[12:1] & 0xf0) >> 2)+5:1] = 0x01) and (tcp[((tcp[12:1] & 0xf0) >> 2):1] = 0x16)'
Пример:
[root@blackpc ~]# tcpdump -i eth1 -s 1500 -X '(tcp[((tcp[12:1] & 0xf0) >> 2)+5:1] = 0x01)' and
'(tcp[((tcp[12:1] & 0xf0) >> 2):1] = 0x16)' and host 178.248.232.27
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 1500 bytes
14:44:29.950497 IP x.x.x.x.60044 > 178.248.232.27.https: Flags [P.], seq 2690445558:2690446075, ack 2960121525, win 115, options [nop,nop,TS val 100379054 ecr 1195184343], length 517
0x0000: 4500 0239 5960 4000 4006 769e c0a8 0d04 E..9Y`@.@.v.....
0x0010: b2f8 e81b ea8c 01bb a05c f0f6 b06f deb5 .........\...o..
0x0020: 8018 0073 6aec 0000 0101 080a 05fb a9ae ...sj...........
0x0030: 473d 10d7 1603 0102 0001 0001 fc03 0347 G=.............G
0x0040: edab 33fe a68e 1625 904e 404c d99c dc12 ..3....%.N@L....
0x0050: 645e de6e f35f d2a3 5fe4 920a 51a6 8820 d^.n._.._...Q...
0x0060: cf3b 1e81 07e6 a15c 5343 fb04 3e7e a684 .;.....\SC..>~..
0x0070: ba9e 5fd3 5ad5 fcf6 5969 21a2 0035 bdbe .._.Z...Yi!..5..
0x0080: 0024 c02b c02f 009e c00a c009 c013 c014 .$.+./..........
0x0090: c007 c011 0033 0032 0039 009c 002f 0035 .....3.2.9.../.5
0x00a0: 000a 0005 0004 0100 018f 0000 000d 000b ................
0x00b0: 0000 0878 616b 6570 2e72 75ff 0100 0100 ...xakep.ru.....
0x00c0: 000a 0008 0006 0017 0018 0019 000b 0002 ................
0x00d0: 0100 0023 00b0 8aec 9689 2d9d 7387 24ef ...#......-.s.$.
0x00e0: 1c8d e0b6 08ce 283b c5a7 174b 09cd 43db ......(;...K..C.
0x00f0: 87e3 3d9d f4ff 6cc8 c327 a9d3 9537 8e29 ..=...l..'...7.)
0x0100: 637f 7f7d e146 401c 84c5 b62d 38f6 284c c..}.F@....-8.(L
0x0110: 656a d3ab c460 77c2 d024 2b09 cf7c 94ca ej...`w..$+..|..
0x0120: a603 e410 38c9 4154 8ed5 4e67 b871 60ee ....8.AT..Ng.q`.
0x0130: 7ad0 e003 ccf4 dd49 67cf 32e8 881d 740d z......Ig.2...t.
0x0140: 5ebc 99f3 d08a cf2c f24a 0a28 b5ea 3157 ^......,.J.(..1W
0x0150: 78fb c9f0 f2ef 87aa bdb2 822c 1c61 d47c x..........,.a.|
0x0160: 68b7 b55c 0440 bf26 47f5 d5df acbf 6b3e h..\.@.&G.....k>
0x0170: d45d 7dc1 dd72 0abb abb2 183d 88a1 9237 .]}..r.....=...7
0x0180: 4cc4 9bfa 70ed 3374 0000 0010 001a 0018 L...p.3t........
0x0190: 0873 7064 792f 332e 3105 6832 2d31 3408 .spdy/3.1.h2-14.
0x01a0: 6874 7470 2f31 2e31 0005 0005 0100 0000 http/1.1........
0x01b0: 0000 1200 0000 0d00 1200 1004 0105 0102 ................
0x01c0: 0104 0305 0302 0304 0202 0200 1500 6a00 ..............j.
0x01d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x01e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x01f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0210: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0220: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0230: 0000 0000 0000 0000 00 .........
20150718
Перенос MediaWiki на новый сервер.
Создаем на новом сервер mysql базу и пользователя.
root@newserver# mysql -u root -p
mysql> create database wiki_db;
mysql> grant all privileges on wiki_db.* to wiki_user@localhost identified by 'pass';
mysql> flush privileges;
Копируем файлы mediawiki на новый сервер.
root@oldserver# cd /var/www/html
root@oldserver# tar zcvf /root/bup/mediawiki-$(date '+%Y%m%d').tgz mediawiki
root@oldserver# scp /root/bup/mediawiki-xxx.tgz root@newserver:/root/wiki-bup
root@newserver's password:
mediawiki-xxx.tgz 100% 23MB 11.8MB/s 00:02
Создаем дамп базы на старом сервере и копируем на новый.
root@oldserver# mysqldump --add-locks --complete-insert -u wiki_user -p wiki_db \
> /root/bup/wiki_db-$(date '+%Y%m%d').sql
root@oldserver# scp /root/bup/wiki_db-xxx.sql root@newserver:/root/wiki-bup
root@newserver's password:
wiki_db-xxx.sql 100% 4757KB 4.7MB/s 00:00
На новом сервере заливаем базу из дампа.
root@newserver# mysql -u wiki_user -p wiki_db < /root/wiki-bup/wiki_db-xxx.sql
Распаковываем файлы mediawiki новом сервере.
root@newserver: tar xvf /root/wiki-bup/mediawiki-xxx.tgz -C /var/www/
На новом сервере правим httpd.
vi /etc/httpd/conf.d/vhosts.conf
...
<VirtualHost *:80>
ServerAdmin a@b.c
DocumentRoot /var/www/mediawiki
ServerName wiki.b.c
ErrorLog logs/mediawiki_err_log
CustomLog logs/mediawiki_acc_log common
</VirtualHost>
vi /etc/httpd/conf.d/mediawiki.conf
...
Alias /mediawiki /var/www/html/mediawiki
Alias /view /var/www/html/mediawiki/index.php
...
Если новый сервер совсем свежий, на него только поставили минимальный LAMP, то надо доставить php-xml.
root@newserver# yum install php-xml
root@newserver# mysql -u root -p
mysql> create database wiki_db;
mysql> grant all privileges on wiki_db.* to wiki_user@localhost identified by 'pass';
mysql> flush privileges;
Копируем файлы mediawiki на новый сервер.
root@oldserver# cd /var/www/html
root@oldserver# tar zcvf /root/bup/mediawiki-$(date '+%Y%m%d').tgz mediawiki
root@oldserver# scp /root/bup/mediawiki-xxx.tgz root@newserver:/root/wiki-bup
root@newserver's password:
mediawiki-xxx.tgz 100% 23MB 11.8MB/s 00:02
Создаем дамп базы на старом сервере и копируем на новый.
root@oldserver# mysqldump --add-locks --complete-insert -u wiki_user -p wiki_db \
> /root/bup/wiki_db-$(date '+%Y%m%d').sql
root@oldserver# scp /root/bup/wiki_db-xxx.sql root@newserver:/root/wiki-bup
root@newserver's password:
wiki_db-xxx.sql 100% 4757KB 4.7MB/s 00:00
На новом сервере заливаем базу из дампа.
root@newserver# mysql -u wiki_user -p wiki_db < /root/wiki-bup/wiki_db-xxx.sql
Распаковываем файлы mediawiki новом сервере.
root@newserver: tar xvf /root/wiki-bup/mediawiki-xxx.tgz -C /var/www/
На новом сервере правим httpd.
vi /etc/httpd/conf.d/vhosts.conf
...
<VirtualHost *:80>
ServerAdmin a@b.c
DocumentRoot /var/www/mediawiki
ServerName wiki.b.c
ErrorLog logs/mediawiki_err_log
CustomLog logs/mediawiki_acc_log common
</VirtualHost>
...
vi /etc/httpd/conf.d/mediawiki.conf
...
Alias /mediawiki /var/www/html/mediawiki
Alias /view /var/www/html/mediawiki/index.php
...
Если новый сервер совсем свежий, на него только поставили минимальный LAMP, то надо доставить php-xml.
root@newserver# yum install php-xml
LAMP на Centos6
LAMP
L - Linux
A - Apache
M - MySQL
P- PHP
Ставим.
# yum install httpd mysql-server php php-mysql
Запускаем apache.
# /etc/init.d/httpd start
Starting httpd: [ OK ]
Запускаем mysql.
# /etc/init.d/mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h bender.ermoshin.pro password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
[ OK ]
Starting mysqld: [ OK ]
Делаем первичную настройку mysql.
# /usr/bin/mysql_secure_installation
Задаем пароль для root и везде отвечаем "y".
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Проверяем php.
# vi /var/www/html/info.php
Пишем.
<?php
phpinfo();
?>
L - Linux
A - Apache
M - MySQL
P- PHP
Ставим.
# yum install httpd mysql-server php php-mysql
Запускаем apache.
# /etc/init.d/httpd start
Starting httpd: [ OK ]
Запускаем mysql.
# /etc/init.d/mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h bender.ermoshin.pro password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
[ OK ]
Starting mysqld: [ OK ]
Делаем первичную настройку mysql.
# /usr/bin/mysql_secure_installation
Задаем пароль для root и везде отвечаем "y".
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Проверяем php.
# vi /var/www/html/info.php
Пишем.
<?php
phpinfo();
?>
Перзапускаем httpd и по http://server_ip/info.php должна появиться инфрмация о текущей версии php.
Включаем автозагрузку.
# chkconfig --level 2345 httpd on
# chkconfig --level 2345 mysqld on
Подписаться на:
Сообщения (Atom)