вторник, 24 мая 2011 г.

Chapter 6. Lab 6-5, BGP Case Study

Today I'm starting to describe some labs from CCNP ROUTE 6.0 course. Today I will describe to you BGP case study Lab. I hope later I will describe to you all case study labs from routing course and later from switching course. So let's start.
First in PDF manual we see some network topology with IP adresses. As written in PDF we must:
1. Configure the addressing scheme shown in the diagram.
I think there is no big interesting actions, that's why I decided do not write about this.
2. Configure the ITA network to be in EIGRP AS 65001.
R1 configuration:
R1(config)#router eigrp 65001 
R1(config-router)#net 10.1.1.1 0.0.0.255       
R1(config-router)#net 192.168.14.0 0.0.0.3
R1(config-router)#net 10.1.103.0 0.0.0.7
R1(config-router)#net 10.1.102.0 0.0.0.7
R2 configuration:
R2(config)#router eigrp 65001
R2(config-router)#net 10.2.2.2 0.0.0.255   
R2(config-router)#net 10.20.0.0 0.0.7.255
R2(config-router)#net 10.1.203.0 0.0.0.7
R2(config-router)#net 10.1.102.0 0.0.0.7
R3 configuration:
R3(config)#router eigrp 65001
R3(config-router)#net 10.3.3.0 0.0.0.255
R3(config-router)#net 10.1.203.0 0.0.0.7
R3(config-router)#net 192.168.34.0 0.0.0.3
R3(config-router)#net 10.1.103.0 0.0.0.7 
After this configuration we must check routing tables on all three routers, after this we must see all routes except routes from R4 router.
3.Configure the TDP network to be in EIGRP AS 65002.
R4 configuration:
R4(config)#router eigrp 65002
R4(config-router)#net 172.16.0.0 0.0.15.255
R4(config-router)#net 192.168.14.0 0.0.0.3
R4(config-router)#net 192.168.34.0 0.0.0.3
4.Disable automatic summarization in both EIGRP domains. On all router in router eigrp section we must execute no auto-summary command.
R(1-4)(config-router):no auto-summary
5.Configure the ITA network to be in BGP AS 65001, and the TDP network to be in BGP AS 65002.
R1(config)#router bgp 65001
R1(config-router)#neighbor 10.1.102.2 remote-as 65001
R1(config-router)#neighbor 10.1.103.3 remote-as 65001
R1(config-router)#neighbor 192.168.14.2 remote-as 65002

R1(config-router)#net 192.168.14.0 mask 255.255.255.252

R1(config-router)#net 10.1.103.0 mask 255.255.255.248
R1(config-router)#net 10.1.102.0 mask 255.255.255.248
R1(config-router)#net 10.1.1.0 mask 255.255.255.0

###############################################################
R2(config)#router bgp 65001
R2(config-router)#neigh 10.1.102.1 remote-as 65001
R2(config-router)#neigh 10.1.203.3 remote-as 65001


R2(config-router)#net 10.1.102.0 mask 255.255.255.248
R2(config-router)#net 10.1.203.0 mask 255.255.255.248

R2(config-router)#net 10.2.2.0 mask 255.255.255.0

R2(config-router)#net 10.20.0.0 mask 255.255.255.0
R2(config-router)#net 10.20.1.0 mask 255.255.255.0
R2(config-router)#net 10.20.2.0 mask 255.255.255.0
R2(config-router)#net 10.20.3.0 mask 255.255.255.0

###############################################################
R3(config)#router bgp 65001
R3(config-router)#neigh 10.1.103.1 remote-as 65001
R3(config-router)#neigh 10.1.203.2 remote-as 65001
R3(config-router)#neighbor 192.168.34.2 remote-as 65002

R3(config-router)#net 10.3.3.0 mask 255.255.255.0

R3(config-router)#net 192.168.34.0 mask 255.255.255.252
R3(config-router)#net 10.1.103.0 mask 255.255.255.248
R3(config-router)#net 10.1.203.0 mask 255.255.255.248
###############################################################
R4(config)#router bgp 65002
R4(config-router)#neigh 192.168.14.1 remote-as 65001
R4(config-router)#neigh 192.168.34.1 remote-as 65001

