FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp, ntp

Обсуждаем сайт и форум.

Модератор: f0s

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp, ntp

Непрочитанное сообщение vintovkin » 2014-11-02 19:35:36

Добрый день, в этой статье будет описана настройка некоторых протоколов, которые используются при управлении сетевого оборудования, в нашем варианте это Cisco в роли клиента, а FreeBSD сервер. Схема на рисунке 1.IP routing построен на loopback интерфейсах - на Cisco ip addr 7.7.7.7/32, FreeBSD interface eth1 192.168.1.1/32.IP адреса должны быть доступны, пинговаться и настраиваемые нами протоколы должны быть разрешены на ваших фаерволах, если таковые имеются, у меня он есть Checkpoint R76. Примечание; лаборатория построена на виртуалках в GNS3 (всё «оборудование» доступно по IP снаружи (port forwarding virtualbox)).
Вложения
1.jpg
Рисунок 1
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-02 20:00:55

SYSLOG (udp/514)
Задача:
1- Сливать логи по IP сети с Cisco на FreeBSD в отдельный файл.
2 - Записывать каждую команду введённую пользователем на Cisco.
3 - Настроить ротацию (архивирование), т.к. в случае если Cisco ASA будет лить туда логи, то за сутки такой файл может вырасти до нескольких Gb.
Настройка на стороне FreeBSD /etc/rc.conf ;

Код: Выделить всё

gns3#
gns3# uname -a
FreeBSD gns3 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
gns3#
gns3# cat /etc/rc.conf | grep syslog
syslogd_enable="YES"
syslogd_flags="-n -a 0.0.0.0/0:* -v -v"
gns3#


далее редактируем /etc/syslog.conf вашим любимым редактором (добавляем туда 2 строчки в начало файла), я вам покажу свой и вы там увидите 2 строчки которые относятся к нашему рутеру r7, обратите внимание, что для каждого рутера свой файл, и самое главное – НЕ ИСПОЛЬЗУЙТЕ ПРОБЕЛЫ ПРИ РЕДАКТИРОВАНИИ, только символ табуляции. Пишите всё в начало файла (сверху).

Код: Выделить всё

gns3# touch /var/log/r7.log
gns3# chmod 777 /var/log/r7.log
gns3# cat /etc/syslog.conf | grep -v '^#' | sed '/^$/d' | more
+1.1.1.1
*.*     /var/log/r1.log
+2.2.2.2
*.*     /var/log/r2.log
+192.168.1.2
*.*     /var/log/asa1.log
+7.7.7.7                                         ##########  это наш рутер
*.*     /var/log/r7.log               ########## это сам файл куда сливать логи
@*
*.err;kern.warning;auth.notice;mail.crit                /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err   /var/log/messages
security.*                                      /var/log/security
auth.info;authpriv.info                         /var/log/auth.log
mail.info                                       /var/log/maillog
lpr.info                                        /var/log/lpd-errs
ftp.info                                        /var/log/xferlog
cron.*                                          /var/log/cron
*.=debug                                        /var/log/debug.log
*.emerg                                         *
!ppp
*.*                                             /var/log/ppp.log
!*
gns3#
gns3#
gns3#
gns3# service syslogd restart
Stopping syslogd.
Starting syslogd.
gns3#
gns3# netstat -a | grep syslog
udp4       0      0 *.syslog               *.*
udp6       0      0 *.syslog               *.*
gns3#


для теста запускаем tcpdump на фряхе – ждём пакеты от 7.7.7.7 на udp/514 порт в интерфейс em1 :

Код: Выделить всё

gns3# tcpdump -i em1 -n -t -v proto UDP and port 514 and host 7.7.7.7
tcpdump: listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes


Настройка на Cisco отправки логов на сервер FreeBSD и логирование каждой команды.
Примечание это конфиг для IOS 15.0 и выше, если у вас IOS 12.х , то строчку «action 2.0 set _exit_status "1"»
не удастся написать (в нашей лабе старый IOS 12.x), выдаст ошибку, но это не страшно,
просто у вас в лог файле будет следом после команды пустая строка - вывод обновляйте IOS;

Код: Выделить всё

R7#sh ver | include IOS
Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(25b), RELEASE SOFTWARE (fc1)
R7#
!
ena
conf t
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
logging on
logging trap debugging
logging buffered 8192 debugging
logging source-interface Loopback0
logging host 192.168.1.1
event manager applet CLIaccounting
 event cli pattern ".*" sync no skip no
 action 1.0 syslog priority informational msg "$_cli_msg"
 action 2.0 set _exit_status "1"
end
wr
!


Короткие тесты на циско после того как всё настроенно вводим простые команды и проверка на фре - по сислогу вы всё сливаете в файл на вряху (это можно было бы и не писать, но если что то вдруг у вас пойдёт не так вы должны знать как траблшутить проблему):

Код: Выделить всё

