/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

BGInfo Background & Deploy To Client Via GPO

Giới thiệu:
Do nhu cầu thực tế về việc quản lý nhiều server nên khi kết nối vào chúng ta không biết là đang đăng nhập vào server nào, hoặc hướng dẫn ai đó cung cấp cho chúng ta một vài thông tin để chúng ta hỗ trợ họ. Với BGinfo giúp chúng lấy thông tin như: tên máy tính, username, địa chỉ IP, thông tin phần cứng, ...  của máy tính hiện tại ghi lên màn hình nền của Desktop mỗi khi logon. 

Mục tiêu 

Lấy các thông tin hiển thị lên màn hình như hình dưới.

Yêu cầu:
1. Download Bginfo
2. Lấy các trường thông tin: Host name, Boot time, Logon server, Logon domain, User name, System type, Default Gateway, Memory, CPU, OS system, Volumes, Free Space được định nghĩa mặc định và in lên góc trên trái của màn hình.
3. Dùng WMI query để lấy thêm các trường thông tin: Domain Name, Model Name, Model Vendor, IP Address, DNS Server và MAC Address
4. Dùng VB Script để lấy địa chỉ IPv4 của máy tính.
5. Sắp xếp các trường cần hiển thị theo ý
6. Cài đặt Bginfo vào startup cho user.
7. Deploy từ Domain Controller xuống các máy con trong môi trường domain thông qua GPO.

Thực hiện:
1. Download Bginfo tại đây

2. Lấy các trường thông tin: Host name, Boot time, Logon server, Logon domain, User name, System type, Default Gateway, Memory, CPU, OS system, Volumes, Free Space được định nghĩa mặc định và in lên góc trên trái của màn hình.

Cài đặt nơi lưu ảnh sau khi ghi thông tin; vị trí hiển thị của trường thông tin là góc trên trái, và chỉ ghi trong phạm vi là  4,2 inch như hình dưới:

Chọn các trường đã được định nghĩa sẵn trong vùng Fields -> Add -> Apply -> OK để xem kết quả, cài đặt như hình dưới:

3. Dùng WMI query để lấy thêm các trường thông tin: Domain Name, Model Name, Model Vendor, IP Address, DNS Server và MAC Address


Chọn Custom... -> New... -> WMI query -> Browse trong WMI Class chọn Win32_ComputerSystemClass Property chọn Domain -> OK -> đặt trên chổ Identifier là Domain Name (hay WMI Domain Name cho dể phân biệt) -> OK -> OK. Có thể tham khảo cài đặt như hình dưới:

Hoặc chúng ta có thể gõ trực tiếp câu query vào phần path như dưới và đặt tên chổ phần Identifier

Domain Name query:
SELECT Domain FROM Win32_ComputerSystem

Tương tự cho Model Name, Model Vendor, IP Address, DNS Server và MAC Address

Model Name:
SELECT Name FROM Win32_ComputerSystemProduct

Model Vendor:
SELECT Vendor FROM Win32_ComputerSystemProduct

IP Address:
SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True

DNS Server:
SELECT DNSServerSearchOrder FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True

MAC Address:
SELECT MACAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True


Noted: Với các trường IP address, DNS Server, MAC Address chúng ta phải thêm "WHERE IPEnabled=True" ở cuối câu query nếu không có một số trường hợp chúng ta nhận được kết quả có thêm chữ NULL như hình bên dưới



Kết quả cuối cùng của các trường query bằng WMI


Nhận xét: Với cách lấy IP Address bằng WMI query như hiện tại nó sẽ lấy cả IPv6 nếu IPv6 có enable trên máy tính. Để chỉ lấy IPv4 thì chúng ta có thể dùng VB Script với các query kèm thêm các điều kiện. Tham khảo mục VB Script ở mục 4.

4. Dùng VB Script để lấy địa chỉ IPv4 của máy tính.

Tạo file Bginfo.vbs với nội dung:
' Special BGInfo Script
' Only IPv4 Address v1.7
' Programmed by WindowsStar - Copyright (c) 2009-2011
' --------------------------------------------------------
strComputer = "."
On Error Resume Next
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled = 'True'")
For Each objIP in colSettings
   For i=LBound(objIP.IPAddress) to UBound(objIP.IPAddress)
      If InStr(objIP.IPAddress(i),":") = 0 Then Echo objIP.IPAddress(i)
   Next
Next

Cài đặt thực hiện query thông qua VBS, chúng ta trỏ đến file Bginfo.vbs vừa tạo ở trên. Tham khảo cài đặt như hình dưới:

Chọn IPv4 vừa định nghĩa trong vùng Fields -> Add để thêm vào nội dung cần hiển thị -> Apply -> OK xem kết quả.

Kết quả cho chúng ta thấy chỉ lấy duy nhất IPv4 cho dù IPv6 đang enable. 

5. Sắp xếp các trường cần hiển thị theo ý
Các bạn có thể sắp xếp theo yêu cầu của các bạn, cách làm của chúng tôi chỉ nhằm mục đích tham khảo:


Sau khi xem kết quả nếu ok chúng ta lưu lại (file -> save as) với tên Bginfo.bgi cùng thư mục với file Bginfo.exe cho dễ.


Chúng tôi lưu vào C:\Windows\Bginfo, và hiện tại có 3 file (bginfo.exe là file chương trình, bginfo.vbs được tạo ra ở mục 4, bginfo.bgi được tạo ra ở mục 5 lưu cấu hình).