R4(config-router)#net 192.168.14.0 mask 255.255.255.252
R4(config-router)#net 192.168.34.0 mask 255.255.255.252
R4(config-router)#net 172.16.0.0 mask 255.255.252.0
R4(config-router)#net 172.16.4.0 mask 255.255.252.0
R4(config-router)#net 172.16.8.0 mask 255.255.252.0
R4(config-router)#net 172.16.12.0 mask 255.255.252.0
6.Advertise the 192.168.14.0/30 and 192.168.34.0/30 networks in both EIGRP autonomous systems.
We already added this networks in advertising process.
7.Configure the interfaces on the border routers between the two EIGRP autonomous systems, so they
do not send EIGRP packets.
Here we should configure interfaces on all border routers as passive interface in eigrp process.
8.All routers will be participating in BGP. Configure all routers for a full mesh of IBGP peers in each
system.
This point is also ready, we configured this when we pointed all neighbors on each router.
9.Peer R1 and R2 using loopback addresses, not their directly connected interfaces.
R1(config)#router bgp 65001
R1(config-router)#neighbor 10.2.2.2 remote-as 65001
R1(config-router)#neigh 10.2.2.2 update-source lo1
############################################################
R2(config)#router bgp 65001
R2(config-router)#neigh 10.1.1.1 remote-as 65001
R2(config-router)#neighbor 10.1.1.1 update-source lo2

10.Advertise all loopback interfaces into the BGP process, except on R2, where the only loopback
advertised should be loopback 2.
We described this configuration above except specially R2 configuration, that's why we must configure only R2:
R2(config-router)#no net 10.20.0.0 mask 255.255.255.0
R2(config-router)#no net 10.20.1.0 mask 255.255.255.0
R2(config-router)#no net 10.20.2.0 mask 255.255.255.0
R2(config-router)#no net 10.20.3.0 mask 255.255.255.0
11.On R2, create a static summary route for the rest of its loopback interfaces and advertise this static
route in BGP.
R2(config)#ip route 10.20.0.0 255.255.252.0 null0
R2(config)#router bgp 65001
R2(config-router)#redi
R2(config-router)#redistribute static
12.R4 should send a summary route to ITA representing all the R4 loopback interfaces.
R4(config)#router bgp 65002
R4(config-router)#aggregate-address 172.16.0.0 255.255.240.0 summary-only
R4(config-router)#net 172.16.0.0 mask 255.255.240.0
R4(config-router)#no net 172.16.0.0 mask 255.255.252.0
R4(config-router)#no net 172.16.4.0 mask 255.255.252.0
R4(config-router)#no net 172.16.8.0 mask 255.255.252.0
R4(config-router)#no net 172.16.12.0 mask 255.255.252.0
13.R4 should prefer the path to ITA networks via the Ethernet link between R1 and R4. Accomplish this
by modifying the MED advertised to TDP.
R1(config-route-map)#access-list 1 permit any
R1(config)#route-map INJECTION-R4 permit 10
R1(config-route-map)#match ip add  
R1(config-route-map)#match ip address 1
R1(config-route-map)#set metric 100
R1(config)#router bgp 65001
R1(config-router)#neigh 192.168.14.2 route-map INJECTION-R4 out
##############################################################################
R3(config)#router bgp 65001
R3(config-router)#neigh 192.168.34.2 route-map INJECTION-R4 out
R3(config-router)#route-map INJECTION-R4 permit 10
R3(config-route-map)#set metric 100
14.Routers in the ITA AS should prefer the path to TDP networks via the Ethernet link between R1 and
R4. Accomplish this by modifying the local preference of routes being advertised in from TDP.
R1(config)#router bgp 65001
R1(config-router)#neigh 192.168.14.2 route-map IBGP_PEERS in
R1(config-router)#route-map IBGP_PEERS permit 10
R1(config-route-map)#set local-preference 160