R7#
R7#sh ip int br
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES NVRAM  up                    up
FastEthernet0/0.2          192.168.9.2     YES NVRAM  up                    up
FastEthernet0/0.3          192.168.10.2    YES NVRAM  up                    up
FastEthernet0/1            unassigned      YES NVRAM  administratively down down
Loopback0                  7.7.7.7         YES NVRAM  up                    up
Loopback1                  7.7.7.77        YES manual up                    up
Loopback2                  7.7.7.78        YES manual up                    up
R7#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R7(config)#int FastEthernet0/1
R7(config-if)#no shutdown
R7(config-if)#
R7(config-if)#
R7(config-if)#shutdown
R7(config-if)#end
R7#
R7#
R7#wr
Building configuration...
[OK]
R7#


Кусок из tcpdump и сам файл с логами /var/log/r7.log

Код: Выделить всё

IP (tos 0x0, ttl 254, id 29, offset 0, flags [none], proto UDP (17), length 96)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 68
        Facility local7 (23), Severity info (6)
        Msg: 111: Jun 13 13:45:56.036: %HA_EM-6-LOG: CLIaccounting: shutdown
IP (tos 0x0, ttl 254, id 30, offset 0, flags [none], proto UDP (17), length 38)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 10
        Facility local7 (23), Severity info (6)
        Msg: 112:
IP (tos 0x0, ttl 254, id 31, offset 0, flags [none], proto UDP (17), length 127)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 99
        Facility local7 (23), Severity notice (5)
        Msg: 113: Jun 13 13:45:57.864: %SYS-5-CONFIG_I: Configured from console by ed on vty0 (192.168.1.1)
IP (tos 0x0, ttl 254, id 32, offset 0, flags [none], proto UDP (17), length 91)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 63
        Facility local7 (23), Severity info (6)
        Msg: 114: Jun 13 13:45:57.904: %HA_EM-6-LOG: CLIaccounting: end
IP (tos 0x0, ttl 254, id 33, offset 0, flags [none], proto UDP (17), length 38)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 10
        Facility local7 (23), Severity info (6)
        Msg: 115:
IP (tos 0x0, ttl 254, id 34, offset 0, flags [none], proto UDP (17), length 141)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 113
        Facility local7 (23), Severity notice (5)
        Msg: 116: Jun 13 13:45:57.988: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
IP (tos 0x0, ttl 254, id 35, offset 0, flags [none], proto UDP (17), length 145)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 117
        Facility local7 (23), Severity notice (5)
        Msg: 117: Jun 13 13:45:58.988: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
IP (tos 0x0, ttl 254, id 36, offset 0, flags [none], proto UDP (17), length 93)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 65
        Facility local7 (23), Severity info (6)
        Msg: 118: Jun 13 13:46:00.621: %HA_EM-6-LOG: CLIaccounting: write
IP (tos 0x0, ttl 254, id 37, offset 0, flags [none], proto UDP (17), length 38)
    7.7.7.7.58029 > 192.168.1.1.514: SYSLOG, length: 10
        Facility local7 (23), Severity info (6)
        Msg: 119:
^C
23 packets captured
24484 packets received by filter
0 packets dropped by kernel
gns3#
gns3#
gns3#
gns3% cat /var/log/r7.log
Jun 13 17:44:23 <local7.info> 7.7.7.7 97: Jun 13 13:44:22.203: %HA_EM-6-LOG: CLIaccounting: show running-config
Jun 13 17:44:23 <local7.info> 7.7.7.7 98:
Jun 13 17:45:10 <local7.info> 7.7.7.7 99: Jun 13 13:45:09.800: %HA_EM-6-LOG: CLIaccounting: show ip interface brief
Jun 13 17:45:10 <local7.info> 7.7.7.7 100:
Jun 13 17:45:31 <local7.info> 7.7.7.7 101: Jun 13 13:45:30.508: %HA_EM-6-LOG: CLIaccounting: show ip interface brief
Jun 13 17:45:31 <local7.info> 7.7.7.7 102:
Jun 13 17:45:36 <local7.info> 7.7.7.7 103: Jun 13 13:45:35.720: %HA_EM-6-LOG: CLIaccounting: configure terminal
Jun 13 17:45:36 <local7.info> 7.7.7.7 104:
Jun 13 17:45:44 <local7.info> 7.7.7.7 105: Jun 13 13:45:43.660: %HA_EM-6-LOG: CLIaccounting: interface FastEthernet0/1
Jun 13 17:45:44 <local7.info> 7.7.7.7 106:
Jun 13 17:45:49 <local7.info> 7.7.7.7 107: Jun 13 13:45:48.268: %HA_EM-6-LOG: CLIaccounting: no shutdown
Jun 13 17:45:49 <local7.info> 7.7.7.7 108:
Jun 13 17:45:51 <local7.err> 7.7.7.7 109: Jun 13 13:45:50.212: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
Jun 13 17:45:51 <local7.notice> 7.7.7.7 110: Jun 13 13:45:51.212: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
Jun 13 17:45:57 <local7.info> 7.7.7.7 111: Jun 13 13:45:56.036: %HA_EM-6-LOG: CLIaccounting: shutdown
Jun 13 17:45:57 <local7.info> 7.7.7.7 112:
Jun 13 17:45:57 <local7.notice> 7.7.7.7 113: Jun 13 13:45:57.864: %SYS-5-CONFIG_I: Configured from console by ed on vty0 (192.168.1.1)
Jun 13 17:45:57 <local7.info> 7.7.7.7 114: Jun 13 13:45:57.904: %HA_EM-6-LOG: CLIaccounting: end
Jun 13 17:45:58 <local7.info> 7.7.7.7 115:
Jun 13 17:45:59 <local7.notice> 7.7.7.7 116: Jun 13 13:45:57.988: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
Jun 13 17:45:59 <local7.notice> 7.7.7.7 117: Jun 13 13:45:58.988: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
Jun 13 17:46:01 <local7.info> 7.7.7.7 118: Jun 13 13:46:00.621: %HA_EM-6-LOG: CLIaccounting: write
Jun 13 17:46:01 <local7.info> 7.7.7.7 119:
Jun 13 17:49:36 <local7.info> 7.7.7.7 120: Jun 13 13:49:35.816: %HA_EM-6-LOG: CLIaccounting: show running-config
Jun 13 17:49:36 <local7.info> 7.7.7.7 121:
Jun 13 17:50:07 <local7.info> 7.7.7.7 122: Jun 13 13:50:06.537: %HA_EM-6-LOG: CLIaccounting: configure terminal
Jun 13 17:50:07 <local7.info> 7.7.7.7 123:
Jun 13 17:50:11 <local7.info> 7.7.7.7 124: Jun 13 13:50:10.105: %HA_EM-6-LOG: CLIaccounting: event manager applet CLIaccounting
Jun 13 17:50:11 <local7.info> 7.7.7.7 125:
Jun 13 17:50:59 <local7.info> 7.7.7.7 126: Jun 13 13:50:58.034: %HA_EM-6-LOG: CLIaccounting: set _exit_status "1"
Jun 13 17:50:59 <local7.info> 7.7.7.7 127:
Jun 13 17:59:27 <local7.notice> 7.7.7.7 128: Jun 13 13:59:27.758: %SYS-5-CONFIG_I: Configured from console by ed on vty0 (192.168.1.1)
Jun 13 17:59:28 <local7.info> 7.7.7.7 129: Jun 13 13:59:27.802: %HA_EM-6-LOG: CLIaccounting: end
Jun 13 17:59:28 <local7.info> 7.7.7.7 130:
Jun 13 17:59:33 <local7.info> 7.7.7.7 131: Jun 13 13:59:32.486: %HA_EM-6-LOG: CLIaccounting: show running-config
Jun 13 17:59:33 <local7.info> 7.7.7.7 132:
Jun 13 17:59:46 <local7.info> 7.7.7.7 133: Jun 13 13:59:45.718: %HA_EM-6-LOG: CLIaccounting: configure terminal
Jun 13 17:59:46 <local7.info> 7.7.7.7 134:
Jun 13 18:00:14 <local7.info> 7.7.7.7 135: Jun 13 14:00:13.719: %HA_EM-6-LOG: CLIaccounting: service timestamps log datetime msec localtime show-timezone year
Jun 13 18:00:14 <local7.info> 7.7.7.7 136:
Jun 13 18:00:16 <local7.notice> 7.7.7.7 137: Jun 13 2014 17:00:16.003 Moscow: %SYS-5-CONFIG_I: Configured from console by ed on vty0 (192.168.1.1)
Jun 13 18:00:17 <local7.info> 7.7.7.7 138: Jun 13 14:00:16.047: %HA_EM-6-LOG: CLIaccounting: end
Jun 13 18:00:17 <local7.info> 7.7.7.7 139:
Jun 13 18:00:19 <local7.info> 7.7.7.7 140: Jun 13 14:00:18.915: %HA_EM-6-LOG: CLIaccounting: write
Jun 13 18:00:19 <local7.info> 7.7.7.7 141:
Jun 13 18:00:23 <local7.info> 7.7.7.7 142: Jun 13 14:00:22.547: %HA_EM-6-LOG: CLIaccounting: configure terminal
Jun 13 18:00:23 <local7.info> 7.7.7.7 143:
Jun 13 18:00:32 <local7.info> 7.7.7.7 144: Jun 13 2014 17:00:31.075 Moscow: %HA_EM-6-LOG: CLIaccounting: service timestamps debug datetime msec localtime show-timezone year
Jun 13 18:00:32 <local7.info> 7.7.7.7 145:
Jun 13 18:00:33 <local7.notice> 7.7.7.7 146: Jun 13 2014 17:00:33.143 Moscow: %SYS-5-CONFIG_I: Configured from console by ed on vty0 (192.168.1.1)
Jun 13 18:00:34 <local7.info> 7.7.7.7 147: Jun 13 2014 17:00:33.187 Moscow: %HA_EM-6-LOG: CLIaccounting: end
Jun 13 18:00:34 <local7.info> 7.7.7.7 148:
Jun 13 18:00:37 <local7.info> 7.7.7.7 149: Jun 13 2014 17:00:36.167 Moscow: %HA_EM-6-LOG: CLIaccounting: write
Jun 13 18:00:37 <local7.info> 7.7.7.7 150:
Jun 13 18:00:44 <local7.info> 7.7.7.7 151: Jun 13 2014 17:00:43.591 Moscow: %HA_EM-6-LOG: CLIaccounting: show running-config
Jun 13 18:00:44 <local7.info> 7.7.7.7 152:
gns3%


