Найдите студента, использующего тот же роутер, что и вы сами. Соберитесь в группу и выполните следующее упражнение вместе. Выберите одного человека в группе, который будет работать с роутером - остальные должны помочь ему с конфигурированием.
Роутеры могут отправлять сообщения syslog в несколько мест, так что один роутер может отправлять сообщения на 4 или даже 5 машин. Следовательно, нам нужно настроить роутер посылать сообщения на каждую виртуальную машину в группе.
Зайдите на групповой роутер через SSH и сделайте следующее:
$ ssh cisco@10.10.X.254
rtrX> enable
rtrX# config terminal
Повторите следующую команду "logging 10.10.X.Y" для каждой машины в группе. То есть, если вы в группе 6 и вы используете машины 21, 22, 23, и 24, повторите команду четыре раза, указывая IP каждой машины (10.10.6.21, 10.10.6.22, и так далее).
rtrX(config)# logging 10.10.X.Y
...
rtrX(config)# logging facility local0
rtrX(config)# logging userinfo
rtrX(config)# exit
rtrX# write memory
Теперь выполните show logging
, чтобы увидеть сводку конфигурации логирования.
rtrX# show logging
Выйдите с роутера (exit)
rtrX# exit
Теперь роутер будет отправлять UDP пакеты SYSLOG на ваши виртуальные машины на порт 514. Чтобы это проверить, зайдите на вашу виртуальную машину и сделайте следующее:
$ sudo -s
# apt-get install tcpdump (не беспокойтесь, если он уже установлен)
# tcpdump -s0 -nv -i eth0 port 514
Затем, пусть один человек из группы опять зайдет на роутер и наберет:
$ ssh cisco@10.10.X.254
rtrX> enable
rtrX# config terminal
(config)# exit
rtrX> exit
На вашей машине, вы должны увидеть вывод TCPDUMPа. Он будет выглядеть примерно так:
08:01:12.154604 IP (tos 0x0, ttl 255, id 11, offset 0, flags [none], proto UDP (17), length 138)
10.10.9.254.57429 > 10.10.9.36.514: SYSLOG, length: 110
Facility local0 (16), Severity notice (5)
Msg: 23: *Feb 19 08:01:10.855: %SYS-5-PRIV_AUTH_PASS: Privilege level set to 15 by cisco on vty0 (10.10.0.117)
08:01:15.519881 IP (tos 0x0, ttl 255, id 12, offset 0, flags [none], proto UDP (17), length 130)
10.10.9.254.57429 > 10.10.9.36.514: SYSLOG, length: 102
Facility local0 (16), Severity notice (5)
Msg: 24: *Feb 19 08:01:14.215: %SYS-5-CONFIG_I: Configured from console by cisco on vty0 (10.10.0.117)
Теперь вы можете настроить програму логирования на вашей машине так, чтобы она получала эту информацию, и записывала ее в новый набор файлов.
Эти упражнения делаются с правами администратора. Если вы еще не получили прав администратора, наберите
$ sudo -s
Затем:
# apt-get update
# apt-get install syslog-ng syslog-ng-core
Найдите строки:
source s_src {
system();
internal();
};
и измените их на:
source s_src {
system();
internal();
udp();
};
Сохраните файл и выйдите из редактора.
Теперь, создайте новый раздел конфигурации для наших сетевых логов:
# cd /etc/syslog-ng/conf.d/
# editor 10-network.conf
Скопируйте в этот файл следующее:
filter f_routers { facility(local0); };
log {
source(s_src);
filter(f_routers);
destination(routers);
};
destination routers {
file("/var/log/network/$YEAR/$MONTH/$DAY/$HOST-$YEAR-$MONTH-$DAY-$HOUR.log"
owner(root) group(root) perm(0644) dir_perm(0755) create_dirs(yes)
template("$YEAR $DATE $HOST $MSG\n"));
};
Сохраните файл и выйдите из редактора.
# mkdir /var/log/network/
# service syslog-ng restart
Чтобы убедиться, что все работает, зайдите опять на роутер, и запустите какие-нибудь команды конфигурирования, потом уйдите с роутера. Например:
# ssh cisco@10.10.X.254
rtrX> enable
rtrX# config terminal
rtrX(config)# exit
rtrX> exit
Убедитесь, что вы вышли с роутера - если слишком много людей логинятся на роутер и не выходят, другие не могут получить доступ к роутеру.
$ cd /var/log/network
$ ls
$ cd 20XX
$ ls
... this will show you the directory for the month
... cd into this directory
$ ls
... repeat for the next level (the day of the month)
$ ls
Вы можете просмотреть получившийся файл логов при помощи таких программ как less, more, cat, tail, и других...
Если файлы не появляются в дереве каталогов /var/log/network, то тогда следует попробовать деактивировать/активировать интерфейс Loopback на роутере (в режиме конфигурации), а именно:
$ ssh cisco@rtrX
rtrX> enable
rtrX# conf t
rtrX(config)# interface Loopback 999
rtrX(config-if)# shutdown
подождите несколько секунд, затем:
rtrX(config-if)# no shutdown
Затем выполните exit
, и сохраните конфигурацию (write mem
):
rtrX(config-if)# exit
rtrX(config)# exit
rtrX# write memory
rtr1# exit
Проверьте логи в /var/log/network
# cd /var/log/network
# ls
...посмотрите в подкаталогах
Все еще нет логов?
Попробуйте выполнить следующую команду локально (на виртуальной машине):
# logger -p local0.info "Hello World\!"
Если файл все еще не был создан в подкаталоге /var/log/network
, проверьте вашу конфигурацию на предмет опечаток. Не забудьте перезапускать сервис syslog-ng каждый раз, когда вы меняете его настройки.
Какие другие команды вы можете выполнить на роутере (БУДЬТЕ ОСТОРОЖНЫ!), которые приведут к отправке сообщений syslog? Вы можете попробовать зайти на роутер и ввести неверный пароль для enable
.
Не забывайте выполнять команду ls
в каталоге логов, чтобы увидеть, когда и если там появится новый лог-файл.