Tuesday, November 25, 2014

create new project in git

Situation:
Let’s assume following situation:
·         We have a folder ˜/workshop , that contains the project on a local machine
·         Our project folder workshop is not a git repository yet
·         We want to have a server that hosts the workshop project and new developer can get the repository using a ‘git clone …’ command
·         On server site, the new repository should be located unter ˜/gitrepos/workshop.git.
To simplify the following steps i will use the machine localhost as the server machine.
Create a working copy repository
First, create a new local git repository and add all files within this folder.
cd ˜/workshop
git init
git add .
git commit -m "initial repository creation"
Create the bare repository
Then we have to create a bare repository on the server side. Let’s assume the user ralfwehner is the repository admin user on server side. For this step i will show two alternative ways:
a) We clone the server’s repositiory on the client machine and copy it via scp up to the server:
git clone --bare .git ../workshop.git
scp -r ../workshop.git ralfwehner@localhost:/Users/ralfwehner/gitrepos/workspace.git
b) We create a new empty repository on the server side and copy the developer’s repository from client machine to server (recommended when using difference git versions on server and clients):
So, first create the bare repository on server side:
sudo -u ralfwehner mkdir -m 770 /Users/ralfwehner/gitrepos/workshop.git
cd /Users/ralfwehner/gitrepos/workshop.git
sudo -u ralfwehner git --bare init --shared=group
From client side the developer’s project must be pushed into the new bare server repository:
git remote add origin ssh://ralfwehner@dev-server/Users/ralfwehner/gitrepos/workshop.git
git push origin master
That’s it. The project ‘workshop’ is now available on the server and can be cloned using the git clone command. E.g.:
cd /tmp/
git clone ralfwehner@localhost:/Users/ralfwehner/gitrepos/workshop.git myclonedworkshop
Synconize local and server repositories
Push developers repository to server
To synchronize the changes checked in into the local developer’s project to the server repository:
git push
Pull or merge the server repository into developer’s one
This command synchronizes the server’s repository to the local developer’s one. By this step changes made from other developers that pushed their stuff up to the server will be merged into the local repository.
git pull . remotes/origin/master
Checkout a project from server
In git terminology the checkout of a projekt can be understood as a clone of a git repository from a server to the developer’s local machine. You can do this simply by:
mkdir myNewWorkspace && cd myNewWorkspace
git clone ssh://localhost/Users/ralfwehner/gitrepos/workshop.git
The new created project can be pushed and pulled with:
cd workshop
... do you changes...
git push
... merge changes made from other users...
git pull
Heads up for Mac OS X users as i’m, too
There is a problem using the ssh commands to connecto to the git server which can end in error messages like: ‘bash: git-upload-pack: command not found’ on some machines. I’ve found this article that describe the problem and the solution more precisely.
For short, the solution is to create the symbolic link .bashrc to the .profile file:
server$ cd ~

server$ ln -s .profile .bashrc

Tuesday, November 18, 2014

How to install the latest GIT version on CentOS

How to install the latest GIT version on CentOS

Contents
  • 1.1: Git- An Overview
  • 1.2 Step-by-Step Guide on the Installation and Use of GIT on CentOS
    • 1.2.1 Step 1: Installing Required Packages
    • 1.2.2 Step 2: Downloading and Compiling Git Source
    • 1.2.3 Step 3: Checking the Git Version
  • 1.3 Getting Started with the Initial Git Setup
    • 1.3.1 Initial Git Set Up
    • 1.3.2 Your Identity
    • 1.3.3 Your Editor
    • 1.3.4 Your Diff Tool
    • 1.3.5 Checking Your Settings
    • 1.3.6 Seeking Help

1.1 Git-An Overview

Git is a fairly popular free open source distributed Version Control System (VCS) expressly designed to tackle projects of varying scales (from the small ones to the significantly large ones)with incredible speed and efficiency. It is mainly used for source code management, and remains primarily focused on speed, seamless support for distributed non-linear workflows and data integrity. This tutorial explains the process of installing and using GIT on CentOS in a detailed manner.

1.2 Step-by-Step Guide on the Installation and Use of GIT on CentOS

Installation of Git on CentOS remains a fairly simple process, steps for which have been outlined below:

1.2.1 Step 1: Installing Required Packages

In order to install Git, you need to ensure that the required packages have been installed on the system. Please key in the following command to install the required packagesbefore you begin compiling the Git source:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils

1.2.2 Step 2: Downloading and CompilingGit Source

Once installation of the required packages is done, you must download the Git source code from the kernel git. You may use the following command to download Git:
cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.0.1.tar.gz
tar xzf git-2.0.1.tar.gz
The latest Git version at this time is 2.0.1. To find the latest available version when you follow this guide, go to this URL https://www.kernel.org/pub/software/scm/git/and search for the git-VERSION.tar.gz with the highest version number.
Once you have successfully downloaded and extracted the Git source code, please key in the following command in order to compile the source code:
cd git-2.0.1
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
The above command shall help you compile the source code, and you are not ready to move on to the next step.

1.2.3 Step 3: Checking the Git Version

The above steps successfully install the Git in software on your system. However, Git is a highly versatile software that comes in various versions to suit the requirements of users across the board. Every version has different commands to fetch the desired data. So, before you start using this software, you should know exactly what version you are using. This will help you to derive the desired results quickly. The command to check the version of Git is:
git -version
This command is very useful for new users in particular as they can seek help from online user manuals by going to the appropriate version.

1.3 Getting Started with the Initial Git Setup

1.3.1 Initial Git Set Up

Now that you have successfully installed Git in your system, you would be eager to customize the software as per your own requirements. Customization of Git is rather easy and once done it remains there even if your upgrade the software. In case you want to change them, you can do so simply by repeating the commands.

With Git you have the convenience of gitconfig, an effective tool that allows you to set configuration variables as per your needs. These variables ultimately decide how your software looks and operates. You can store these variables in three different places: " /etc/gitconfig file: This file stores the values and repositories of all the system users. When the option - -system to gitconfig is pressed, Git reads and writes from this file only. " ~/.gitconfig file: This file is user specific and when you pass the option -global, Git reads and writes specifically to this file. " config file in the Git directory (that is, .git/config) of the repository you're using: This file is again specific to the single repository that you are currently using. In this file each level overrides values in the previous level and consequently the values in .git/config file override the values in /etc/gitconfig.

When you are using a Windows system, Git looks for the .gitconfig file in the $HOME directory (%USERPROFILE% in Windows' environment), which is C:\Documents and Settings\$USER or C:\Users\$USER for most people, depending on version ($USER is %USERNAME% in Windows' environment). Though Git is relative to the Msys root, it still looks for /etc/gitconfig when you install it on your Windows system or when you run the installer.

1.3.2 Setting up User Identity

Whenever you install the Git software in your system the most important thing to do is setting your user name and email address. In fact, this should be your first task as every Git commit uses these credentials and the information provided in them remains unchanged when you pass around.
gitconfig --global user.name "John Doe"
gitconfig --global user.email peterdrucker@sample.com
This has to be done just once if you pass the -global option. This is because Git will automatically use these credentials for anything you do on that system. In case you do not want to use this information for a particular project, you can simply run the command with the --global option.

1.3.3 Configuring the Editor for the User

Once you have set up your identity, you can configure the default text editor in your system. Git uses this editor by default whenever you type a message. Most of the systems have Vi or Vim as the default editor; however if you want to use a different editor like Emacs etc. you can use the following command:
gitconfig --global core.editor emacs

1.3.4 Configuring the Diff Tool

The default diff tool is one of the highly recommended options for Git users. This is because the option comes as a handy tool to resolve minor day-to-day conflicts. There are a variety of such applications available for you; vimdiff being the most common. To configure vimdiff in your system you can use the command:
gitconfig --global merge.tool vimdiff
Git being a widely used software is compatible with most of the diff tools. The most commonly used diff tools include kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff.

1.3.5 Checking Your Settings

Another highly effective feature of Git is that it allows you go check your setting at any given point in time. The single command gitconfig -list gives you a complete list of all your settings. Once you pass the command $gitconfig -list you will get the details as:
user.name=JohnDoe
user.email=jdoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
As Git reads the same key from different files, you may see the same key many times on the screen. For example if Git is reading the same key from /etc/gitconfig and /gitconfig files, it will use the last value represented by the key. In such a case, you may find out how Git is giving value to a specific by using the command:
gitconfig{key}:

$ gitconfig user.name
LizTaylor

1.3.6 Seeking Help

Though Git is a highly versatile software, at times you may need help while using it. However, getting help on Git is as easy as using it. It offers three different ways to access the manual page (manpage):
git help 
git --help
mangit-
For example, to get manpage help for the config command, you simply have to use the following command:
git help config
The best part about the manpage help is that you can access is anytime and anywhere. Git offers you the manpage help even when you are offline. Some beginners and even seasoned users need in-person help for certain tasks on Git. Round-the-clock help is available for such users at #git or #github channels on the Freenodes IRC server. These channels have a heavy presence of seasoned Git users who are willing to help their fellow users. 

http://www.howtoforge.com/how-to-install-the-latest-git-version-on-centos

Thursday, November 13, 2014

CÂU LỆNH CẤU HÌNH ROUTER CƠ BẢN


Khái niệm  cơ bản
            Route >                        User EXEC mode
            Router #                      Privilege mode
            Router(config)#          Global  Config mode

Các bước khởi động Router

Thoát 

(config)#exit
(config)#end
(config)#(nhấn tổ hợp phím Ctr+Z)

  show run                                            //(hiển thị file cấu hình đang chạy )
  show ip interface  brief                   //Xem trạng thái các cổng
  show ip route

        show version                                  IOS                       lưu trên Flash &RAM 
               show start up-config                       NVRAM
               show running-config                       RAM                     kiểm tra cấu hình


Xoá cấu hình củ và khởi động lại

R1#erase startup-config 
R1#reload. 


Lưu cấu hình từ RAM của router đến NVRAM của router
Router#copy running-config startup-config 
Router#write memory 

Copy  cấu hình từ NVRAM đến RAM, dùng trong mục đích recovery password
Router#copy startup-config running-config

Khắc phục lổi tìm config file qua TFTP
Router(config)#no service config 
Router(config)#wr 
Router(config)#reload 

Lênh Ping
Router#ping 192.168.12.2 
Router(config)#do ping 192.168.12.2 


Ping host name

R1(config)#ip host R2 192.168.12.2 
R1#ping R2  


 Đặt tên 
R1$ ena                                      //vào chế độ Privilege mode
R1#conf t                                 //vào chế độ Config mode
R1(config)#hostname TRAVINH      //(đặt tên cho router)

Password 
R1(config)#no ip domain-lookup                                           //(tắt chức năng phân giải tên miền)
R1(config)#enable password 123                                    //(kích hoạt password mode priviledge)
R1(config)#enable secrec 456                                        //(pass được mả hóa MD5)

R1(config)#service password-encryption                          //(mã hóa toàn bộ password)  
R1(config)#security passwords min-length 10                    // pas tối thiểu 10 kí tự

Thiết lập banner khi đăng nhập vào Router
(config)#banner motd "CHAO MUNG ADMINISTRATOR "
(config)# no banner login             //(bỏ banner)

=====================================================================
Thiết lập Password cho các cổng 
 Line console
(config)#line console 0
(config-lin )#password cisco1
(config-line)#login
(config-line)#exec time out  {phút} {giây}     // 0 0 thì màn hình console không bao giờ logout 
(config-line)#logging synchronous           //Trên màn hình console không còn hiện tượng bị mất con tr
 Aux
(config)#line aux 0
(config)#password cisco2
(config)#login

Telnet
(config)#line vty 0 4                     //16 đường trong cùng 1 thời điểm
(config-line) #password cisco3
(config-line)#login
(config-line)#exec time out 0 0 

(config-line)# login authentication default


SSH  {PC muốn SSH phải dùng thêm phần mềm Putty, PC là SSH server thì dùng OpenSSH}


Tạo User Pass 

R(config)# username Admin01 password Admin01

Tạo domain để kết hợp RSA phát sinh key
R(config)#ip domain-name ccnasecurity.com

Dùng thuật toán RSA tạo cặp key                       //(Mặc định 512 bit, tối đa 2048 bit)

R(config)#crypto key generate rsa
1024                                               


Áp vào cổng ảo vty

(config-line)#transport input ssh  

R(config)#ip ssh authentication-retries 2
R(config)#ip ssh time-out 90
R(config)#ip ssh version 2 


xem version ssh

R# show ip ssh 

====================================================================
 Mô tả kết nối của các cổng vật lý trên Router
Ví dụ: cổng Fast Ethernet 0/0
(config)#interface fa 0/0
(config-if)#description "ket noi toi mạng Lan SaiGon " 

 Lệnh gán địa chỉ ip cho các cổng vật lý.
Cổng fa0/0
(config)#interface fa 0/0
(config-if)#ip add 192.168.1.254 255.255.255.0
(config-if)#no shutdown
(config-if)#description "ket noi toi mạng Lan 192.168.1.1 " 

Cổng Serial 0/0
(config)#interface S0/0
(config-if)#ip add 192.168.1.254 255.255.255.252
(config-if)#no shutdown
(config-if)#description "ket noi toi R2 "
config-if)#clock rate 64000

Trường hợp cấu hình sai địa chỉ ip, xóa bỏ bằng câu lệnh
(config-if)#no ip address  

Lệnh kiểm tra xem đầu kết nối serial là DTE ,DCE
# show controller serial 0/0/0
# show run
# show interface  s0/0

Lệnh cấp xung clock (chỉ sử dụng cho DCE)
(config)#interface s0/0
(config-if)#clock rate 64000

{ 9600,19200,56000,64000,115200,…những con số cố định sẵn luôn là bội số của 9600 bps.

 lệnh clockrate, sẽ làm thay đổi tốc độ truyền dữ liệu vì xung nhịp cao thì dữ liệu sẽ được truyền với tốc độ cao hơn.}

Tắt CDP trên int f0/0 của R1
R1(config)#int f0/0 
R1(config-if)#no cdp enable 

R1 hỗ trợ cầu hình bằng giao diện web (SDM) 
R1(config)#ip http server 
#ip http secure-server 
#ip http authentication local 
#username Admin01 privilege 15 password   Admin01  

Cho phép cổng Ethernet vẫn up khi không kết nối với bên ngoài 
R1(config-if)# no keepalive 

=====================================================================
DHCP

Lệnh cấp pool DHCP cho mạng LAN
(config)#ip dhcp pool LAN1           //tên pool
(dhcp-config)#network 192.168.1.0 255.255.255.0       //lớp mang muốn cấp
(dhcp-config)#defautl-router 192.168.1.1                                    //IP GW
(dhcp-config)#dns-server  8.8.8.8
config)#ip dhcp excluded-address 192.168.3.1 192.168.3.9    //giới hạn

Lệnh cấp pool DHCP cho mạng VLAN
vd:
Router(config)#in f0/0.100
Router(config-subif)#encapsulation dot1Q 100
Router(config-subif)#ip address 192.168.100.1 255.255.255.192

Router(config)#ip dhcp pool vlan100
Router(dhcp-config)#network 192.168.100.0 255.255.255.192
Router(dhcp-config)#default-router 192.168.100.1
Router(dhcp-config)#dns-server 8.8.8.8

DHCP relay
(config)#interface fa 0/0
(config-if)#ip helper-address 192.168.1.1                       // IP server

Xóa DHCP
(config)#no ip dhcp pool ID (LAN1,LAN2…)

Kiểm tra việc cấp IP

RI#show ip dhcp binding 

Giới hạn dảy địa chỉ IP không cấp
(config)#ip dhcp excluded-addresss 192.168.1.1 192.168.1.15

Cấp riêng cho 1 máy
(config)#client-address (Địa chỉ MAC cũa máy tinh)
(config)#host 192.168.100.100

Xin ip tự động

Router(config)#in f0/0
Router(config-if)#ip add dhcp

////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
ĐỊNH TUYẾN 

Quảng bá default router 
R(config-router)#default-information originate 


Router(config)#ip route 0.0.0.0 0.0.0.0 [interface/nexthop]
Router(config)#redistribute static


Router(config)#ip default-network network number


Router(config-if)#ip summary-network eigrp AS number 0.0.0.0 0.0.0.0 


Static router
(config)#ip route ip mạng đích subnet mask mạng đích địa chỉ nexthop ( interface ra).

Router(config)#Ip route 192.168.1.0 255.255.255.0 192.168.0.1

Router(config)#Ip route 0.0.0.0 0.0.0.0 192.168.0.1     //default
                                              
Router(config)#ip route 0.0.0.0 0.0.0.0 s1/0 

Ripv1
Router(config)#router rip
Router(config)#network 192.168.1.0
Router(config)#network 192.168.2.0
Ripv2
Router(config)#router rip
Router(config)#version 2
Router(config)#network 192.168.1.0
Router(config)#network 192.168.2.0
Router(config)#no auto-summary
Xóa
no route rip                                        //xóa bảng định tuyến
Clear ip route *                                 //xóa hết
Clear ip route 192.168.2.0              //xóa network

Xem quá trình gửi nhận thông tin định tuyến RIP 

R2#debug ip rip 
R2# debug ip routing 
R2# logging console debug 

Tắt chế độ debug bằng lệnh undebug all
R2# u all 

Không cho gởi thông tin định tuyến RIP trên Serial0 
passive–interface Serial0 


RIP chỉ hỗ trợ classfull nên không gửi đi thông tin về subnet mask trong các routing update. 
R1 gửi thông tin về mạng 172.16.16.0 đến R2, R1 sẽ thực hiện summary mạng này về dạng classfull 172.16.0.0 .
R2 kết nối trực tiếp với mạng 172.16.17.0 thì sẽ hiểu mạng này là 172.16.0.0. 
Khi R2 nhận thông tin về mạng 172.16.0.0, nó sẽ loại bỏ bản tin update này vì mạng này đã có trong bảng định tuyến với metric cao hơn.
Để giải quyết vấn đề này ta sử dụng địa chỉ secondary trên cổng kết nối giữa R1 và R2
{địa chỉ này phải thuộc mạng lớn trong mạng discontiguous network và phải cùng SM}.

R1(config)# int s0 

R1(config-if)# ip address 130.1.3.1 255.255.255.0 secondary 
R2(config)#int s0 
R2(config-if)# ip address 130.1.3.2 255.255.255.0 secondary 


======================================================================
EIGRP { Enhanced Internet Gateway Routing Protocol }

Router(config)#route eigrp 100                 //AS Number <1-65535>Autonomous system
Router(config)#network 192.168.1.0
Router(config)#network 192.168.2.0
Router(config)#no auto-summary          //(ko tự ghép các dải địa chỉ IP thành 1 dải lớn)

R(config)#no logging console                 // tắt *Mar .................//chỉ làm trên lab

Show
Show ip route eigrp
show ip eigrp neighbor
show ip eigrp interface
show ip eigrp topology
show ip eigrp traffic
debug eigrp fsm
debug eigrp packet 


Thay đổi bandwidth ,delay
Router(config)#in s0/0
Router(config)#ban …(.2n)
Router(config)#del 

Thay đổi băng thông và tự tổng hợp tuyến trong interface

Router(config-if)#bandwidth kilobits
Router(config-if)#ip summary-address protocol AS network number subnets mask 


{ Lệnh bandwidth  tạo một tham số đầu vào để tính ra composite metric (của IGRP). khi bandwidth càng lớn thì metric tính ra càng nhỏ, như vậy con đường sẽ có độ tin cậy cao hơn, và sẽ được ưu tiên so với các con đường khác đến cùng mạng đích để router chọn update vào bảng định tuyến. }
  1. EIGRP là một giao thức dạng Distance – vector được cải tiến.không sử dụng thuật toán truyền thống Bellman – Ford mà sử dụng một thuật toán riêng được phát triển bởi J.J. Garcia Luna Aceves – thuật toán DUAL khiến cho EIGRP có tốc độ hội tụ rất nhanh.
  2. Chỉ số AD của EIGRP là 90 cho các route internal và 170 cho các route external.
  3. ngay khi bật EIGRP trên một cổng, router sẽ gửi các gói tin hello ra khỏi cổng để thiết lập quan hệ láng giềng với router kết nối trực tiếp với mình.Gói tin hello được gửi đến địa chỉ multicast  là 224.0.0.10 với giá trị hello – timer là 5s/lần.( Hold – timer 15s)
  4. ĐK kết nối neighbor      Giá trị AS được cấu hình trên mỗi router.
                                         Các địa chỉ đấu nối giữa hai router phải cùng subnet.
                                         Thỏa mãn các điều kiện xác thực.
                                         Cùng bộ tham số K. ( Metric = {10^7/Bandwidth min + Delay}*256)
  5.  FD – Feasible Distance :giá trị metric từ router đang xét đi đến mạng đích.
  6.  AD – Advertised Distance :giá trị metric từ router láng giềng (next hop) đi đến cùng mạng đích 
  7.  Successor: đường đi đến một đích được lưu trong bảng topology, đường nào có FD nhỏ nhất
  8. Feasible Successor: Trong tất cả các đường còn lại có FD > FD của Successor, đường nào có AD < FD của successor, đường đó sẽ được chọn để làm dự phòng cho Successor.
  9. Một số giá trị mặc định được quy định cho một số loại cổng thường sử dụng trên router:
                Ethernet: Bandwidth = 10Mbps; Delay = 1000 Micro second.
                Fast Ethernet: Bandwidth = 100Mbps; Delay = 100 Micro second.
                Serial: Bandwidth = 1,544Mbps; Delay = 20000 Micro second. 


Cân bằng tải trên những đường không đều nhau (Unequal Cost Load – balancing).

R(config)#router eigrp AS – number
R(config-router)#variance 4

Xác thực MD5 với EIGRP 

R(config-keychain)#key key-id
R(config-keychain-key)#key-string password
R(config-keychain-key)#accept-lifetime start-time {infinite | end-time | duration seconds}
R(config-keychain-key)#send-lifetime start-time {infinite | end-time | duration seconds} 
bật xác thực trên các cổng đấu nối 
R(config-if)#ip authentication mode eigrp AS md5
R(config-if)#ip authentication key-chain eigrp AS tên-key-chain 
ví dụ :

R1(config)#key chain R1chain

R1(config-keychain)#key 1
R1(config-keychain-key)#key-string R1R2KEY
R1(config)#int s0/0/0            ///cổng nối với R2
R1(config-if)#ip authentication mode eigrp 100 md5
R1(config-if)#ip authentication key-chain eigrp 100 R1chain 

R2(config)#key chain R2R1chain

R2(config-keychain)#key 1
R2(config-keychain-key)#key-string R1R2KEY
R2(config)#int s0/0/0           ///cổng nối với R1
R2(config-if)#ip authentication mode eigrp 100 md5
R2(config-if)#ip authentication key-chain eigrp 100 R2R1chain 

R2(config)#key chain R2R3chain

R2(config-keychain)#key 1
R2(config-keychain-key)#key-string R2R3KEY
R2(config)#int s0/0/1        ///cổng nối với R3
R2(config-if)#ip authentication mode eigrp 100 md5
R2(config-if)#ip authentication key-chain eigrp 100 R2R3chain 

R3(config)#key chain R3chain

R3(config-keychain)#key 1
R3(config-keychain-key)#key-string R2R3KEY
R3(config)#int s0/0/0            ///cổng nối với R2 
R3(config-if)#ip authentication mode eigrp 100 md5
R3(config-if)#ip authentication key-chain eigrp 100 R3chain 

====================================================================
OSPF {Open Shortest Path First}  là một giao thức link – state,có AD = 110.
7 trạng thái 


R(config)#router ospf process-id
R(config-router)#network địa chỉ IP wildcard-mask area area-id 


Router(config)#route ospf 1                                     
Router(config)#network 192.168.1.0 0.0.0.255 area 0
                                                                                       // <1-65535>  Process ID
                                                                                 //IP đường mạng ,Wildcard mask ,area ID

Xóa route
No route ospf 1 
clear ip route * 

Show
Show ip ospf in f0/0
show ip ospf neighbor 
show ip route ospf
show ip protocol
show ip route
show ip ospf
show ip ospf interface
show ip ospf database
show ip ospf neighbor detail
debug ip ospf events
debug ip ospf adj 




     Cấu hình priority ở các interface để bầu DR và BDR 
      Router(config)#interface fastethernet 0/0
Router(config-int)#ip ospf priority 55

Kiểm tra bằng lệnh.
Router# show ip ospf interface f0/0

Chỉnh sửa lại OSPF cost metric trong mỗi interface
Cost càng nhỏ thì tuyến đó càng được coi là best path
Router(config-int)#ip ospf cost 1



Cấu hình authentication đơn giản
Router(config-if)#ip ospf authentication-key password
Router(config-router)#area area number authentication


Cấu hình authentication theo dạng mã hoá, bảo mật .
Router(config-if)ip ospf message-digest-key key ID md5 encryption-type key
Router(config-router)#area area ID authentication message-digest

Cấu hình OSPF timer trong các interface
Router(config-if)ip ospf hello-interval timer
Router(config-if)ip ospf dead-interval timer


Quảng bà một tuyến khác (không phải là default)
Router(config-router)#redistribute protocols subnets 



       Hoạt động của OSPF 
    1. Bầu chọn Router – id.
  
     2. Thiết lập neighbor.Gói tin được gửi đến địa chỉ multicast là 224.0.0.5 .Giá trị mặc định của hello – timer vàdead – timer là 10s và 40s. Khi các router gửi thông tin lên cho DR và BDR sẽ sử dụng địa chỉ multicast 224.0.0.6 còn khi DR forward lại thông tin xuống các router khác thì sử dụng địa chỉ 224.0.0.5. các DR Other không trao đổi trực tiếp với nhau. 
  
      Router nào nắm giữ giá trị : {priority  0- 255}
      Priority cao nhất sẽ được bầu chọn làm DR, {or Router – id cao nhất +lookback}
      Priority cao nhì làm BDR.
      Priority bằng 0 sẽ  đảm nhận vai trò là DR Other.

     3. Trao đổi LSDB.Link State Database
     4. Tính toán xây dựng bảng định tuyến.

      Metric = cost = 10^8/Bandwidth (đơn vị bps).
       R(config-if)#bandwidth 512

      Giá trị cost default của một số loại cổng:
Ethernet (BW = 10Mbps) -> cost = 10.
Fast Ethernet (BW = 100Mbps) -> cost = 1.
Serial (BW = 1.544Mbps) -> cost = 64 

Mạng loopback khi hiển thị trong bảng định tuyến của các router đều được OSPF chuyển thành /32,để cho các subnet loopback được hiển thị đúng giá trị prefix –length ta thay đổi kiểu network – type trên interface loopback thành kiểu “point – to – point” bằng câu lệnh:

R(config)#interface loopback 0
R(config-if)#ip ospf network point-to-point


Cách tính Wildcard mask
Local broadcast –subnet mask = Wild card mask
//Local broadcast   255.255.255.255
//subnet mask         255.255.255.0
                        //Wild card mask       0.    0.    0.  255

(2n-1 )của Host ID = Wild card mask
                        //192.168.1.0 /24 
 Host ID =2=256
Wild card mask =(2n-1) =256 -1 =255

====================================================================

Redistribution giửa eigrp 100 & ospf 1
router eigrp 100
 redistribute ospf 1 metric 1544 20000 255 1 1500 
 network 172.16.0.0
 no auto-summary

router ospf 1

 log-adjacency-changes
 redistribute eigrp 100 metric 1 subnets 
 network 78.78.78.0 0.0.0.255 area 0
 network 79.79.79.0 0.0.0.255 area 0

Redistribution giửa eigrp 100 & igrp 200
router igrp 200
redistribute eigrp 100 metric 2000 200 255 1 1500

router eigrp 100
redistribute igrp 200 metric 2000 200 255 1 1500 


Redistribution giửa eigrp 100 & ripv2


router eigrp 100
 redistribute rip metric 1544 200 255 1 1500
 network 192.168.1.0
 network 192.168.30.0
 no auto-summary
!
router rip
 version 2
 redistribute eigrp 100 metric 1
 network 192.168.1.0
 network 192.168.20.0

BW: băng thông của đường truyền
DLY: Độ trễ delay
LOAD: lưu lượng của đường truyền
MTU: Kích thước lớn nhất của một gói tin 

====================================================================
SNMP _ Giám sát

Phần 1 trên thiết bị GS:

Services.msc \ SNMP service 
  1. Agen :check hết + tinh + HCM
  2. Security :
               Add       READ ONLY tinh-ro
                             READ WRITE tinh-rw
              access SNMP...... //IP máy GS
  1. Traps:tinh-ro + IP
Phần 2 :trên Router

snmp-server community tinh-ro RO
snmp-server community tinh-rw RW 60  

access-list 60 permit 192.168.204.154           //IP may GS Solowin//


snmp-server location HCM

snmp-server contact tinh
snmp-server enable traps config
logging 192.168.204.154    
snmp-server host 192.168.204.154 version 2c tinh-ro 

 Cấu hình Netflow trên router:
#ip flow-export destination  A.B.D.C  5000    //IP may GS Solowin//
# ip flow-export version 5
Xác định cổng và hướng được theo dõi:
#interface fa0/1
#ip flow ingress
#interface fa0/0
#ip flow egress

Kiểm tra :

R1#show  ip cache flow
R1#show  ip cache verbose flow
R1#show  ip flow export
Tắt netflow:
R1(config)#no ip flow-export destination A.B.D.C
R1(config)#in f0/0
R1(config-if)#no ip route-cache flow
=====================================================================
Cấu hình NAT 
Access-list 1 permit any
Ip nat inside source-list 1 int f0/0 overload

Int f0/1.1                        // nat cho tung sub interface mới ra mạng được
Ip nat inside
Int f0/1.3
Ip nat inside
Int f0/1.2
Ip nat inside

Int f0/0                      // f0/0 la interface ket noi internet
Ip nat outside

HA
R (config )# in f0/0
R (config )#stanby group virtua IP
Ex:
R(config) #stanby 10 ip 192.168.1.40
 R (config )#stanby 10 prio 200
 R (config )#stanby 10 pre