Ротация – за неё отвечает демон newsyslogd. Он запускается по крону каждый час просто добавьте туда 1 строчку, !!!используйте табуляцию!!!
/var/log/r7.log 644 7 100 * JC

Код: Выделить всё

gns3# cat /etc/newsyslog.conf | grep -v '^#' | sed '/^$/d' | more
/var/log/all.log                        600  7     *    @T00  J
/var/log/amd.log                        644  7     100  *     J
/var/log/auth.log                       600  7     100  @0101T JC
/var/log/console.log                    600  5     100  *     J
/var/log/cron                           600  3     100  *     JC
/var/log/daily.log                      640  7     *    @T00  JN
/var/log/debug.log                      600  7     100  *     JC
/var/log/kerberos.log                   600  7     100  *     J
/var/log/lpd-errs                       644  7     100  *     JC
/var/log/maillog                        640  7     *    @T00  JC
/var/log/messages                       644  5     100  @0101T JC
/var/log/monthly.log                    640  12    *    $M1D0 JN
/var/log/pflog                          600  3     100  *     JB    /var/run/pflogd.pid
/var/log/ppp.log        root:network    640  3     100  *     JC
/var/log/security                       600  10    100  *     JC
/var/log/sendmail.st                    640  10    *    168   B
/var/log/utx.log                        644  3     *    @01T05 B
/var/log/weekly.log                     640  5     1    $W6D0 JN
/var/log/xferlog                        600  7     100  *     JC
/var/log/mysql.log                      600  2     500  *     ZC
/var/log/snmptrapd.log                  644  7     100  *     JC
/var/log/r1.log                         644  7     100  *     JC
/var/log/r2.log                         644  7     100  *     JC
/var/log/r7.log                         644  7     100  *     JC
/var/log/asa1.log                       644  7     100  *     JC
/var/log/httpd-access.log               644  7     100  *     JC
gns3#


Примеры использования - вы можете, например дебажить IP OSPF пакеты, и вывод у вас будет идти в файл, а его вы можете грепать tail-ить и т.д.

Код: Выделить всё

R7#debug ip ospf packet
OSPF packet debugging is on
R7#

gns3%
gns3% tail -f /var/log/r7.log
Jun 13 18:17:15 <local7.debug> 7.7.7.7 186: Jun 13 2014 17:17:14.490 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:15 <local7.debug> 7.7.7.7 187:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:17:25 <local7.debug> 7.7.7.7 188: Jun 13 2014 17:17:24.478 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:25 <local7.debug> 7.7.7.7 189:       aid:0.0.0.0 chk:992B aut:0 auk: from FastEthernet0/0.2
Jun 13 18:17:25 <local7.debug> 7.7.7.7 190: Jun 13 2014 17:17:24.482 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:25 <local7.debug> 7.7.7.7 191:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:17:35 <local7.debug> 7.7.7.7 192: Jun 13 2014 17:17:34.486 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:35 <local7.debug> 7.7.7.7 193:       aid:0.0.0.0 chk:992B aut:0 auk: from FastEthernet0/0.2
Jun 13 18:17:35 <local7.debug> 7.7.7.7 194: Jun 13 2014 17:17:34.490 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:35 <local7.debug> 7.7.7.7 195:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:17:45 <local7.debug> 7.7.7.7 196: Jun 13 2014 17:17:44.491 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:45 <local7.debug> 7.7.7.7 197:       aid:0.0.0.0 chk:992B aut:0 auk: from FastEthernet0/0.2
Jun 13 18:17:45 <local7.debug> 7.7.7.7 198: Jun 13 2014 17:17:44.495 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:45 <local7.debug> 7.7.7.7 199:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:17:55 <local7.debug> 7.7.7.7 200: Jun 13 2014 17:17:54.475 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:55 <local7.debug> 7.7.7.7 201:       aid:0.0.0.0 chk:992B aut:0 auk: from FastEthernet0/0.2
Jun 13 18:17:55 <local7.debug> 7.7.7.7 202: Jun 13 2014 17:17:54.479 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:17:55 <local7.debug> 7.7.7.7 203:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:18:05 <local7.debug> 7.7.7.7 204: Jun 13 2014 17:18:04.487 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:18:05 <local7.debug> 7.7.7.7 205:       aid:0.0.0.0 chk:992B aut:0 auk: from FastEthernet0/0.2
Jun 13 18:18:05 <local7.debug> 7.7.7.7 206: Jun 13 2014 17:18:04.491 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:18:05 <local7.debug> 7.7.7.7 207:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:18:15 <local7.debug> 7.7.7.7 208: Jun 13 2014 17:18:14.499 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:18:15 <local7.debug> 7.7.7.7 209:       aid:0.0.0.0 chk:992B aut:0 auk: from FastEthernet0/0.2
Jun 13 18:18:15 <local7.debug> 7.7.7.7 210: Jun 13 2014 17:18:14.503 Moscow: OSPF: rcv. v:2 t:1 l:48 rid:192.168.1.100
Jun 13 18:18:15 <local7.debug> 7.7.7.7 211:       aid:0.0.0.0 chk:972B aut:0 auk: from FastEthernet0/0.3
Jun 13 18:18:21 <local7.info> 7.7.7.7 212: Jun 13 2014 17:18:20.335 Moscow: %HA_EM-6-LOG: CLIaccounting: undebug all
Jun 13 18:18:21 <local7.info> 7.7.7.7 213:
Jun 13 18:18:29 <local7.info> 7.7.7.7 214: Jun 13 2014 17:18:28.080 Moscow: %HA_EM-6-LOG: CLIaccounting: write
Jun 13 18:18:29 <local7.info> 7.7.7.7 215:
^C
gns3%