That's all, but I suggest to you, complete all labs in bgp section for better bgp understanding.Good luck!!!



четверг, 19 мая 2011 г.

Mail-ru агент в Linux

Это уже довольно избитый вопрос в сети интернет, но я решил добавить его к себе в блог потому что сегодня обнаружил для себя хорошую альтернативу всем существующим вариантам связанным с маил.ру. Ни qutim, ни mdc, ни сам mail.ru на qt не дал необходимой стабильности и функционала. И я с горя решил вернуться на всеми забытый, но далеко не плохой pidgin, и оказалось вуаля!!!, пилить ничего не надо, все уже готово.
В общем установка банальна до ужаса. Но описать ее будет полезным:
В общем по умолчанию в убунте, у меня 10.04 стоит pidgin 2.6. Нам нужен pidgin 2.7 его мы можем установить из ppa репозитория, в консоли:

maximka@maxbuntu:~$ sudo apt-add-repository ppa:pidgin-developers/ppa

maximka@maxbuntu:~$ sudo apt-get update
maximka@maxbuntu:~$ sudo apt-get install pidgin
maximka@maxbuntu:~$ pidgin -v
Pidgin 2.7.11 (libpurple 2.7.11)

Вот как-то так, после этого необходимо докачать плагин с сайта сторонних разработчиков, таковых у нас два, мы воспользуемся первым попавшимся:


Скачиваем свой деб пакет,устанавливаем его двойным кликом, перезапускаем pidgin, и в списках протоклов, где подключаются учетные записи мы можем наблюдать "рыжую собачку". Радуйтесь Вы снова можете общаться со своими блондинистыми подружками с винды и мобильного агента ))) Удачи!!!


суббота, 7 мая 2011 г.

Обзор файловых систем от Google

Опубликована видеозапись доклада Майкла Рубина (Michael Rubin), занимающегося системами хранения данных в Google, о причинах миграции с файловой системы Ext2 на Ext4. В докладе показаны результаты исследования производительности EXT2, достоинства и недостатки различных файловых систем, доступных в Linux, причины выбора файловой системы Ext4 для использования на серверах Google.
Некоторые тезисы:
  • Файловая система Ext2 очень надежна, но имеет проблемы с производительностью при высокой интенсивности ввода/вывода. Из всех дисковых операций 40% было связано с обработкой мета-данных и только 60% с самими данными (после перехода на Ext4 это соотношение удалось свести к 4% для мета-данных и 96% для данных, общая производительность при этом возросла, в зависимости от областей применения, в полтора-два раза). При высокой нагрузке удаление 8 Мб файла иногда длилось до 800 секунд, наблюдались проблемы с фрагментацией. Как вариант решения проблемы все мета-данные можно было кэшировать, но это потребовало бы больших затрат оперативной памяти. Еще один недостаток Ext2 - очень долгое выполнение восстановления при помощи fsck - для диска 1 Тб восстановление занимало 85 минут;
  • Ext3 - проблемы с долгим выполнение fsck решены за счет поддержки журналирования, но производительность осталась на уровне Ext2. Дополнительные плюсы - простота управления и лёгкость миграции с Ext2;
  • Ext4 - кроме унаследованных у Ext3 плюсов в Ext4 частично решены проблемы с производительностью. Производительность не самая высокая среди доступных ФС, но вполне достаточная;
  • В Btrfs реализованы очень интересные возможности, но код еще не готов для промышленного применения;
  • XFS - отличная производительность, но большая усложнённость реализации;
  • ZFS - отличная производительность, высокая надежность и богатые возможности с одной стороны, но с другой стороны несовместимая с GPL лицензия на код;
  • ReiserFS и JFS не рассматривались в Google как варианты для миграции из-за недостаточной поддержки кодовой базы;
  • В Google не используют журналирование - потери производительности оказались слишком большими (накладные расходы понизили производительность на 23%-33% в зависимости от типа журнала). Конфигурация без журнала также продемонстрировала большую предсказуемость.

пятница, 6 мая 2011 г.