6. Cài đặt Bginfo vào startup cho user.

  • Tạo file Bginfo.reg với nội dụng sau và chạy file này với quyền administrator:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Sysinternals\BGInfo]
"EulaAccepted"=dword:00000001

 Kết quả sau khi chạy file Bginfo.reg

  • Tạo file Bginfo.bat với nội dung:

@echo off
cd
CALL "C:\BGinfo\Bginfo.exe" "C:\BGinfo\Bginfo.bgi" /timer:0 /nolicprompt
Ý nghĩa:  timer:0 : thời gian chờ là 0;  nolicprompt: không cần cần hiển thị form xác nhận thông tin

  • Tạo shortcut để chạy file Bginfo.bat mỗi khi đăng nhập vào máy


7. Deploy từ Domain Controller xuống các máy con trong môi trường domain thông qua GPO.

  • Share folder Bginfo trên file server và cho phép các client truy cập vào folder này
Kết quả truy cập đến folder Bginfo trên file server thành công.
  • Tạo GPO thực hiện copy tất cả các file Bginfo.* từ file server đến máy client

  • Tạo regedit key mặc đinh cho phép (EulaAccepted) khi chạy lần đầu tiên

  • Tạo shortcut để thực thi file Bginfo.bgi trên Startup



  • Thực hiện deploy từ domain xuống các client


Với các máy client các bạn thực hiện lệnh gpupdate /force và log off lại máy để xem kết quả.

Chúng tôi hy vọng sẽ ít nhiều giúp được các bạn khi cần.
Các file đã thực hiện của bài lab

Xong!

Các link tham khảo
1. Cài đặt cơ bản từ microsoft.com
2. Remove the (none) IP Address
3. VBScript for displaying only IPv4 Addresses

Cisco, Port Security

Giới thiệu:

Trong một số trường hợp chúng ta cần kiểm soát sự truy xuất của client vào một hệ thống mạng nhằm giảm thiểu rủi ro (MAC flooding là một kỹ thuật tấn công phổ biến trong mạng LAN) cho hệ thống mạng. Cách đơn giản để quản lý client là dựa vào địa chỉ MAC của client đó. Catalyst Switch Cisco cung cấp tính năng port security giúp kiểm khiển truy cập của một client trên port của switch dựa vào địa chỉ MAC của nó.

Mặc định switch cho phép và học tất cả các địa chỉ MAC trên một interface, chúng ta có thể thay đổi cách hành sử này với tính năng port security (bảo mật cổng, bảo mật lớp 2 trên switch).


Sơ đồ trên có 2 máy tính kết nối vào một switch bình thường (là switch không thể quản lý được, chỉ gắng vào là chạy) và switch được nối với Cisco Switch cổng Et0/0, lúc này trên cổng  Et0/0 của Cisco Switch học được địa chỉ MAC của PC1 và PC2.

Ví dụ chúng ta cho phép Cisco Switch chỉ học một địa chỉ MAC trên cổng Et0/0 mà thôi, các địa chỉ khác sẽ bị vi phạm (violation) và chúng ta có thể đưa ra cách hành xử cho các MAC vi phạm này.

Ngoài việc giới hạng số lượng MAC học trên cổng chúng ta có thể cho phép lọc-Filter địa chỉ MAC, tức là chỉ cho phép một hoặc một nhóm các địa chỉ MAC cụ thể nào đó, các địa chỉ khác ngoài danh sách cho phép sẽ bị vi phạm sẽ bị loại bỏ.

Sơ đồ Lab:

Các kiến thức sử dụng trong bài: Spanning portfast, port security

YỀU CẦU:
1. Đấu nối, đặt IP như hinh và cấu hình spanning portfast (hội tụ nhanh trong việc kiểm tra) trên tất cả các interface của switch.
2. Enable tính năng port security trên cổng Et0/0 của cisco switch
3. Chỉ cho phép duy nhất địa chỉ MAC 0050.7966.6803 của PC1 kết nối vào cổng Et0/0 của cisco switch.
4. Nếu không vi phạm (số PC < = 2) port sẽ tự động phục hồi khỏi trạng thái lỗi sau 30 giây.
5. Đảm bảo cisco switch chỉ cho phép 2 PC đầu tiên kết nối vào cổng Et0/0 của cisco switch.

THỰC HIỆN:
1. Đấu nối, đặt IP như hinh và cấu hình spanning portfast (hội tụ nhanh trong việc kiểm tra) trên tất cả các interface của switch.

PC1:
VPCS> set pcname PC1
PC1> ip 192.168.1.1/24 192.168.1.254
Checking for duplicate address...
PC1 : 192.168.1.1 255.255.255.0 gateway 192.168.1.254

PC2:
VPCS> set pcname PC2
PC2> ip 192.168.1.2/24 192.168.1.254
Checking for duplicate address...
PC1 : 192.168.1.2 255.255.255.0 gateway 192.168.1.254

Normal Switch:
hostname Normal_sw
spanning-tree portfast default 

Cisco Switch:
hostname Cisco_sw
spanning-tree portfast default
!
interface Vlan1
ip address 192.168.1.254 255.255.255.0
no shutdown
end
write


2. Enable tính năng port security trên cổng Et0/0 của cisco switch

Cisco Switch:
interface Ethernet0/0
 switchport mode access
 switchport port-security

Kiểm tra:
Cisco_sw#show run int et0/0
Building configuration...
Current configuration : 92 bytes
!
interface Ethernet0/0
 switchport mode access
 switchport port-security
 duplex auto