Есть хорошая статья по этой же теме, рекомендую http://www.lissyara.su/articles/freebsd ... co+syslog/
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-03 9:42:48

TFTP (udp/69)
Задача:
1 - Cливать startup-config по протоколу tftp c Cisco на сервер FreeBSD.
2 - Cделать alias “wс” (write config) чтобы не писать длинную команду .
Настройка на FreeBSD: tftp реализован в демоне inetd, обратите внимание на “–w” (write) в конце строки в /etc/inetd.conf ,
это важно - без неё не получится создавать, записывать свои файлы в директории:

Код: Выделить всё

gns3#
gns3# cd /usr/home/
gns3# mkdir tftpd
gns3# chmod 777 tftpd
gns3#
gns3# cat /etc/rc.conf | grep inetd
inetd_enable="YES"
gns3#
gns3# cat /etc/inetd.conf | grep -v '^#' | sed '/^$/d' | more | grep tftp
tftp    dgram   udp     wait    root    /usr/libexec/tftpd      tftpd -l -s /usr/home/tftpd -w
gns3#
gns3# service inetd restart
Stopping inetd.
Starting inetd.
gns3#
gns3# netstat -a | grep tftp
udp4       0      0 *.tftp                 *.*
gns3#


Проверка связи на циско:

Код: Выделить всё

R7#
R7#copy running-config tftp://192.168.1.1/r7-config
Address or name of remote host [192.168.1.1]?
Destination filename [r7-config]?
!!
2778 bytes copied in 1.564 secs (1776 bytes/sec)
R7#


Файл прилетел r7-config ,
и вы можете редактировать его не фре.

Код: Выделить всё

gns3%
gns3% ll /usr/home/tftpd/
total 4
-rw-r--r--  1 nobody  wheel  2778 Jun 13 19:46 r7-config
gns3%


Альяс (сокращение длиной команды в короткую wc )– конфигурация на циске :

Код: Выделить всё

!
ena
conf t
alias exec wc copy startup-config tftp://192.168.1.1/r7-config
end
wr
!


Проверка – сначала сохранитесь на циске copy runn start. После команды “wc” просто нажмите 2 раза подряд Enter
(циска говорит вам что будет использовать IP и имя файла в квадратных скобках нажатием на Enter вы соглашаетесь с этим):

Код: Выделить всё

R7#
R7#wc
Address or name of remote host [192.168.1.1]?
Destination filename [r7-config]?
!!
2841 bytes copied in 0.200 secs (14205 bytes/sec)
R7#
R7#


Примечание: tftp в качестве source interface берёт свой физический IP адрес и этот параметр не настраивается, впрочем как и сам протокол не имеет никаких настроек.
Траблшутинг при помощи того же tcpdump:

Код: Выделить всё

gns3#
gns3#
gns3# tcpdump -i em1 -n -t -v proto UDP and port 69
tcpdump: listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes
IP (tos 0x0, ttl 254, id 0, offset 0, flags [none], proto UDP (17), length 46)
    192.168.10.2.53027 > 192.168.1.1.69:  18 WRQ "r7-config" octet
^C
1 packet captured
817 packets received by filter
0 packets dropped by kernel
gns3#
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-03 11:13:29