Installing Oracle 11.2 on Solaris SPARC

First, let me speak about preparation to installation. For this installation I prepared new SPARC server with clean install  of Solaris 10, I put all necessary patches as SUN engineer. Downloaded appropriate Oracle DB software from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
After booting my server I saw:
root@T1000-spare # uname -a
SunOS T1000-spare 5.10 Generic_142909-17 sun4v sparc SUNW,Sun-Fire-T1000

And now we are ready to install!
In my server I have 1xUltraSPARC T1, 4x2Gb RAM and one 160Gb HDD. It's more than enough for running test DB.
To starting installation we must verify all Oracle requirements:
root@T1000-spare # pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
system      SUNWarc   Lint Libraries (usr)
system      SUNWbtool CCS tools bundled with SunOS
system      SUNWhea   SunOS Header Files
system      SUNWi15cs X11 ISO8859-15 Codeset Support
system      SUNWi1cs  X11 ISO8859-1 Codeset Support
system      SUNWi1of  ISO-8859-1 (Latin-1) Optional Fonts
system      SUNWlibC  Sun Workshop Compilers Bundled libC
system      SUNWlibms Math & Microtasking Libraries (Usr)
system      SUNWsprot Solaris Bundled tools
system      SUNWtoo   Programming Tools
system      SUNWxwfnt X Window System platform required fonts
If you don't have some packages, you must find and install them, pkgadd command.
1. Creating Oracle user:
root@T1000-spare #groupadd oinstall
root@T1000-spare #groupadd dba
root@T1000-spare #useradd -d /home/oracle -g oinstall -G dba -m -s /bin/bash oracle
root@T1000-spare #passwd oracle

2.Configuring new user's profile,
root@T1000-spare # vi /home/oracle/.profile
umask=022
TMP=/tmp
TMPDIR=$TMP
DISPLAY=localhost:11.0 #this parameter depends on your system
export TMP TMPDIR DISPLAY
ORACLE_BASE=/home/OracleDB  #this parameter also depends on you, this is not Oracle recommendation
ORACLE_HOME=/home/OracleDB/11.2/
ORACLE_SID=sol10
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

Save this file and check all variables:

bash-3.00$ env
TERM=xterm
SHELL=/bin/bash
TMPDIR=/tmp
SSH_CLIENT=192.168.0.28 46952 22
SSH_TTY=/dev/pts/1
USER=oracle
ORACLE_SID=sol10
ORACLE_BASE=/home/OracleDB
MAIL=/usr/mail/oracle
PATH=/home/OracleDB/11.2//bin:/usr/bin
PWD=/home/OracleDB/unpack/database
TZ=Asia/Tashkent
SHLVL=1
HOME=/home/oracle
TMP=/tmp
LOGNAME=oracle
SSH_CONNECTION=192.168.0.28 46952 192.168.0.191 22
DISPLAY=localhost:11.0
ORACLE_HOME=/home/OracleDB/11.2/
_=/usr/bin/env
OLDPWD=/home

3.Creating catalogs tree:
I already had mounted partition to catalog /home/OracleDB - this is my ORACLE_BASE. In it I just created catalog with full path /home/OracleDB/11.2/
After I must change owner of parent catalog and add special permissions for all files for user oracle.
root@T1000-spare # chown -R oracle:oinstall /home/OracleDB/
root@T1000-spare # chmod -r 775 /home/OracleDB/
4. Unpacking downloaded software, for any directory except your new created.
5. Installing kernel parameters:
root@T1000-spare # projadd oracle
We must make some changes to /etc/user_attr file, by adding in the end of this file this string: oracle::::project=oracle
From root we must run the command below, for adding additional memory blocks to our new project
prctl -n project.max-shm-memory -v 4gb -r -i project oracle
This parameter must be permanent, for this from root we must enter:
projmod -s -K "project.max-shm-memory=(priv,4gb,deny)" oracle 
6. From terminal window enter: ssh -X oracle@<ip address of your server>
Running installer from the catalog in which you unpack your install files:
-bash-3.00$ sh runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 180 MB.   Actual 10680 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 14173 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-05-06_10-27-47AM. Please wait ...