end
Port security đã được cấu hình trên cổng Et0/0

Cisco_sw#show port-security interface Et0/0
Port Security                            : Enabled
Port Status                               : Secure-up
Violation Mode                         : Shutdown
Aging Time                               : 0 mins
Aging Type                               : Absolute
SecureStatic Address Aging    : Disabled
Maximum MAC Addresses      : 1
Total MAC Addresses              : 1
Configured MAC Addresses    : 0
Sticky MAC Addresses            : 0
Last Source Address:Vlan       : aabb.cc00.2000:1
Security Violation Count          : 0

Với lệnh show port-security interface Et0/0 chúng ta tạm hiểu là Port security đã được bật; trạng thái hiện tại là up; số lượng MAC cho chép học là 1, nếu số lượng MAC lớn hơn (sẽ vi phạm -Violation) thì cổng sẽ bị Shutdown (mặc định tổng số lượng MAC cho phép là 1 và khi bị vi phạm các điều kiện sẽ bị shutdown).

Với cấu hình trên nếu địa chỉ MAC nào đến trước sẽ được cho phép, nếu có MAC thứ 2 đi qua port sẽ shutdown.

3. Chỉ cho phép duy nhất địa chỉ MAC 0050.7966.6803 của PC1 kết nối vào cổng Et0/0 của cisco switch.

Nhận xét trước khi cấu hình: Ta thấy Cisco_switch được nối với Normal_switch thông qua cổng Et0/0, với yêu cầu là chỉ cho phép duy nhất MAC 0050.7966.6803 đi qua nhưng thực tế trên công Et0/0 của Cisco_switch phải cho phép địa chỉ MAC của Normal switch và MAC của PC1. Vậy số lượng MAC tối đa (Maximum MAC Addresses) trong trường hợp này là 2.

Để kiểm tra địa chỉ MAC của cổng Et0/0 trên Normal_Switch chúng ta dùng lệnh: show interface Et0/0

Normal_Switch:
Normal_sw#show interface Et0/0
Ethernet0/0 is up, line protocol is up (connected)
  Hardware is AmdP2, address is aabb.cc00.2000 (bia aabb.cc00.2000)
  {..}

Cấu hình:
Cisco Switch:
interface Ethernet0/0
shutdown
switchport port-security maximum 2
switchport port-security mac-address 0050.7966.6803
switchport port-security mac-address aabb.cc00.2000
no shutdown
end

Nên shutdown port cần cấu hình trước khi cấu hình.

Với các cấu hình cho phép chỉ định một địa chỉ MAC cụ thể như vậy chúng ta gọi là cấu hình tĩnh, ngoài ra chúng ta có cách cấu hình để switch tự học và lưu lại các địa chỉ MAC đầu tiên rồi đưa vào running-config (tham khảo ở mục 5 trong bài lab này)
Kiểm tra:


Cisco_sw#show port-security interface et0/0
Port Security                 : Enabled
Port Status                    : Secure-up
Violation Mode              : Shutdown
Aging Time                    : 0 mins
Aging Type                    : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 2
Total MAC Addresses              : 2
Configured MAC Addresses    : 2
Sticky MAC Addresses            : 0
Last Source Address:Vlan       : 0050.7966.6803:1
Security Violation Count          : 0

Maximum MAC Addresses bây giờ là 2 đã đúng yêu cầu đặt ra.

PC1> ping 192.168.1.254
84 bytes from 192.168.1.254 icmp_seq=1 ttl=255 time=0.639 ms
84 bytes from 192.168.1.254 icmp_seq=2 ttl=255 time=0.974 ms
84 bytes from 192.168.1.254 icmp_seq=3 ttl=255 time=0.995 ms
84 bytes from 192.168.1.254 icmp_seq=4 ttl=255 time=1.039 ms
84 bytes from 192.168.1.254 icmp_seq=5 ttl=255 time=0.779 ms
PC1 ping đến 192.168.1.254 là thành công

Cisco_sw#show port-security interface Et0/0 address 
               Secure Mac Address Table
-----------------------------------------------------------------------------
Vlan    Mac Address       Type                          Ports   Remaining Age
                                                                   (mins) 
----    -----------       ----                          -----   -------------
   1    0050.7966.6803    SecureConfigured              Et0/0        -
   1    aabb.cc00.2000    SecureConfigured              Et0/0        -
-----------------------------------------------------------------------------
Total Addresses: 2

Cách học địa chỉ MAC trên cổng Et0/0 là do cấu hình tĩnh

Thử dùng PC2 để ping đến 192.168.1.254
PC2> ping 192.168.1.254
host (192.168.1.254) not reachable
PC2> 
Kết quả không thành công.

Quan sát trên Cisco_switch chúng ta thấy lỗi như bên dưới
Cisco_sw#
*May 12 07:21:58.886: %PM-4-ERR_DISABLE: psecure-violation error detected on Et0/0, putting Et0/0 in err-disable state
*May 12 07:21:58.886: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address  050.7966.6804 on port Ethernet0/0.
*May 12 07:21:59.887: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to down
*May 12 07:22:00.888: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to down

Thông trên chúng ta hiểu là: Vi phạm điều kiện port security nên Interface Ethernet0/0 được đưa vào trạng thái là err-disable  đã có địa chỉ 050.7966.6804 đi vào cổng Et0/0 và trạng thái hiện tại là down