FTP (tcp/21)
Задача:
1 - Автоматически сливать конфиг по протоколу ftp c Cisco на сервер FreeBSD при сохранении конфигурации (команда write автоматически запускает процесс, который копирует конфиг на сервер).
2 - На FreeBSD, нужно создать юзера (man adduser) под которым будет циска логинится на фрю. Cами конфиги циски будут в его домашней директории /usr/home/ftpcisco/ , имя и пароль у нас будут вот такие ftpcisco/SuperSecret2014

Код: Выделить всё

gns3#
gns3# adduser
Username: ftpcisco
Full name:
Uid (Leave empty for default):
Login group [ftpcisco]:
Login group is ftpcisco. Invite ftpcisco into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/ftpcisco]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : ftpcisco
Password   : *****
Full Name  :
Uid        : 1003
Class      :
Groups     : ftpcisco
Home       : /home/ftpcisco
Home Mode  :
Shell      : /bin/sh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (ftpcisco) to the user database.
Add another user? (yes/no): no
Goodbye!
gns3#
gns3#
gns3# cat /etc/rc.conf | grep ftpd
ftpd_enable="YES"
gns3#
gns3#
gns3# service ftpd restart
Stopping ftpd.
Starting ftpd.
gns3#
gns3#
gns3# netstat -a | grep ftp
tcp4       0      0 *.ftp                  *.*                    LISTEN
tcp6       0      0 *.ftp                  *.*                    LISTEN
udp4       0      0 *.tftp                 *.*
gns3#


Проверьте, чтобы вы могли зайти под вашим юзером:

Код: Выделить всё

gns3#
gns3# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220 gns3 FTP server (Version 6.00LS) ready.
Name (localhost:ed): ftpcisco
331 Password required for ftpcisco.
Password:
230 User ftpcisco logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
229 Entering Extended Passive Mode (|||58832|)
150 Opening ASCII mode data connection for '/bin/ls'.
total 64
-rw-r--r--  1 ftpcisco  ftpcisco  1016 Jun 14 10:15 .cshrc
-rw-r--r--  1 ftpcisco  ftpcisco   254 Jun 14 10:15 .login
-rw-r--r--  1 ftpcisco  ftpcisco   165 Jun 14 10:15 .login_conf
-rw-------  1 ftpcisco  ftpcisco   381 Jun 14 10:15 .mail_aliases
-rw-r--r--  1 ftpcisco  ftpcisco   338 Jun 14 10:15 .mailrc
-rw-r--r--  1 ftpcisco  ftpcisco   750 Jun 14 10:15 .profile
-rw-------  1 ftpcisco  ftpcisco   283 Jun 14 10:15 .rhosts
-rw-r--r--  1 ftpcisco  ftpcisco   980 Jun 14 10:15 .shrc
226 Transfer complete.
ftp> quit
221 Goodbye.
gns3#


Настройка на циске и сразу проверка – стандартная команда wr (write) в конце;

Код: Выделить всё

!
ena
conf t
ip ftp source-interface Loopback0
ip ftp username ftpcisco
ip ftp password SuperSecret2014
archive
 log config
  logging enable
  logging size 300
 path ftp://192.168.1.1/r7-config
 write-memory
 end
!
R7#wr
Building configuration...
[OK]
Writing r7-config-1 !
R7#


tcpdump и сам конфиг ниже, примечание: конфигов будет несколько – с каждым разом будет сохранятся новый файл, а не перезаписывать старый как в варианте с tftp, в конце файла цифра которая увеличивается с каждым разом на единицу, всего их 15, удаляться будет самый старый - система FIFO (см. show archive на циске)

Код: Выделить всё

gns3#
gns3# tcpdump -i em1 -n -t -v proto TCP and port 21 and host 7.7.7.7
tcpdump: listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes
IP (tos 0x0, ttl 254, id 49479, offset 0, flags [none], proto TCP (6), length 44)
    7.7.7.7.12708 > 192.168.1.1.21: Flags [S], cksum 0xecbf (correct), seq 2296124566, win 4128, options [mss 536], length 0
IP (tos 0x0, ttl 64, id 15644, offset 0, flags [DF], proto TCP (6), length 44)
    192.168.1.1.21 > 7.7.7.7.12708: Flags [S.], cksum 0x207e (correct), seq 228183735, ack 2296124567, win 65535, options [mss 536], length 0
IP (tos 0x0, ttl 254, id 49480, offset 0, flags [none], proto TCP (6), length 40)
    7.7.7.7.12708 > 192.168.1.1.21: Flags [.], cksum 0x247f (correct), ack 1, win 4128, length 0
^C
23 packets captured
1221 packets received by filter
0 packets dropped by kernel
gns3# ll /usr/home/ftpcisco/
-rw-r--r--  1 ftpcisco  ftpcisco  3070 Jun 14 10:43 r7-config-1
-rw-r--r--  1 ftpcisco  ftpcisco  3070 Jun 14 10:48 r7-config-2
-rw-r--r--  1 ftpcisco  ftpcisco  3070 Jun 14 10:49 r7-config-3
gns3#
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-03 12:44:54