AND NOW YOU MUST ANSWER ON ALL QUESTIONS IN STEP-BY-STEP JAVA INSTALLER.
BE PATIENT!!!
GOOD LUCK!!!

понедельник, 2 мая 2011 г.

Upgrading firmware on SF T1000

Today we will discuss small but very important procedure, upgrading firmware on your Sun server. In my lab I  used SF T1000, the procedure is same for almost T-series products.
There are two supported methods for flash updating Sun System Firmware.
    Method 1:  From the System Controller console
    Method 2:  From the Solaris console

The first method has been supported in all revisions of Sun System Firmware, while the second method was added starting with version 6.1.10 and requires a separate Solaris utility (sysfwdownload) which is now bundled in the release with the Sun System Firmware binary.
In first action we must check current firmware version:
From the System Controller CLI use the output from the following commands to determine the current Sun System Firmware revisions;
 sc> showsc version -v
Advanced Lights Out Manager CMT v1.3.8
SC Firmware version: CMT 1.3.8
SC Bootmon version: CMT 1.3.8

VBSC 1.3.5
VBSC firmware built Apr  6 2008, 15:09:33

SC Bootmon Build Release: 01
SC bootmon checksum: 13AA267E
SC Bootmon built Apr  6 2008, 15:17:23

SC Build Release: 01
SC firmware checksum: 94B4D458

SC firmware built Apr  6 2008, 15:19:10
SC firmware flashupdate SAT JAN 10 01:23:28 2009

SC System Memory Size: 32 MB
SC NVRAM Version = 12
SC hardware type: 4

FPGA Version: 5.1.5.7

sc> showhost
Sun-Fire-T1000 System Firmware 6.3.12  2008/04/06 15:50

Host flash versions:
   Hypervisor 1.3.4 2007/03/28 06:03
   OBP 4.25.12 2008/03/23 13:27
   POST 4.25.12 2008/03/23 13:53


Compare output from this commands with latest firmware release. Verify that upgrade is necessary. I choosed the simplest method for me, it's updating firmware through SC.We must check that our system is powered off:
sc> poweroff
Host system power is already off


So, before running the flashupdate utility, you must have already downloaded the new Sun System Firmware image from the SunSolve site to a local FTP server accessible by the platform whose firmware you are upgrading.
Then, to run the utility, you need to know the following things:
- IP address of the local FTP server mentioned above.
- Path at which the Sun System Firmware image is stored on the FTP server.
- Username and password of your account on the FTP server to enter at the prompts
Start process:
sc> showkeyswitch      Keyswitch is in the NORMAL position.
If the virtual key switch is in LOCKED position you can change that with the following command:
sc> setkeyswitch -y normal 

At the sc> prompt, type the flashupdate command. Substitute the IP address of the FTP server mentioned above for "ipaddr", and the path name to the image on that server for "pathname".sc> flashupdate -s <ipaddr> -f <pathname>
sc> flashupdate -s 192.168.0.28 -f /home/maximka/T1000.bin
Username: maximka
Password: *************
SC Alert: System poweron is disabled.
When the download process is finished, ALOM displays the message:
Update complete. Reset device to use new software.
The Sun System Firmware has now been updated. For the system to use the new firmware you must reset the System Controller.  Type the resetsc command to reset ALOM.
sc> resetsc
User Requested SC Shutdown

Verify that the update was successful. Once the System Controller has reset, login as the user admin and verify the Sun System Firmware versions match those identified under the Latest Sun System Firmware: using the "showsc version -v" and "showhost" commands.
sc> showhost
Sun-Fire-T1000 System Firmware 6.7.11  2010/10/12 12:34
Host flash versions:
   OBP 4.30.4.b 2010/07/09 13:43
   Hypervisor 1.7.3.c 2010/07/09 15:14
   POST 4.30.4.b 2010/07/09 14:25 


After verifying version of firmware you may continue to use you server. Good luck!