Noted: các hành xử khi phạm port security:

  • Shutdown: Khi vi phạm port bị shutdown và đưa vào trạng thái err-disabled
  • Retrict: Khi bị vi phạm port vẫn up, tuy nhiên tất cả các frame từ địa chỉ MAC vi phạm điều kiện sẽ bị drop và gửi ra SNMP trap, syslog.
  • Protect: Khi bị vi phạm port vẫn up, nhưng không gửi ra SNMP hay syslog.


Cisco_sw#show interfaces status 
Port      Name               Status       Vlan       Duplex  Speed Type
Et0/0                        err-disabled 1            auto   auto unknown
Et0/1                        connected    1            auto   auto unknown
Et0/2                        connected    1            auto   auto unknown
Et0/3                        connected    1            auto   auto unknown
với lệnh show interfaces status chúng ta thấy được trạng thái của các port trong đó có Et0/0

Cisco_sw#show interfaces status err-disabled
Port      Name               Status         Reason               Err-disabled Vlans
Et0/0                        err-disabled     psecure-violation
Hoặc chỉ các port nào có trạng thái là err-disable mới hiện thị ra thì dùng lệnh show interfaces status err-disabled

Trên PC1 kiểm tra ping đến 192.168.1.254
PC1> ping 192.168.1.254
192.168.1.254 icmp_seq=1 timeout
192.168.1.254 icmp_seq=2 timeout
192.168.1.254 icmp_seq=3 timeout
192.168.1.254 icmp_seq=4 timeout
192.168.1.254 icmp_seq=5 timeout
PC1 cũng không ping đến được vì port Et0/0 của cisco switch đang bị down


Hướng khắc phục.
Cisco_sw:
interface Et0/0
shutdown
no shutdown
P/s: phải đủ 2 dòng lệnh shutdown trước và no shutdown sau nhé.

Cisco_sw#show ip interface brief 
Interface              IP-Address      OK? Method Status                Protocol
Ethernet0/0            unassigned      YES unset  up                    up   
Ethernet0/1            unassigned      YES unset  up                    up   
Ethernet0/2            unassigned      YES unset  up                    up   
Ethernet0/3            unassigned      YES unset  up                    up   
Vlan1                  192.168.1.254   YES manual up                    up  
Bây giờ trạng thái của Et0/0 đã up trở lại

4. Nếu không vi phạm (số PC < = 2) port sẽ tự động phục hồi khỏi trạng thái lỗi sau 30 giây.

Cisco Switch (ở mode config):
errdisable recovery cause all
errdisable recovery interval 30

Cấu hình trên ý là tất cả các trạng thái lỗi nếu là errdisable thì sẽ tự động phục hồi trạng thái lỗi nếu không có vi phạm nào trong 30 giây.

Kiểm tra cấu hình
Cisco_sw#show  run | include errdisable
errdisable recovery cause udld
errdisable recovery cause bpduguard
errdisable recovery cause security-violation
errdisable recovery cause channel-misconfig (STP)
errdisable recovery cause pagp-flap
errdisable recovery cause dtp-flap
errdisable recovery cause link-flap
errdisable recovery cause sfp-config-mismatch
errdisable recovery cause gbic-invalid
errdisable recovery cause l2ptguard
errdisable recovery cause psecure-violation
errdisable recovery cause port-mode-failure
errdisable recovery cause dhcp-rate-limit
errdisable recovery cause pppoe-ia-rate-limit
errdisable recovery cause mac-limit
errdisable recovery cause unicast-flood
errdisable recovery cause vmps
errdisable recovery cause storm-control
errdisable recovery cause inline-power
errdisable recovery cause arp-inspection
errdisable recovery cause link-monitor-failure
errdisable recovery cause oam-remote-failure
errdisable recovery cause loopback
errdisable recovery cause psp
errdisable recovery interval 30

Tạo lỗi bằng cách trên PC2 ping đến 192.168.1.254
PC2> ping 192.168.1.254
host (192.168.1.254) not reachable

Quan sát thông báo trên Cisco_Switch:
Cisco_sw#
*May 12 08:26:15.594: %PM-4-ERR_DISABLE: psecure-violation error detected on Et0/0, putting Et0/0 in err-disable state
*May 12 08:26:15.594: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 0050.7966.6804 on port Ethernet0/0.
*May 12 08:26:16.594: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to down
*May 12 08:26:17.595: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to down
*May 12 08:26:45.590: %PM-4-ERR_RECOVER: Attempting to recover from psecure-violation err-disable state on Et0/0
*May 12 08:26:47.594: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
*May 12 08:26:48.599: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up

Port bị đưa vào trạng thái down lúc 08:26:17 và sau 30 giây (08:26:47) đã tự đội phục hồi.

5. Đảm bảo cisco switch chỉ cho phép 2 PC đầu tiên kết nối vào cổng Et0/0 của cisco switch.

Cấu hình:
Cisco_sw:
no switchport port-security mac-address 0050.7966.6803
no switchport port-security mac-address aabb.cc00.2000
switchport port-security mac-address sticky

Kiểm tra:
PC2> ping 192.168.1.254
84 bytes from 192.168.1.254 icmp_seq=1 ttl=255 time=0.708 ms
84 bytes from 192.168.1.254 icmp_seq=2 ttl=255 time=1.053 ms
84 bytes from 192.168.1.254 icmp_seq=3 ttl=255 time=0.852 ms
84 bytes from 192.168.1.254 icmp_seq=4 ttl=255 time=1.066 ms
84 bytes from 192.168.1.254 icmp_seq=5 ttl=255 time=1.004 ms

Kết quả PC2 ping thành công.

Cisco_sw#show port-security interface ethernet 0/0 address 
               Secure Mac Address Table
-----------------------------------------------------------------------------
Vlan    Mac Address       Type                          Ports   Remaining Age
                                                                   (mins) 
----    -----------       ----                          -----   -------------
   1    0050.7966.6804    SecureSticky                  Et0/0        -
   1    aabb.cc00.2000    SecureSticky                  Et0/0        -
-----------------------------------------------------------------------------
Total Addresses: 2

Có 2 địa chỉ MAC đã được học thông qua Sticky.

Hy vọng sẽ giúp được cho bạn nào đó cần và áp dụng vào công việc của mình một cách hiệu quả.

Xong!
P/s: Port security thường được cấu hình trên các switch đấu vào các thiết bị đầu cuối nhé các bạn.

Setup NTP Server In Windows Server

Nhiều khi chúng ta thấy rằng giờ của máy tính không đúng (chậm hơn) với giờ hiện tại, giờ trên điện thoại hay không thống nhất của các thiết bị trong cùng hệ thống. Hôm nay chúng tôi hướng dẫn các bạn cách thay đổi NTP server hiện tại trên hệ điều hành Windows.

Yêu cầu:
1. Cài đặt trên Primary Domain Controller
2. Cách đồng bộ giờ từ máy con thủ công
3. Đồng bộ thông qua GPO trong môi trường domain controller

Thực hiện:
1. Cài đặt trên Primary Domain Controller

Kiểm tra máy tính nào là Primary Domain Controller - PDC bằng cách thực hiện lệnh dsquery server -hasfsmo pdc trên command prompt

C:\Users\Administrator>dsquery server -hasfsmo pdc
"CN=Server-PDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,
DC=Khanhvc,DC=com"

Trên PDC (trong lab này PDC có tên Server-PDC) mở PowerShell với quyền Administrator và thực hiện lệnh

w32tm /config /manualpeerlist:time.google.com /syncfromflags:MANUAL /reliable:yes /update
Stop-Service w32time
Start-Service w32time

Hoặc
w32tm /config /manualpeerlist:time.google.com /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time


Ở đây chúng thôi cài đặt server NTP cần lấy giờ là time.google.com, các bạn có thể thay thế bằng server khác như: pool.ntp.org, ...

Kiểm tra sau khi thực hiện thay đổi, mở regedit.exe theo đường dẫn bên dưới.


Ta thấy NTP server trong regedit đã thay đổi

Noted: Phải đảm bảo rằng PDC và internet đã được mở port 123 protocol UDP trên firewall.



Thực hiện trên PowerShell
netsh advfirewall firewall add rule name="Allow Port 123 UDP" dir=in action=allow protocol=UDP localport=123

Troubleshooting:
w32tm /query /status
w32tm /query /peers
w32tm /query /source

Stop-Service w32time
w32tm /unregister
w32tm /register
Start-Service w32time


2. Cách đồng bộ giờ từ máy con thủ công

Mở command prompt với run as administrator từ thực hiện lệnh: net time \\192.168.99.10 /set /y
C:\Users\administrator>net time \\192.168.99.10 /set /y
Current time at \\192.168.99.10 is 5/5/2020 10:42:59 AM
The command completed successfully.

Dòng lệnh trên có nghĩa là lấy giờ của server 192.168.99.10 cài đặt trên máy hiện tại, và nhấn Y để xác nhận việc đồng bộ giờ

3. Đồng bộ thông qua GPO trong môi trường domain controller:


Hy vọng giúp được các bạn giải quyết vấn đề không thống nhất giờ trong hệ thống Windows.

Xong!

Setup NTP Server In Windows Server

Nhiều khi chúng ta thấy rằng giờ của máy tính không đúng (chậm hơn) với giờ hiện tại, giờ trên điện thoại hay không thống nhất của các thiết bị trong cùng hệ thống. Hôm nay chúng tôi hướng dẫn các bạn cách thay đổi NTP server hiện tại trên hệ điều hành Windows.

Yêu cầu:
1. Cài đặt trên Primary Domain Controller
2. Cách đồng bộ giờ từ máy con thủ công
3. Đồng bộ thông qua GPO trong môi trường domain controller

Thực hiện:
1. Cài đặt trên Primary Domain Controller

Kiểm tra máy tính nào là Primary Domain Controller - PDC bằng cách thực hiện lệnh dsquery server -hasfsmo pdc trên command prompt

C:\Users\Administrator>dsquery server -hasfsmo pdc
"CN=Server-PDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,
DC=Khanhvc,DC=com"

Trên PDC (trong lab này PDC có tên Server-PDC) mở PowerShell với quyền Administrator và thực hiện lệnh

w32tm /config /manualpeerlist:time.google.com /syncfromflags:MANUAL /reliable:yes /update
Stop-Service w32time
Start-Service w32time

Hoặc
w32tm /config /manualpeerlist:time.google.com /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time


Ở đây chúng thôi cài đặt server NTP cần lấy giờ là time.google.com, các bạn có thể thay thế bằng server khác như: pool.ntp.org, ...

Kiểm tra sau khi thực hiện thay đổi, mở regedit.exe theo đường dẫn bên dưới.


Ta thấy NTP server trong regedit đã thay đổi

Noted: Phải đảm bảo rằng PDC và internet đã được mở port 123 protocol UDP trên firewall.



Thực hiện trên PowerShell
netsh advfirewall firewall add rule name="Allow Port 123 UDP" dir=in action=allow protocol=UDP localport=123

Troubleshooting:
w32tm /query /status
w32tm /query /peers
w32tm /query /source

Stop-Service w32time
w32tm /unregister
w32tm /register
Start-Service w32time


2. Cách đồng bộ giờ từ máy con thủ công

Mở command prompt với run as administrator từ thực hiện lệnh: net time \\192.168.99.10 /set /y
C:\Users\administrator>net time \\192.168.99.10 /set /y
Current time at \\192.168.99.10 is 5/5/2020 10:42:59 AM
The command completed successfully.

Dòng lệnh trên có nghĩa là lấy giờ của server 192.168.99.10 cài đặt trên máy hiện tại, và nhấn Y để xác nhận việc đồng bộ giờ

3. Đồng bộ thông qua GPO trong môi trường domain controller:


Hy vọng giúp được các bạn giải quyết vấn đề không thống nhất giờ trong hệ thống Windows.

Xong!

Proxy ARP, Static ARP

Proxy ARP là tính năng cho phép router trả lời dùm ARP request của lớp mạng mà nó biết. Để hiểu rỏ hơn ta xét ví dụ ở sơ đồ mạng bên dưới 



+ PC1 có subnet mask /24;
+ PC2 có subnet mask /8. 
  • Khi PC1 muốn kết nối đến server 10.2.2.100 thì quá trình kết nối sẽ xảy ra các bước là:
  1. PC1 sẽ so sánh IP và subnet mask của nó với địa chỉ IP của server (ví dụ này là 10.2.2.100) và nó thấy rằng server là khác lớp mạng với nó
  2. PC1 muốn đến được server (lớp mạng khác) thì bắt buộc phải thông qua default gateway (10.1.1.254)
  3. PC1 kiểm tra trong ARP thử có dữ liệu nào cho 10.1.1.254 không nếu không có sẽ gửi ARP request
  4. R254 sẽ trả lời ARP request và gửi MAC của nó là của interface Et0/0

  • Khi PC2 muốn kết nối đến Server thì:
  1. PC2 sẽ so sánh IP và subnet mask của nó với IP của server và nó thấy rằng server và nó cùng subnet
  2. PC2 kiểm tra trong ARP thử có dữ liệu nào cho 10.2.2.254 không nếu không có sẽ gửi ARP request
  • Khi proxy ARP được bật trên router thì:
  1. R254 thấy ARP request từ PC2 với subnet 10.1.1.0/24 đến subnet 10.2.2.0/24
  2. R254 thấy rằng đó là lớp mạng mà mình biết (vì connected) và sẽ trả lời gói ARP request dùm cho PC2
  3. R254 gửi ARP reply đến PC2 với MAC address của interface Et0/0
Thực hiện LAB với sơ đồ trên:

PC1
ip 10.1.1.1/24 10.1.1.254

PC2
ip 10.1.1.2/8 10.1.1.254

Server
ip 10.2.2.100/24 10.2.2.254

R254
interface Ethernet0/0
ip address 10.1.1.254 255.255.255.0
no shutdown
exit
interface Ethernet0/1
ip address 10.2.2.254 255.255.255.0
no shutdown
end

Để đảm bảo chắc chắn Proxy ARP đã bậc trên interface Et0/0 chưa, chúng ta dùng lệnh (mặt định được bậc trên router của cisco)

R254#show ip interface ethernet 0/0 | include Proxy
Proxy ARP is enabled
R254#

Kiểm tra hoạt động của Proxy ARP
R254#debug arp
ARP packet debugging is on

Với PC1
Để test từ PC1 ping đến server
PC1> ping 10.2.2.100
84 bytes from 10.2.2.100 icmp_seq=1 ttl=63 time=3.509 ms
84 bytes from 10.2.2.100 icmp_seq=2 ttl=63 time=0.720 ms
84 bytes from 10.2.2.100 icmp_seq=3 ttl=63 time=0.904 ms
84 bytes from 10.2.2.100 icmp_seq=4 ttl=63 time=0.870 ms
84 bytes from 10.2.2.100 icmp_seq=5 ttl=63 time=0.999 ms

R254#
*Apr 21 03:48:35.269: IP ARP: rcvd req src 10.1.1.1 0050.7966.6803, dst 10.1.1.254 Ethernet0/0
*Apr 21 03:48:35.270: IP ARP: creating entry for IP address: 10.1.1.1, hw: 0050.7966.6803
*Apr 21 03:48:35.270: IP ARP: sent rep src 10.1.1.254 aabb.cc00.1000,
                                                                dst 10.1.1.1 0050.7966.6803 Ethernet0/0

R254 nhận ARP request từ PC1 là thiết bị đang hỏi default gateway và R254 trả lời là địa chỉ MAC của interface Et0/0 của mình cho PC1

R254#
*Apr 21 03:48:35.272: IP ARP: creating incomplete entry for IP address: 10.2.2.100 interface Ethernet0/1
*Apr 21 03:48:35.272: IP ARP: sent req src 10.2.2.254 aabb.cc00.1010,
                                                                dst 10.2.2.100 0000.0000.0000 Ethernet0/1
*Apr 21 03:48:35.272: IP ARP: rcvd rep src 10.2.2.100 0050.7966.6805, dst 10.2.2.254 Ethernet0/1

Để biết được MAC của server nên nó khởi tạo request đến server 10.2.2.100 rồi chuyển packet đến server và từ đó R254 cũng nhận được gói tin trả lời từ server thông qua Et0/1. Từ đó nó sẽ trả lời cho PC1 để đến được server 10.2.2.100 thì hỏi IP 10.1.1.254 với MAC là aa:bb:cc:00:10:00 (chính là thông tin của cổng Et0/0 của R254)

PC1> show arp     
aa:bb:cc:00:10:00  10.1.1.254 expires in 113 seconds
PC1> 

Nên, khi kiểm tra bảng ARP trên PC1 thì nó lưu MAC address và IP của default gateway.

Với PC2
R254>
*Apr 21 04:03:46.962: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 04:03:46.962: IP ARP: creating entry for IP address: 10.1.1.2, hw: 0050.7966.6804
*Apr 21 04:03:46.962: IP ARP: sent rep src 10.2.2.100 aabb.cc00.1000,
                                                                dst 10.1.1.2 0050.7966.6804 Ethernet0/0
*Apr 21 04:03:46.964: IP ARP: rcvd req src 10.2.2.100 0050.7966.6805, dst 10.2.2.254 Ethernet0/1
*Apr 21 04:03:46.964: IP ARP: sent rep src 10.2.2.254 aabb.cc00.1010,
                 dst 10.2.2.100 0050.7966.6805 Ethernet0/1
R254>

R254 nhận được request từ PC2 đến server 10.2.2.100, và nó trả lời cho PC2 rằng để đến được server 10.2.2.100 thì hãy sử dụng MAC aa:bb:cc:00:10:00 là địa chỉ MAC của chính interface Et0/0 của nó.

PC2> show arp     
aa:bb:cc:00:10:00  10.2.2.100 expires in 113 seconds
PC2> 

Thử tắt Proxy ARP trên cổng Et0/0 của R254

R254:
interface Ethernet0/0
no ip proxy-arp

PC1> ping 10.2.2.100
84 bytes from 10.2.2.100 icmp_seq=1 ttl=63 time=1.966 ms
84 bytes from 10.2.2.100 icmp_seq=2 ttl=63 time=0.646 ms
84 bytes from 10.2.2.100 icmp_seq=3 ttl=63 time=1.056 ms
84 bytes from 10.2.2.100 icmp_seq=4 ttl=63 time=1.065 ms
84 bytes from 10.2.2.100 icmp_seq=5 ttl=63 time=0.899 ms
PC1 vẫn ping được bình thường nhờ default gateway và bảng routing trên R254

PC2> ping 10.2.2.100
host (10.2.2.100) not reachable
PC2> 
PC2 không ping đến được server vì: R254 có subnet là 10.1.1.0/24 và nhận được request từ PC2 không nằm trong subnet 10.1.1.0/24 nên nó không forward gói tin broadcast (Router drop bỏ gói tin broadcast) chính vì thế ARP không tạo request đến Server. Trường hợp phải nhờ đến Proxy ARP để giải quyết.

R254#
*Apr 21 06:24:27.233: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 06:24:28.234: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 06:24:29.234: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
R254#

Khi Proxy ARP đã được TẮT trên interface Et0/0 của R254 thì R254 sẽ không thay mặt cho Server trả lời gói request này. Đó chính là lý do PC2 không ping được Server.

Noted:
- Server có thể ping đến được PC2 bình thường.
- Có 1 số trường hợp vì lý do gì đó mà không thể bật Proxy ARP trên cổng Et0/0 của R254 được mà bắt buộc PC2 phải ping đến được Server thì chúng ta phải thêm ARP tĩnh/Static ARP vào bảng ARP của PC2 với MAC là địa chỉ MAC của Et0/0 của R254 và IP là IP của Server

Lệnh thêm ARP cho PC2, nếu:
- Cisco route:
arp 10.2.2.100 aabb.cc00.1000 arpa 

PC2#show arp
Protocol  Address          Age (min)   Hardware Addr   Type    Interface
{...}
Internet  10.2.2.100              -          aabb.cc00.1000  ARPA

- Windows
arp -s 10.2.2.100 aa-bb-cc-00-10-00

ICMP-Ping, Tracert & Traceroute

Nội dung:
Tìm hiểu về hoạt động và cách sử dụng gói tin Ping, Tracert, Traceroute

Thực hiện:

1. Ping
Ping sử dụng hai loại gói tin của giao thức lớp 3 là ICMP - Internet Control Message Protocol đó là ICMP Echo Request và ICMP Echo Reply.

Nguyên tắc: Để xem IP trên 1 host có đi đến được hay không:

  • Thiết bị sẽ gửi gói tin ICMP Echo Request đến host cần kiểm tra
  • Host được kiểm tra khi nhận được gói ICMP Echo Requestphản hồi gói ICMP Echo Reply trong một khoảng thời gian qui định nào đó (gọi là timeout)
  • Nếu gói Echo Reply được trả về trong khoảng thời gian timeout => đi đến được
  • Nếu không nhận được gói Echo Reply trong khoảng thời gian timeout => KHÔNG thể đi đến được
Chúng ta cùng nhau xét sơ đồ dưới


Trên PC_1: khởi động chương trình command prompt

thực hiện lệnh ping đến 192.168.0.2

C:\Users\Administrator>ping 192.168.0.2
Pinging 192.168.0.2 with 32 bytes of data:
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Ping statistics for 192.168.0.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

Kết quả trên ta thấy PC_1 đã thực hiện gửi đi 4 gói Echo Request đến R1-IP 192.168.0.2 và nhận được 4 gói phản hồi Echo Reply. Vậy PC_1 có thể đi đến được R1


Kết quả phân tích trên phần mềm Wireshark

Trên R1: Sử dụng lệnh ping đến PC_1 ở Privilege Mode

R1#ping 192.168.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R1#

Kết quả ping thấy R1 có thể đến được PC_1-IP 192.168.0.1. R1 gửi đi 5 gói Echo Request và nhận được đủ 5 gói phản hồi Echo Reply (với Cisco - IOS thể 5 dấu chấm than "!")

2. Tracert
Là tiện ích trên hệ điều hành Windows giúp PC đi đến host nào đó nó phải đi qua các router nào. Địa chỉ IP của các Router trên đường đi điều được thể hiện trong kết quả tracert.

Nguyên tắc:
Tracert sẽ khởi tạo TTL = 1 (TTL-Time to live trong IP header của gói tin) cho gói tin ICMP request đầu tiên để gửi đến đích cần trace, tăng giá trị TTL lên 1 đơn vị cho mỗi gói ICMP Request và chờ gói ICMP Time Exeeded trả về. Cứ mỗi khi một gói ICMP Time Exeeded được trả về thì địa chỉ của Router trả lời gói tin này sẽ được ghi lại vào bản ghi của các router trên lộ trình đi đến đích.

Khi trung chuyển ngang qua một router nào đó trường TTL sẽ giảm đi 1 đơn vị. Khi trường TTL = 0 gói IP sẽ bị loại bỏ và một gói ICMP Time Exeeded sẽ được router gửi trả về cho source của gói tin IP mà nó bị loại bỏ.

Gói TTL được tăng lên đủ lớn, gói Echo Request đi đến đích, gói Echo Reply được trả về => tiến trình trace hoàn tất.

Khảo sát sơ đồ:

Trên PC_1 thực hiện tracert đến PC_2-IP 192.168.24.4

C:\Users\Administrator>tracert  192.168.24.4
Tracing route to 192.168.24.4 over a maximum of 30 hops
  1    1 ms    <1 ms    <1 ms  192.168.0.2
  2    1 ms    1 ms    1 ms  192.168.12.22
  3    1 ms    1 ms    1 ms  192.168.24.4
Trace complete.

Kết quả tracert đến host 192.168.24.4 cho thấy lộ trình các thiết bị lớp 3 đã được ghi vào lại với các IP 192.168.0.2 và 192.168.12.22.

Quá trình thực hiện tracert từ PC_1 đến PC_2

Phân tích gói tin trên công Et0/0 của R1 bằng phần mềm wireshark:

PC_1 khởi tạo gói ping với TTL = 1, R1 sẽ trả lời ICMP Time Exeeded cho PC_1

PC_1 khởi tạo gói ping với TTL = 2, R2 sẽ trả lời ICMP Time Exeeded cho PC_1


PC_1 khởi tạo gói ping với TTL = 3, PC_2 thấy rằng đích đến chính là IP của mình nên PC_2 trả lời ICMP Echo Reply cho PC_1. Kết thúc tiến trình.

Phân tích thêm kết quả khi ping đến 192.168.24.4 và giải thích TTL

C:\Users\Administrator>ping 192.168.24.4
Pinging 192.168.24.4 with 32 bytes of data:
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Ping statistics for 192.168.24.4:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

Với PC_2 khi nhận được gói tin ICMP Echo Request mà đích là chính nó, nó sẽ trả lời ICMP Echo Reply với TTL = 255 (mỗi loại thiết của mỗi hãng khác nhau sẽ có giá trị TTL khởi tạo là khác nhau, trong lab này chúng tôi dùng router của cisco nên TTL = 255). Khi gói ICMP Echo (ping) này khi đi qua router sẽ giảm xuống 1 đơn vị và cứ như thế cho đến đích cần nhận để kết thúc tiến trình ping hoặc khi TTL giảm = 0 thì gói tin sẽ bị drop bỏ.

Đó là lý do kết quả ping từ PC_1 đến PC_2 có giá trị TTL = 253.


3. Traceroute
Traeroute được sử dụng trên Cisco IOS có chức năng tương tư như tracert của windows cũng cho phép ghi nhận lại lộ trình đi đến một đích nào đó của thiết bị lớp 3.

Điểm khác nhau:
Tracert: 

  • Dùng ICMP Echo Request và ICMP Echo Reply. 
  • Đích đến cuối cùng sẽ trả lời gói tin ICMP Echo Reply

Traceroute:

  • UDP datagram để gởi đến port được giả định là không tồn tại
  • Đích đến cuối cùng sẽ trả lời gói tin ICMP Destination Port Unreachable


Kết quả phân tích trên wireshark

Thực hiện traceroute từ PC_2 đến PC_1

PC_2#traceroute 192.168.0.1
Type escape sequence to abort.
Tracing the route to 192.168.0.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.24.3 1 msec 0 msec 5 msec
  2 192.168.12.11 1 msec 2 msec 0 msec
  3 192.168.0.1 2 msec 2 msec 2 msec
PC_2#

Cũng tương tự tracert của windows, traceroute cũng ghi lại lộ trình đường đi mà các router nó đã đi qua để đến được đích 192.168.0.1: 192.168.24.3, 192.168.12.11.

Xong!

/*header slide*/