SCP (tcp/22)
Задача: cливать конфиг по scp. SCP копирует конфиг внутри зашифрованного соединения по ssh. Имя и пароль берём из предыдущего примера с ftp (ftpcisco/SuperSecret2014), проверьте чтобы вы могли зайти на freebsd под данным username по ssh. Настройка циско - после команды crypto key generate rsa нажмите ENTER чтобы сгенерить ключ:

Код: Выделить всё

!
ena
conf t
ip domain name cisco.com
crypto key generate rsa
end
wr
!


Далее;

Код: Выделить всё

!
ena
conf t
ip ssh time-out 60
ip ssh authentication-retries 5
ip ssh source-interface Loopback0
ip ssh logging events
end
wr
!


Настройка ssh на фре:

Код: Выделить всё

gns3#
gns3# cat /etc/rc.conf | grep sshd
sshd_enable="YES"
gns3#
gns3#
gns3# cat /etc/ssh/sshd_config | grep -v '^#' | sed '/^$/d' | more
Port 22
Protocol 2
Subsystem       sftp    /usr/libexec/sftp-server
gns3#
gns3# service sshd restart
Stopping sshd.
Starting sshd.
gns3#
gns3# netstat -a | grep ssh
tcp4       0      0 *.ssh                  *.*                    LISTEN
tcp6       0      0 *.ssh                  *.*                    LISTEN
tcp4       0      0 gns3.ssh               10.0.2.2.11957         ESTABLISHED
gns3#
gns3#


Проверка настроек и примечание; пароль нужно вводить каждый раз вручную, как в ftp его нельзя вбить статически в конфиг:

Код: Выделить всё

R7#
R7#wr
Building configuration...
[OK]
Writing r7-config-8 !
R7#
R7#
R7#copy start scp://ftpcisco@192.168.1.1/r7-conf-ssh
Address or name of remote host [192.168.1.1]?
Destination username [ftpcisco]?
Destination filename [r7-conf-ssh]?
Writing r7-conf-ssh
Password:
 Sink: C0644 3177 r7-conf-ssh
!
3177 bytes copied in 3.732 secs (851 bytes/sec)
R7#


Здесь идёт разветвление, как, и какой протокол использовать, выбирать вам - либо ручками каждый раз писать команду, либо альяс как в настройке tftp прописать только для scp, либо указать путь в настройках archieve – вместо ftp:// указать scp:// тогда после сохранения (wr) циска будет сливать по ssh.
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-03 12:54:58

NTP (udp/123)
Задача: синхронизация времени на циско с ntp сервером на фре. Фря в нашем варианте синхронизируется с сервером 10.10.10.10 , у вас это может быть публичный сервер, на сайте есть хорошая статья по настройке ntp - http://www.lissyara.su/articles/freebsd ... _settings/. Настройка на фре;

Код: Выделить всё

gns3#
gns3# cat /etc/ntp.conf | grep -v '^#' | sed '/^$/d' | more
server 10.10.10.10 iburst
logfile /var/log/ntpd.log
gns3#
gns3#
gns3# cat /etc/rc.conf | grep ntp
ntpdate_enable="YES"
ntpdate_flags="10.10.10.10"
ntpd_sync_on_start="YES"
ntpd_enable="YES"
gns3# netstat -a | grep ntp
udp4       0      0 192.168.1.1.ntp        *.*
udp4       0      0 gns3.ntp               *.*
udp4       0      0 11.11.11.11.ntp        *.*
udp4       0      0 111.111.111.111.ntp    *.*
udp6       0      0 fe80:3::1.ntp          *.*
udp6       0      0 localhost.ntp          *.*
udp4       0      0 localhost.ntp          *.*
udp6       0      0 *.ntp                  *.*
udp4       0      0 *.ntp                  *.*
gns3#
gns3#
gns3# service ntpd restart
Stopping ntpd.
Starting ntpd.
gns3#
gns3#


на циске:

Код: Выделить всё

R7#show running-config | include ntp
ntp logging
ntp clock-period 17180183
ntp server 192.168.1.1 source Loopback0 prefer
R7#
R7#show ntp associations

      address         ref clock     st  when  poll reach  delay  offset    disp
*~192.168.1.1      10.10.10.10      3    89   128  377    27.0   13.52     4.5
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured
R7#
R7#


Команда ntp clock-period 17180183 появляется автоматически в конфиге – не обращайте на неё внимания. Если вдруг вы увидите, когда ни будь команду ntp update-calendar – это значит что циска синхронизирует с сервером ntp свои хардварные часы в материнке которые работают от батарейки.Траблшутинг:

Код: Выделить всё

