Sunday 22 October 2017

BGP LAB

BGP နဲ့ပက်သက်ပြီး LAB တစ်ခုကို လုပ်ကြည့်ရအောင်။ ဒီ LAB ကို ပြီးခဲ့တဲ့ Workshop တုန်းက လုပ်ဖို့ အတွက် စီစဉ်ထားတာဖြစ်ပါတယ်။ BGP အကြောင်းအရာဖက်က ကြည့်မယ်ဆိုရင် အခြေခံ သဘောတရား လောက်သာပါမှာ ဖြစ်ပါတယ်။ ဒါပေမဲ့ BGP အတွက် လုပ်ရင်းနဲ့ တခြားသိထား လေ့လာထားတဲ့ အရာတွေဟာ ဘယ်လို အသုံးဝင်လာမလဲ ဆိုတာတွေကို ပြန်ပြီး ပေါင်းစပ်မိဖို့အတွက်ကိုလည်း ရည်ရွယ် ထားပါတယ်။ 



ဒီပုံမှာ အဖွဲ့အစည်း နှစ်ခုဟာ ISP ကို BGP နဲ့ ချိတ်ဆက်ထားပြီးတော့ သူတို့ရဲ့ Public IP Address တွေကို ISP ကနေ တဆင့် Advertise လုပ်ထားပါတယ်။ AS100 နဲ့ AS200 ဟာ Public IP အချင်းချင်းသာ ဆက်သွယ်လို့ ရမှာ ဖြစ်ပါတယ်။ ပေးထားတဲ့ နမူနာ အတိုင်း လိုက်လုပ်ကြည့်ရင်း တခြား စဉ်းစားစရာ တွေကို စဉ်းစားကြည့်ရင်း သိထားတာတွေကို ပြန်အသုံးချကြည့်တာပေါ့။

- EIGRP မှာ no auto-summary မပါရင် ဘယ်လိုအကျိုးသက်ရောက်မှုတွေ ဖြစ်လာနိုင်သလဲ။
- AS100/AS200 နဲ့ ကြားက Subnet ကို အတွင်းက Router တွေက သိဖို့လိုသလား။
- Static IP route ကို Null 0 သုံးထားခြင်းဟာ Routing ကိုထိခိုက်စေနိုင်လား။ ဘာကြောင့် သုံးထားသလဲ။
- အတွင်းက Router တွေကနေ Source IP မပါပဲနဲ့ ဘာကြောင့် အပြင်ထွက်လို့ မရသလဲ။ အပြင်ထွက်လို့ရဖို့အတွက် ဘာကို အသုံးပြုရမလဲ။

BGP နဲ့ ပက်သက်ပြီး တော့ စဉ်းစားစရာတွေကတော့
- ISP နဲ့ Peer လုပ်တဲ့အခါမှာ တိုက်ရိုက်ချိတ်ထားတဲ့ Interface IP အစား Loopback IP သုံးမယ်ဆိုရင် ဘယ်လိုလုပ်ရမလဲ။
- Network statement နဲ့ Advertise လုပ်လိုက်တာနဲ့ Network advertisement အတွက် လုံလောက်ပြီလား။
- BGP default weight နဲ့ Local preference Value က ဘာလဲ။ ဘယ်လို သိနိုင်မလဲ။
- AS200 မှာ Route-reflector သုံးထားတဲ့ အကျိုးကျေးဇူးက ဘာဖြစ်နိင်မလဲ။
- iBGP တွေမှာ next-hop-self ဘာကြောင့် သုံးရတာလဲ။
- Neighbour ကနေ Prefix ဘယ်နှစ်ခု လက်ခံရသလဲဆိုတာကို ဘယ်လိုသိနိုင်မလဲ။
- BGP best route ဖြစ်ကြောင်းကို ဘာကိုကြည့်ရင် သိနိုင်သလဲ။
- Prefix တစ်ခုဟာ ဘယ် AS ကနေ အစပြုလာသလဲဆိုတာ ဘယ်လိုသိနိုင်မလဲ။

ဒီမေးခွန်းတွေကို ဖြေနိုင်ပြီဆိုရင် Routing နဲ့ BGP အခြေခံကို နားလည်သဘောပေါက်ထားပြီလို့ ယူဆလို့ ရပါပြီ။

ကိုဖြိုး။



Configuring Interfaces IP address for IGP and BGP
ISP
interface FastEthernet0/0
 ip address 121.121.121.1 255.255.255.252
 
interface FastEthernet0/1
 ip address 122.122.122.1 255.255.255.252

A1
interface Loopback1
 ip address 100.100.100.1 255.255.255.255
 
interface FastEthernet0/0
 ip address 192.168.100.1 255.255.255.0
 
interface FastEthernet0/1
 ip address 121.121.121.2 255.255.255.252
 
A2
interface Loopback1
 ip address 100.100.100.2 255.255.255.255
 
interface FastEthernet0/0
 ip address 192.168.100.2 255.255.255.0
 
B1
interface Loopback1
 ip address 200.200.200.1 255.255.255.255
 
interface FastEthernet0/0
 ip address 192.168.200.1 255.255.255.0
 
interface FastEthernet0/1
 ip address 122.122.122.2 255.255.255.252

B2
interface Loopback1
 ip address 200.200.200.2 255.255.255.255
 
interface FastEthernet0/0
 ip address 192.168.200.2 255.255.255.0
 
B3
interface Loopback1
 ip address 200.200.200.3 255.255.255.255
 
interface FastEthernet0/0
 ip address 192.168.200.3 255.255.255.0

Configuring IGP in AS 100 and AS 200 and verify peers/routes
AS100 (EIGRP)
A1(config)#router eigrp 100
A1(config-router)#network 100.100.100.1 0.0.0.0
A1(config-router)#network 192.168.100.1 0.0.0.0
A1(config-router)#no auto-summary
 
A2(config)#router eigrp 100
A2(config-router)#network 100.100.100.2 0.0.0.0
A2(config-router)#network 192.168.100.2 0.0.0.0
A2(config-router)#no auto-summary
 
A1#sh ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   192.168.100.2           Fa0/0             13 00:01:38   20   200  0  9
 
A1#sh ip route eigrp
     100.0.0.0/32 is subnetted, 2 subnets
D       100.100.100.2 [90/409600] via 192.168.100.2, 00:00:15, FastEthernet0/0
 
A2#sh ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                           
                                            (sec)         (ms)       Cnt Num
0   192.168.100.1           Fa0/0             14 00:02:00  432  2592  0  10
 
A2#sh ip route eigrp
     100.0.0.0/32 is subnetted, 2 subnets
D       100.100.100.1 [90/409600] via 192.168.100.1, 00:00:56, FastEthernet0/0

AS200 (OSPF)
 
B1(config)#router ospf 1
B1(config-router)#router-id 200.200.200.1
B1(config-router)#network 200.200.200.1 0.0.0.0 are 0
B1(config-router)#network 192.168.200.1 0.0.0.0 are 0

B2(config)#router ospf 1
B2(config-router)#router-id 200.200.200.2
B2(config-router)#network 200.200.200.2 0.0.0.0 are 0
B2(config-router)#network 192.168.200.2 0.0.0.0 are 0
 
B3(config)#router ospf 1
B3(config-router)#router-id 200.200.200.3
B3(config-router)#network 200.200.200.3 0.0.0.0 are 0
B3(config-router)#network 192.168.200.3 0.0.0.0 are 0
 
B1#sh ip ospf neighbor
 
Neighbor ID     Pri   State           Dead Time   Address         Interface
200.200.200.2     1   FULL/BDR        00:00:34    192.168.200.2   FastEthernet0/0
200.200.200.3     1   FULL/DROTHER    00:00:37    192.168.200.3   FastEthernet0/0
 
B1#sh ip route ospf
     200.200.200.0/32 is subnetted, 3 subnets
O       200.200.200.2 [110/11] via 192.168.200.2, 00:01:46, FastEthernet0/0
O       200.200.200.3 [110/11] via 192.168.200.3, 00:01:06, FastEthernet0/0
 
B2#sh ip ospf neighbor
 
Neighbor ID     Pri   State           Dead Time   Address         Interface
200.200.200.1     1   FULL/DR         00:00:38    192.168.200.1   FastEthernet0/0
200.200.200.3     1   FULL/DROTHER    00:00:30    192.168.200.3   FastEthernet0/0
 
B2#sh ip route ospf
     200.200.200.0/32 is subnetted, 3 subnets
O       200.200.200.1 [110/11] via 192.168.200.1, 00:01:59, FastEthernet0/0
O       200.200.200.3 [110/11] via 192.168.200.3, 00:01:19, FastEthernet0/0
 
B3#sh ip ospf neighbor
 
Neighbor ID     Pri   State           Dead Time   Address         Interface
200.200.200.1     1   FULL/DR         00:00:35    192.168.200.1   FastEthernet0/0
200.200.200.2     1   FULL/BDR        00:00:34    192.168.200.2   FastEthernet0/0
 
B3#sh ip route ospf
     200.200.200.0/32 is subnetted, 3 subnets
O       200.200.200.1 [110/11] via 192.168.200.1, 00:01:51, FastEthernet0/0
O       200.200.200.2 [110/11] via 192.168.200.2, 00:01:51, FastEthernet0/0
Configuring EBGP between ISP and AS 100, AS 200 
 
ISP(config)#int l1
ISP(config-if)#ip add 120.120.120.120 255.255.255.255
 
ISP(config)#router bgp 120
ISP(config-router)#bgp router-id 120.120.120.120
ISP(config-router)#neighbor 121.121.121.2 remote-as 100
ISP(config-router)#neighbor 122.122.122.2 remote-as 200
ISP(config-router)#network 120.120.120.120 mask 255.255.255.255
 
A1(config)#router bgp 100
A1(config-router)#bgp router-id 100.100.100.1
A1(config-router)#neighbor 121.121.121.1 remote-as 120
 
B1(config)#router bgp 200
B1(config-router)#bgp router-id 200.200.200.1
B1(config-router)#neighbor 122.122.122.1 remote-as 120
 
ISP#sh ip bgp summary | B Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
121.121.121.2   4   100      14      16        2    0    0 00:02:46        0
122.122.122.2   4   200       5       6        2    0    0 00:01:05        0
 
A1#sh ip bgp su | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
121.121.121.1   4   120      17      15        2    0    0 00:03:10        1
 
B1#sh ip bgp su | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
122.122.122.1   4   120       6       5        2    0    0 00:01:49        1
Configuring iBGP in AS 100 and AS 200 
 
A1(config)#router bgp 100
A1(config-router)#neighbor 192.168.100.2 remote-as 100
A1(config-router)#neighbor 192.168.100.2 next-hop-self
 
A2(config)#router bgp 100
A2(config-router)#bgp router-id 100.100.100.2
A2(config-router)#neighbor 192.168.100.1 remote-as 100
A2(config-router)#neighbor 192.168.100.1 next-hop-self
 
A1#sh ip bgp summary | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
121.121.121.1   4   120      69      67        2    0    0 00:55:21        1
192.168.100.2   4   100       4       5        2    0    0 00:00:45        0
 
A2#sh ip bgp summary | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.100.1   4   100       5       4        2    0    0 00:00:50        1
 
B1(config)#router bgp 200
B1(config-router)#neighbor 192.168.200.2 remote-as 200
B1(config-router)#neighbor 192.168.200.2 next-hop-self
B1(config-router)#neighbor 192.168.200.2 route-reflector-client
B1(config-router)#
B1(config-router)#neighbor 192.168.200.3 remote-as 200
B1(config-router)#neighbor 192.168.200.3 next-hop-self
B1(config-router)#neighbor 192.168.200.3 route-reflector-client
 
B2(config)#router bgp 200
B2(config-router)#bgp router-id 200.200.200.2
B2(config-router)#neighbor 192.168.200.1 remote-as 200
B2(config-router)#neighbor 192.168.200.1 next-hop-self
 
B3(config)#router bgp 200
B3(config-router)#bgp router-id 200.200.200.3
B3(config-router)#neighbor 192.168.200.1 remote-as 200
B3(config-router)#neighbor 192.168.200.1 next-hop-self
 
B1#sh ip bgp su | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
122.122.122.1   4   120      62      61        2    0    0 00:57:34        1
192.168.200.2   4   200       5       6        2    0    0 00:01:29        0
192.168.200.3   4   200       4       5        2    0    0 00:00:33        0
 
B3#sh ip bgp summary | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.200.1   4   200       5       4        2    0    0 00:00:51        1
 
B2#sh ip bgp summary | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.200.1   4   200       7       6        2    0    0 00:02:04        1

Advertise Public IP range to ISP and verify routing test between AS100 and 200
 
A1(config)#router bgp 100
A1(config-router)#network 100.100.100.0 mask 255.255.255.0
A1(config-router)#exit
A1(config)#
A1(config)#ip route 100.100.100.0 255.255.255.0 null 0
 
B1(config)#router bgp 200
B1(config-router)#network 200.200.200.0 mask 255.255.255.0
B1(config-router)#exit
B1(config)#
B1(config)#ip route 200.200.200.0 255.255.255.0 null 0
 
ISP#sh ip bgp su | b Nei
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
121.121.121.2   4   100      75      78        4    0    0 01:02:50        1
122.122.122.2   4   200      66      68        4    0    0 01:01:10        1
 
ISP#sh ip bgp
BGP table version is 4, local
router ID is 120.120.120.120
Status codes: s suppressed, d
damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 100.100.100.0/24 121.121.121.2            0             0 100 i
*> 120.120.120.120/32
                    0.0.0.0                  0         32768 i
*> 200.200.200.0    122.122.122.2            0             0 200 i
 
A2#sh ip bgp
BGP table version is 4, local
router ID is 100.100.100.2
Status codes: s suppressed, d
damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP,? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*>i100.100.100.0/24 192.168.100.1            0    100      0 i
*>i120.120.120.120/32
                    192.168.100.1            0   100      0 120 i
*>i200.200.200.0    192.168.100.1            0   100      0 120 200 i
 
B3#sh ip bgp
BGP table version is 4, local
router ID is 200.200.200.3
Status codes: s suppressed, d
damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP,? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*>i100.100.100.0/24 192.168.200.1            0    100      0 120 100 i
*>i120.120.120.120/32
                    192.168.200.1            0   100      0 120 i
*>i200.200.200.0    192.168.200.1            0   100      0 i
 
A2#ping 200.200.200.3 source
100.100.100.2
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echosto 200.200.200.3, timeout is 2 seconds:
Packet sent with a sourceaddress of 100.100.100.2
!!!!!
Success rate is 100 percent
(5/5), round-trip min/avg/max = 40/49/56 ms
 
B3#ping 100.100.100.2 source 200.200.200.3
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.100.100.2, timeout is 2 seconds:
Packet sent with a source address of 200.200.200.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/56/68 ms


Sunday 8 October 2017

စိတ်ချပါရစေ။



ကျွန်တော်တို့ ငယ်စဉ်က ဘောလုံး ကစားကြတဲ့အခါ ရှိတဲ့သူငယ်ချင်းတွေနဲ့ အရေအတွက် ညီမျှစွာ လူခွဲပြီး နှစ်ဖက်ခွဲကန်လေ့ရှိပါတယ်။ အဲဒီလို ခွဲတဲ့အခါ ကန်တတ်တဲ့သူ အကန်ကောင်းတဲ့သူဆိုရင် ကိုယ့်ဖက်က ကစားဖို့ လုကြပါတယ်။ ဒါမှသာ ကိုယ့်ဖက်က နိုင်ဖို့ အခြေအနေ ပိုသာမှာ ဖြစ်ပါတယ်။ နိုင်ဖို့ အပြင် တခြားအဓိက တစ်ချက် ကျန်ပါသေးတယ်။ ငယ်တုန်းအခါကတော့အဲဒီအချက်ကို သတိပြုမိမယ် မထင် ပါဘူး။ သူပါရင် ကိုယ်ဖက်က သာမယ်၊ မရှုံးနိုင်ဘူးဆိုတာလောက်ပဲ မြင်တာလေ။ အဲဒီမှာ မသိစိတ်က သူ့ကို ယုံကြည်မှု၊ စိတ်ချမှုဆိုတာက အဓိက တွန်းအားပေးတဲ့ အချက်ပါ။ ယုံကြည်မှုပေါ့။ အသင်းဖော် အဖြစ် အားထား ယုံကြည်ရသူ တစ်ယောက်အဖြစ်ပေါ့။

နောက်တခါ ကောင်းကောင်းမကစားတတ်တဲ့သူ၊ ငယ်တဲ့သူ တွေပါလာရင် သိပ်မလိုချင်ကြသလို အာလူး ဘူးသီးဆိုပြီး ထည့်မတွက်ပဲ ပေးကစားခဲ့ရတဲ့ ကစားဖော်တွေလဲ ရှိပါတယ်။ အဲဒါက ဘာလဲဆိုတော့ သူတို့ကို အပြည့်အဝ မယုံကြည်ရလို့ဖြစ်ပါတယ်။ ဘယ်အချိန်မှာ ကိုယ့်ဂိုးကိုယ်ပြန်သွင်းလိုက်မလဲ၊ အငယ်တွေ ဆိုရင်လဲ တဖက်က သဘာရင့် ကစားသမားရဲ့ လှည့်ကွက်ကို သိနိုင်ပါ့မလား၊ အတွေ့အကြုံ ရှိပါ့မလားဆိုတဲ့ စိုးရိမ်မှုတွေ ထားနေရတဲ့ အတွက် မခေါ်ချင်ကြပါဘူး။ ဒါ အားလုံးကြုံခဲ့ဖူးကြမယ့် ငယ်ဘဝ က အခြေအနေ တစ်ခုပါ။

အခု လုပ်ငန်းခွင်ထဲ ရောက်လာပြီ၊ လုပ်ဖော်ကိုင်ဖက်တွေ အများကြီးနဲ့ လုပ်နေရတဲ့ အချိန်မှာ ငယ်ငယ်က ကြုံခဲ့ရတဲ့ အားထားရတဲ့ ကစားသမားလား အာလူး ဘူးသီးလားဆိုတဲ့ ခွဲခြားမှုဟာ ပိုပြီးသိသာ ပြင်းထန်လာပါတယ်။ ငယ်ငယ်က ကစားတာဆိုတော့ ဘာဖြစ်ဖြစ် အဆင်ပြေသလို ကစားခဲ့ကြပေမဲ့ အလုပ်လုပ်လာရတဲ့ အချိန်မှာတော့ တာဝန် ဆိုတဲ့ အရာကြောင့် လက်ခံလို့မရတော့တဲ့ အခြေနေမျိုးတွေ ကြုံတွေ့လာပါတယ်။ တခါတလေမှာ အာလူး ဘူးသီးတွေကို ဖယ်ထုတ်ရတဲ့ အထိ ဖြစ်လာတာ တွေ့ရပါတယ်။ ဒီနေရာ စဉ်းစားဖို့လိုလာတာက ကိုယ်ကပဲ ရွေးချယ်ရတဲ့သူ အဖြစ် အမြဲရှိနေနိုင်မလား၊ ကိုယ်ကရော အရွေးချယ်ခံ ကစားသမား တစ်ယောက် ဖြစ်နိင်ချေ ရှိလားဆိုတဲ့ အချက်ပါ။ သေချာတာကတော့ အရွေးချယ်ခံ ဖြစ်ဖို့က ရာခိုင်နှုန်း ပိုများတယ်ဆိုတာပါပဲ။

ဒီလိုဆို ကိုယ်က ဘယ်လိုလူမျိုးဖြစ်သင့်လဲ ဆိုတာ မေးစရာ မလိုတဲ့ မေးခွန်းတစ်ခုပါ။ ဘယ်သူမှအာလူး ဘူးသီး အဖြစ်မခံချင်ပါဘူး။ ဒါပေမဲ့ ကိုယ့်ရဲ့ လုပ်ပုံ ကိုင်ပုံ၊ အတတ်ပညာ၊ အသိပညာကျွမ်းကျင်နှံ့စပ်ပုံ၊ အလုပ်ပေါ်  တာဝန်ယူမှု စတာတွေကို ကြည့်ပြီး ကျန်တဲ့ လုပ်ဖော် ကိုင်ဖက်၊အထက်လူကြီးတွေက ဆုံးဖြတ်မှာပါ။ ကိုယ်က ပါးစပ်နဲ့ အောင်လက်မှတ်တွေနဲ့ ငါ အာလူး ဘူးသီး မဟုတ်ဘူးကွဆိုပြီး ပြောယုံနဲ့မရပါဘူး။ ဒါဆို ခရမ်းသီးပေါ့ဆိုပြီး လှောင်ပြောင်ကြပါလိမ့်မယ်။ဘာနဲ့ သက်သေ ပြရမလဲ ဆိုရင်တော့ အလုပ်နဲ့ သက်သေပြရပါမယ်။ ဒါက အတိုပြောတာပါ။ ဘယ်လို အလုပ်နဲ့ သက်သေ ပြရမလဲဆိုတာ တွေက အချက်အလက်တွေ အများကြီးနဲ့ ပေါင်းစပ်ထားတာပါ။ 

အခြေခံကျတဲ့ အချက်တွေ ပြောပါဆိုရင်တော့ အရင်ဆုံး အမှားကင်း/နဲ ရပါမယ်။ မမှားတဲ့သူ မရှိဘူးဆိုပေမယ့် မကြာခဏ မှားနေတဲ့သူကိုတော့ ဘယ်သူမှ မကြိုက်ပါဘူး။ ၂၀၁၇ နှစ်ဆန်းပိုင်းက Amazon က ဝန်ထမ်း တစ်ယောက်ရဲ့ အမှားကြောင့် AWS service down သွားပြီး ထိခိုက်ပျက်စီးမှု အများကြီး ဖြစ်သွားပါတယ်။ သူမှားတာ Command တစ်ကြောင်း မှားသုံးမိသွားလို့ပါ။ဒီတော့ ကိုယ့်အမှားဟာ ဘယ်လောက်အတိုင်းအတာ အထိ သွားမယ်ဆိုတာ မှန်းဆဖို့ လိုအပ်ပါတယ်။ ဥပမာ ပြောရရင် Network Change တွေ ကိုယ်တွယ်တဲ့အခါမှာ အဲ့ဒီ Change ကြောင့်ဘာတွေထိခိုက်နိင်လဲဆိုတဲ့ Impact analysis ကို ထည့်တွက်ရပါတယ်။ AWS ကိစ္စဖတ်ကြည့်ချင်ရင်

Amazon human error
https://www.recode.net/2017/3/2/14792636/amazon-aws-internet-outage-cause-human-error-incorrect-command

https://aws.amazon.com/message/41926/

နောက်ထပ် ကြည့်မယ်ဆိုရင် ဘာကြောင့်မှားတာလဲ ဆိုတဲ့ ကိစ္စပါ။ ကျွမ်းကျင်မှုမရှိလို့ သို့မဟုတ် မသေချာလို့၊ ပေါ့ဆလို့၊ အလေးထားမှု ပေါ့လျော့လို့ဆိုတဲ့ နောက်ဆက်တွဲ ကိစ္စတွေပါလာပါတယ်။ ကျွမ်းကျင်မှု မရှိတာက လေ့လာသင်ယူလို့ရပေမဲ့ ကျန်တဲ့ကိစ္စတွေက မသိမသာ အသားကျ နေခဲ့တဲ့ ကိုယ့်ရဲ့လုပ်ပုံ ကိုင်ပုံ တွေနဲ့ အကျင့်ကြောင့် ဆိုရင်တော့ သင်ယူယုံနဲ့မရ ကိုယ်တိုင် ပြင်ယူမှ ရမှာ ဖြစ်ပါတယ်။ ဒါမှာသာ ကိုယ်ရှေ့ဆက်ရမဲ့ လမ်းကြောင်းအတွက် အဆင်ပြေမှာ ဖြစ်ပါတယ်။ ဒါတွေက ပြင်လို့ရတဲ့ ကိစ္စတွေ၊ လုပ်ဖော်ကိုင်ဖက် တွေရဲ့ ကောင်းတဲ့ အချက်တွေကနေ အတုယူလို့ ရတဲ့ ကိစ္စတွေပါ။

အခြားအချက်တွေဖြစ်တဲ့ တာဝန်ယူမှု၊ အချိန်တိကျမှု၊ စေ့စပ်သေချာမှု၊ လိုက်လျောညီထွေရှိမှု၊ခေါင်းဆောင် နောက်လိုက် သူ့နေရာသူ လုပ်ဆောင်တတ်မှု စတဲ့ ကိစ္စတွေအပြင် စကားပြော၊အရေးအသား ကျွမ်းကျင်မှု၊ ကိုယ့် အလုပ်နဲ့ ပတ်သက်တဲ့ နည်းပညာ နယ်ပယ်မှာ ကျွမ်းကျင်မှု၊ဆက်စပ်နေတဲ့ နည်းပညာများအပေါ် ဖတ်ရှုလေ့လာထားမှု တွေက လုပ်ဖော်ကိုင်ဖက်ချင်း၊ အဖွဲ့အစည်း တစ်ခု အတွင်း ယုံကြည် အားကိုး အားထားရတဲ့ သူတစ်ယောက် အဖြစ်ကို တွန်းပို့ပေးမဲ့ အရာတွေ ဖြစ်ပါတယ်။

ကိုယ်တိုင်လဲ ဒါတွေကို ကြိုးစားဖြည့်တင်းနေဆဲဖြစ်သလို အခုမှ လုပ်ငန်းခွင်ကို ဝင်လာကြမဲ့ လူငယ် ခြေတက်တွေကို အရောင် တောက်ပလာစေချင်တဲ့ ရည်ရွယ်ချက်နဲ့ ပြောပြရတာ ဖြစ်ပါတယ်။ အချိန်တွေ ကြာလာပေမဲ့ အာလူး ဘူးသီး ဘဝ ကနေ မတက်ဆိုရင်တော့ မကောင်းပါဘူး။အလုပ်တွေ ပြောင်းသွား သည့်တိုင် ကိုယ့်ရဲ့ လုပ်ဖော်ကိုင်ဖက်ဟောင်းတွေ၊ ဆရာတွေက ငယ်ငယ်က ဘောလုံးအသင်း လူလုတဲ့ ပုံစံအတိုင်း မင်းနဲ့ငါ နောက်တကြိမ်လောက် အတူတူ ပြန်လုပ်ချင်သေးတယ်၊ မင်းနဲ့ဆို အချိန်မရွေး ပြန်လုပ်ဖို့ အသင့်ပဲ ဆိုတဲ့ စကားမျိုးတွေ ပြန်ကြားရတဲ့ပီတိဟာ ဘယ်လောက်ကောင်းသလဲ ဆိုတာ တချိန်မှာ သိလာနိင်သလို၊ ဒါတွေဟာ ကိုယ့်ရဲ့ အောင်မြင်မှုကို ပြသနေတဲ့ အချက်တွေဆိုတာ အငြင်းပွားဖွယ်ရာ မရှိပါဘူး။ ဒီတော့ ကိုယ့်အတွက် အလုပ်အကိုင် အခွင့်အရေးရဖို့ လက်မှတ်တွေဖြေ၊ လေ့လာ လိုက်စားမှုတွေ ပြီးလို့ အလုပ်ထဲစတင်ဝင်ရောက်တဲ့ အချိန်ကစပြီး အားထားရတဲ့ Reliable person အဖြစ် ရပ်တည် နိုင်အောင် ကြိုးစားကြဖို့ တိုက်တွန်းလိုပါတယ်။

ကိုဖြိုး