**********************************************************************************************************

                                            CÂU LỆNH CẤU HÌNH SWITCH CƠ BẢN 


SWITCH LAYER 3
Đặt IP cho cổng
Switch (config)#inter f0/1  
Switch (config-if)#no switchport
Switch (config)#ip address 192.168.0.2 255.255.255.0

Đặt ip cho Vlan
Switch(config)#in vlan 100
Switch(config-if)#ip address 192.168.100.1 255.255.255.224

Show VLAN 
Switch (config)#do show vlan

Đặt tên VLAN cách 1:
Switch (config)#vlan2
Switch (config-vlan)#name TÊN
Switch (config-vlan)#exit
Đặt tên VLAN cách 2:
Switch1#vlan database 
Switch1(vlan)#vlan 100 name 100
Switch1(vlan)#vlan 200 name 200

Add 1 port
Switch (config)#inter f0/2
Switch (config-…)#sw mo acc
Switch (config)#sw acc vlan4
Switch (config)#Exit
Add nhóm port
Switch (config)#interface range f0/13-16
Switch (config-…)#sw mo acc
Switch (config-…)# sw acc vlan4
Switch (config-…)#exit
Xoá Vlan
Switch#delete vlan.dat

VTP ( VLAN TRUNKING PROTOCOL ) QUẢN LÍ TẤT CẢ CẤU HÌNH VLAN

Switch (config)#vtp mode server  //client ,transparent
Switch (config)#vtp domain chanhtinh.com
Switch (config)#vtp password cisco123

Switch (config)#in f0/0                    //Cổng nối với Router
Switch (config)#switchport mode trunk 

R(config )#in f0/0                          //Cổng nối với SW
R(config )#no sh
R(config )#exit
R(config )#in f0/0.100
R(config )#encap dot1Q 100
R(config )#ip add 192.168.1.0 255.255.255.192
R(config )#exit
Lặp lại cho các cổng f0/0.200 ,f0/0.300 …

Show
Show in trunk
Show vtp pass
show vtp status

Server: tạo sửa xoá VLAN và thay đổi miền của nó. Tất cả thông tin VTP đều được quảng bá đến các switch trong miền.
Client: không được tạo sửa xoá VLAN .gửi và đồng bộ cho server
Transparent (trong suốt): chuyển tiếp thông tin quảng bá VTP nhận được ra cổng trunk của nó.không đồng bộ với server,tạo sửa xoá VLAN local.

Trunking : kết nối trunk truyền tải luồng dử liệu của nhiều VLAN trên 1 kết nối duy nhất .

tham khảo


SW(config-if)#switchport trunk encapsulation dot1q
SW(config-if)#switch mode trunk

Bầu Root brige của Switch, càng nhỏ thì lại càng được bầu,giảm số priority xuống thấp hơn số Priority của root để làm root bridge, chỉ số priority là bội số của 4096 .


Câu lệnh cho vlan 1 làm root

Sw(config)#spanning-tree vlan 1 root primary 
sw(config)#spanning-tree vlan 1 priority 4096

Cấu hình RootBridge secondary 
sw(config)#spanning-tree vlan 2 root secondary 

Cấu hình portfast 
sw(config-if)#spanning-tree portfast
portfast multi port
sw(config)#spanning-tree portfast default                   // bật portfast cho all port Non Trunking

Switch(config)#spanning-tree uplink fast
Switch(config-if)# spanning-tree bpduguard enable

sw#show spanning-tree vlan [id] 

Cấu hình port-security f0/2 của Sw chỉ nhận MAC (AAAA.BBBB.CCCC), gán máy khác thì port shutdown , sau 30s tự phục hồi lỗi shutdown

#int f0/2
#switchport mode access
#switchport port-security
#switchport port-security maximum 1
#switchport port-security mac-address AAAA.BBBB.CCCC
#switchport port-security violation shutdown
#errdisable recovery interval 30
#errdisable recovery cause psecure-violation 


Switch(config-if)# switchport port-security aging time 10
Switch(config-if)# switchport port-security aging type inactivity
Restore default 
#default interface f0/2


S1(config)#in f0/2
S1(config-if)#switchport mode access
S1(config-if)#switchport port-security
S1(config-if)# spanning-tree portfast
S1(config-if)# spanning-tree bpduguard enable
S1(config-if)# switchport port-security mac-address sticky 
S1(config-if)#switchport port-security mac-address sticky 0001.42CB.A602