gns3#
gns3# tcpdump -i em1 -n -t -v proto UDP and port 123 and host 7.7.7.7
tcpdump: listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes
IP (tos 0xc0, ttl 254, id 0, offset 0, flags [none], proto UDP (17), length 76)
    7.7.7.7.123 > 192.168.1.1.123: NTPv3, length 48
        Client, Leap indicator:  (0), Stratum 4 (secondary reference), poll 7s, precision -18
        Root Delay: 0.086013, Root dispersion: 0.031692, Reference-ID: 192.168.1.1
          Reference Timestamp:  3611807796.904383377 (2014/06/15 11:56:36)
          Originator Timestamp: 3611807796.894436284 (2014/06/15 11:56:36)
          Receive Timestamp:    3611807796.904383377 (2014/06/15 11:56:36)
          Transmit Timestamp:   3611807924.875236261 (2014/06/15 11:58:44)
            Originator - Receive Timestamp:  +0.009947092
            Originator - Transmit Timestamp: +127.980799973
IP (tos 0x0, ttl 64, id 15983, offset 0, flags [none], proto UDP (17), length 76)
    192.168.1.1.123 > 7.7.7.7.123: NTPv3, length 48
        Server, Leap indicator:  (0), Stratum 3 (secondary reference), poll 7s, precision -18
        Root Delay: 0.074584, Root dispersion: 0.018875, Reference-ID: 10.10.10.10
          Reference Timestamp:  3611807447.432987983 (2014/06/15 11:50:47)
          Originator Timestamp: 3611807924.875236261 (2014/06/15 11:58:44)
          Receive Timestamp:    3611807924.898096993 (2014/06/15 11:58:44)
          Transmit Timestamp:   3611807924.899810809 (2014/06/15 11:58:44)
            Originator - Receive Timestamp:  +0.022860731
            Originator - Transmit Timestamp: +0.024574548
IP (tos 0xc0, ttl 254, id 0, offset 0, flags [none], proto UDP (17), length 76)
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-03 13:46:54

SNMP-TRAP (udp/162)
Настройка данного протокола раскрыта подробнейшим образом в этой статье viewtopic.php?f=14&t=41125



HTTP/HTTPS (tcp/80,443)
Задача: управление и мониторинг циско через веб интерфейс или GUI. Качаем Cisco Configuration Professional 2.8 с рутрекера например, устанавливаем эту софтину на винду, она бесплатная, но почему то вендор не выкладывает её в общий доступ. Архитектура и идеи очень похожи как при работе с firewall Cisco ASA/PIX через ASDM – управление (отправка команд на циску) через https. После данных команд вы должны попасть на веб интерфейс циски - http://<your_cisco_ip_addr>

Код: Выделить всё

!
ena
conf t
ip http server
ip http authentication local
end
wr
!


Если всё прошло удачно, то запускаем Cisco Configuration Professional 2.8 и подключаемся, скриншот на рисунке 2:
Вложения
CCP28.JPG
Рисунок 2
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1284
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD and Cisco - IP services (syslog, tftp, ftp, scp,

Непрочитанное сообщение vintovkin » 2014-11-03 16:42:21

Хочу упомянуть о NETFLOW и SNMP - на сайте и в инете есть много материала по настройке этих протоколов, вы просто обязаны внедрить эти протоколы у себя в сети если они у вас ещё не работают, тогда вы будете видеть, анализировать, мониторить, контролировать полностью весь ваш трафик, так же поднимется безопасность сети. SNMP хорош для мониторинга CPU/MEMORY/DISK/INTERFACES и других аппаратных частей\модулей, NETFLOW - это мощнейший инструмент сисадмина, крайне рекомендую его вам!!! Цитата из википедии;

Описание протокола
NetFlow использует UDP или SCTP для передачи данных о трафике коллектору. Как правило, коллектор слушает порт 2055, 9555 или 9995.
Сенсор выделяет из проходящего трафика потоки, характеризуемые следующими параметрами:
Адрес источника;
Адрес назначения;
Порт источника для UDP и TCP;
Порт назначения для UDP и TCP;
Тип и код сообщения для ICMP;
Номер протокола IP;
Сетевой интерфейс (параметр ifindex SNMP);
IP Type of Service.
Потоком считается набор пакетов, проходящих в одном направлении. Когда сенсор определяет, что поток закончился (по изменению параметров пакетов, либо по сбросу TCP-сессии), он отправляет информацию в коллектор. В зависимости от настроек он также может периодически отправлять в коллектор информацию о все еще идущих потоках.
Собранная информация отправляется в виде записей, содержащих следующие параметры (для версии 5):
Номер версии протокола;
Номер записи;
Входящий и исходящий сетевой интерфейс;
Время начала и конца потока;
Количество байт и пакетов в потоке;
Адрес источника и назначения;
Порт источника и назначения;
Номер протокола IP;
Значение Type of Service;
Для TCP-соединений — все наблюдаемые в течение соединения флаги;
Адрес шлюза;
Маски подсети источника и назначения.
Junos OS kernel based on FreeBSD UNIX.


Вернуться в «Про сайт»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей