วันอังคารที่ 20 ธันวาคม พ.ศ. 2554

Network : เพิ่ม Perpersistent Static Route บน Windows

บนระบบ Windows ในบางกรณีที่ต้องมีหลาย Network interfaces หรือหลาย Gateway และต้องการเพิ่ม Static route เพื่อจัดการ Route ให้เป็นไปตามต้องการ สามารถทำได้ดังนี้

ระบบที่ทดสอบ Microsoft Windows 7 Professional
กำหนดให้ Destination route คือ 172.17.15.0/24
กำหนดให้ Gateway คือ 172.17.12.1

- เพิ่ม route ชั่วคราว โดย route นี้จะหายไปเมื่อระบบ reboot
C:\>route add 172.17.15.0 mask 255.255.255.0 172.17.12.1
OK!

- เพิ่ม Perpersistent Static Route โดย route นี้จะไม่หายไปเมื่อระบบ reboot
C:\>route add -p 172.17.15.0 mask 255.255.255.0 172.17.12.1
OK!

- ลบ route
C:\>route delete 172.17.15.0 mask 255.255.255.0 172.17.12.1
OK!

- ตรวจสอบ Routing table
C:\> route print

หรือ

C:\> netstat -rn


วันพฤหัสบดีที่ 18 สิงหาคม พ.ศ. 2554

SSH : การยกเลิกการตรวจสอบ DNS ของ Client IP

ในการใช้งาน SSH นั้น ปกติ เมื่อ Client ทำการ SSH เข้าไป SSH Server จะทำการตรวจสอบว่า Client IP นั้น ตรงกับชื่ออะไร โดยจะทำการตรวจสอบกับ DNS ซึ่งในบางครั้ง การตรวจสอบนั้นนานมาก จนกระทั่ง SSH Session Timeout ก็เคยเจอมาแล้ว ดังนั้น วันนี้มาปิดการทำงาน Function ที่ว่า ดีกว่า

- ทำการแก้ไขไฟล์ /etc/ssh/sshd_config (หรืออยู่ที่ path อื่นตามระบบนั้นๆนะครับ)
- แก้ไขแถวต่อไปนี้

เดิม
UseDNS yes

แก้เป็น
UseDNS no

บันทึกไฟล์ จากนั้นทำการ restart servive ของ SSH เป็นอันเสร็จพิธี


วันพฤหัสบดีที่ 14 กรกฎาคม พ.ศ. 2554

Network, Security : การสร้าง TACACS+ Server สำหรับใช้กับ Cisco AAA

บทความนี้เป็นการปูพื้นไว้ก่อนที่จะลืมวิธีทำ
ซึ่งบทความนี้จะว่าด้วยเรื่องการทำ Authentication อย่างเดียวก่อน ส่วน Authorization และ Accounting เอาไว้คราวหน้า

ระบบที่ใช้
Cisco Device: Cisco PIX-525
Software Version 8.0(4)28

TACACS+ Server
OS: FreeBSD 8.2 amd64
TACACS+ Server:
tac_plus4

ข้อกำหนด
- TACACS+ Server ที่ทดสอบ ติดตั้งหลัง Zone "Inside" ของ Firewall
- ให้ Inside Interface ของ Firewall = 172.17.12.5
- ให้ TACACS+ Server = 172.17.12.54

เริ่มต้นจาการติดตั้ง TACACS+ Server ดังนี้

Server# cd /usr/ports/net/tac_plus4
Server# make install
Server# rehash

Server# vi /etc/rc.conf

tac_plus_enable="YES"

จากนั้นทำการ Configure

อันดับแรกสร้าง password ที่เข้ารหัสแล้วก่อน เพื่อเอาไปใช้ใน Config โดยใช้คำสั่ง tac_pwd ดังตัวอย่าง

Server# tac_pwd
Password to be encrypted: nosecure
FWpfWvyThlezE

Server# tac_pwd
Password to be encrypted: 3Com
pKvE0HIV2X.z6

จากตัวอย่างจะได้ Password ที่ผ่านการเข้ารหัสแล้ว ซึ่งให้ทำการ Copy ส่วนนี้ไว้

จากนั้นทำการสร้าง Configuration file ดังตัวอย่าง

Server# vi /usr/local/etc/tac_plus.conf

key = "authen_by_komkit"

user = komkit {
login = des "FWpfWvyThlezE"
}

user = cisco {
login = des "pKvE0HIV2X.z6"
}

จากนั้นทำการ save file แล้วทำการ restart service

Server# /usr/local/etc/rc.d/tac_plus restart
Stopping tac_plus.
Starting tac_plus.

ตรวจสอบว่า Service ทำงานแล้ว

Server# netstat -anL
Proto Listen Local Address
tcp4 0/0/128 *.49


ต่อไปทำการเพิ่ม Configuration บน Cisco PIX-525

- กำหนดค่า parameter เบื้องต้นเกี่ยวกับ TACACS+ Server

aaa-server aaa-172.17.12.54 protocol tacacs+
aaa-server aaa-172.17.12.54 (inside) host 172.17.12.54
timeout 30
key authen_by_komkit


- นำค่าที่กำหนดไว้มาใช้งานกับ SSH

aaa authentication ssh console aaa-172.17.12.54

จากนั้นทดสอบการ remote ไปยัง Cisco Firewall โดยผ่าน SSH

login as: cisco
cisco@172.17.12.5's password: 3Com <--- ขณะที่พิมพ์จะมองไม่เห็น
Type help or '?' for a list of available commands.
pixfirewall>

หากมีการพยายามเข้าถึง แต่ไม่มี Username นั้นๆ หรือใส่ Password ผิด จะเกิด Log ที่ TACACS+ Server ดังนี้

Jul 14 19:53:19 Server tac_plus[1054]: login failure: root 172.17.12.5 (172.17.12.5) 5
Jul 14 19:53:26 Server tac_plus[1055]: login failure: cisco 172.17.12.5 (172.17.12.5) 6

หลังจากทดสอบว่าสามารถใช้งานได้แล้ว ก็ทำการ save config ของ Cisco Firewall ให้เรียบร้อย

คำสั่งอื่นๆ ที่น่าสนใจ

pixfirewall# show aaa-server aaa-172.17.12.54
Server Group: aaa-172.17.12.54
Server Protocol: tacacs+
Server Address: 172.17.12.54
Server port: 49
Server status: ACTIVE, Last transaction at 13:16:40 UTC Thu Jul 14 2011
Number of pending requests 0
Average round trip time 0ms
Number of authentication requests 8
Number of authorization requests 0
Number of accounting requests 0
Number of retransmissions 0
Number of accepts 4
Number of rejects 4
Number of challenges 1
Number of malformed responses 0
Number of bad authenticators 0
Number of timeouts 0
Number of unrecognized responses 0



วันจันทร์ที่ 20 มิถุนายน พ.ศ. 2554

Linux: ตรจสอบ CPU, RAM และ Hardware อื่นๆ บน Linux ด้วย dmidecode

จากที่เครื่องเขียนเรื่องการตรวจสอบ Serial No. ของเครื่องด้วยคำสั่ง dmidecode ไว้ที่ http://khamsawat.blogspot.com/2010/08/serial-number-service-tag-server.html
วันนี้ลองมาต่อว่า dmidecode ให้ข้อมูลอะไรเพิ่มเติมอีก

ระบบที่ใช้
Ubuntu 9.10

คำสั่งที่ใช้
Linux# dmidecode

ตัดออกมาเฉพาะ Output ที่สนใจ

- System Information
Manufacturer: Dell Computer Corporation
Product Name: PowerEdge 860
Serial Number: 2XXXXXS

- Processor Information
Socket Designation: PROC
Type: Central Processor
Family: Pentium D
Manufacturer: Intel
Version: Intel(R) Pentium(R) D CPU 3.00GHz
Voltage: 1.5 V
External Clock: 800 MHz
Max Speed: 3800 MHz
Current Speed: 3000 MHz
Status: Populated, Enabled
Upgrade: Socket LGA775
L1 Cache Handle: 0x0700
L2 Cache Handle: 0x0701
L3 Cache Handle: 0x0702
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 2
Core Enabled: 2
Thread Count: 2
Characteristics:
64-bit capable

- Onboard devices
On Board Device 1 Information
Type: Video
Status: Enabled
Description: Embedded ATI ES1000 Video
On Board Device 2 Information
Type: Ethernet
Status: Enabled
Description: Broadcom 5721J Ethernet
On Board Device 3 Information
Type: Ethernet
Status: Enabled
Description: Broadcom 5721J Ethernet

- RAM type
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 4

Handle 0x1100, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: 1
Locator: DIMM1_A
Bank Locator: Not Specified
Type: DDR2
Type Detail: Synchronous
Speed: 533 MHz (1.9 ns)
Manufacturer: 7F7F7F0B00000000
Serial Number: A7530E19
Asset Tag: 0D0702
Part Number: NT1GT72U8PA0BY-37B

วันศุกร์ที่ 20 พฤษภาคม พ.ศ. 2554

Network, Linux : การทำ InterVLAN บน Ubuntu

บทความนี้จะเป็นการนำ Ubuntu Linux มาทำเป็น InterVLAN แทนที่จะใช้อุปกรณ์ Router หรือ Multilayer switch

ระบบทดสอบ
Switch ที่ใช้ในการแบ่ง VLAN
Cisco Catalyst 2900 XL
IOS Version 12.0(5)XU

Server Linux ที่ใช้มาทำ InterVLAN
Ubuntu 10.04.2 LTS amd64

กำหนดให้
- Interface FastEthernet0/24 ของ Switch เป็น Trunk และเชื่อมต่อเข้ากับ eth1 ของ Server
- สร้าง VLAN100 และ VLAN200 ที่ Switch
- กำหนด Interface FastEthernet0/1 ของ Switch ให้เป็นสมาชิก VLAN100

- กำหนด Interface FastEthernet0/2 ของ Switch ให้เป็นสมาชิก VLAN200
- กำหนด Subnet ของ VLAN100 คือ 192.168.100.0/24
- กำหนด Subnet ของ VLAN200 คือ 192.168.200.0/24


โดย Configuration บน Switch เป็นดังนี้
!
interface FastEthernet0/1
switchport access vlan 100
!
interface FastEthernet0/2
switchport access vlan 200
!
interface FastEthernet0/24
switchport trunk encapsulation dot1q
switchport mode trunk
!


ที่ Server ติดตั้ง Software เพิ่มดังนี้

root@Ubunutu# apt-get install vlan
root@Ubunutu# modprobe 8021q

แก้ไขไฟล์ /etc/network/interfaces โดยเพิ่ม

auto vlan100
iface vlan100 inet static
address 192.168.100.1
netmask 255.255.255.0
vlan_raw_device eth1

auto vlan200
iface vlan200 inet static
address 192.168.200.1
netmask 255.255.255.0
vlan_raw_device eth1

บันทึกไฟล์ จากนั้นทำการ restart network service
root@Ubuntu:~# /etc/init.d/networking restart
* Reconfiguring network
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 100 to IF -:eth1:-
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 200 to IF -:eth1:- [ OK ]



ตรวจสอบ Interface VLAN
root@Ubuntu:~# ifconfig
eth1 Link encap:Ethernet HWaddr 00:14:22:17:e7:b8
inet6 addr: fe80::214:22ff:fe17:e7b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13932 errors:0 dropped:0 overruns:0 frame:0
TX packets:13946 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2242272 (2.2 MB) TX bytes:10921868 (10.9 MB)

vlan100 Link encap:Ethernet HWaddr 00:14:22:17:e7:b8
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::214:22ff:fe17:e7b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:468 (468.0 B)

vlan200 Link encap:Ethernet HWaddr 00:14:22:17:e7:b8
inet addr:192.168.200.1 Bcast:192.168.200.255 Mask:255.255.255.0
inet6 addr: fe80::214:22ff:fe17:e7b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:713 errors:0 dropped:0 overruns:0 frame:0
TX packets:835 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:141274 (141.2 KB) TX bytes:685933 (685.9 KB)

Ref. http://www.mysidenotes.com/2007/08/17/vlan-configuration-on-ubuntu-debian/

วันศุกร์ที่ 8 เมษายน พ.ศ. 2554

FreeBSD, Linux: คำสั่ง date กับการประยุกต์ใช้งาน ภาคต่อ

จากที่เคยเขียนไว้ที่ http://khamsawat.blogspot.com/2010/08/linux-date.html
วันนี้จะมาต่อภาคสอง โดยจะเพิ่มการแปลงรูปแบบของวันที่ และการใช้งานคำสั่ง date บน FreeBSD ซึ่งมี Syntax ต่างจากบน Linux นิดหน่อย ทั้งนี้จะไม่เขียนถึงการ set วันที่ผ่านคำสั่ง date โดยแนะนำให้ทำการ set ค่าวันและเวลาผ่าน ntpdate จะดีกว่า

หมายเหตุ อาจมีบางส่วนที่ซ้ำกับบทความเดิมนิดหน่อย

ระบบที่ใช้
OS: FreeBSD 8.2 Release amd64
OS: Ubuntu 9.10 i386

- แสดงวันเวลาปัจจุบัน
FreeBSD# date
Fri Apr 8 16:12:51 ICT 2011

komkit@Linux:~$ date
Fri Apr 8 16:13:08 ICT 2011

- แสดงวันเวลาปัจจุบันในรูปแบบของ Epoch Time
FreeBSD# date +%s
1302254637

komkit@Linux:~$ date +%s
1302254649

- แสดงวันที่ปัจจุบันในรูปแบบ YYY-MM-DD
FreeBSD# date +%F
2011-04-08

komkit@Linux:~$ date +%F
2011-04-08

- แสดงวันที่ของเมื่อวานพร้อมเวลาที่ตรงกับเวลานี้
FreeBSD# date -v-1d
Thu Apr 7 16:26:16 ICT 2011

komkit@Linux:~$ date --date="yesterday"
Thu Apr 7 16:26:55 ICT 2011

- แสดงเฉพาะวันที่ของเมื่อวานในรูปแบบ YYYY-MM-DD
FreeBSD# date -v-1d +%F
2011-04-07

komkit@Linux:~$ date --date="yesterday" +%F
2011-04-07

- แสดงเฉพาะวันที่ของ 10 วันที่แล้วในรูปแบบของ YYYY-MM-DD
FreeBSD# date -v-10d +%F
2011-03-29

komkit@Linux:~$ date --date="10 day ago" +%F
2011-03-29

- แสดงเฉพาะวันที่ของพรุ่งนี้ ในรูปแบบของ YYYY-MM-DD
FreeBSD# date -v+1d +%F
2011-04-09

komkit@moccona:~$ date --date="tomorrow" +%F
2011-04-09

- แสดงเฉพาะวันที่ของอีก 12 วันข้างหน้า ในรูปแบบของ YYYY-MM-DD
FreeBSD# date -v+12d +%F
2011-04-20

komkit@Linux:~$ date --date="12 day" +%F
2011-04-20


- การแปลงรูปแบบวันที่จาก Epoch Time เป็นแบบที่อ่านง่าย (กำหนดเวลา epoch คือ 1302254637)
komkit@Linux:~$ date -d @1302254637
Fri Apr 8 16:23:57 ICT 2011

FreeBSD# perl -e "print scalar(localtime(1302254637))"
Fri Apr 8 16:23:57 2011


- การแปลงรูปแบบวันที่จากรูปแบบ YYYY-MM-DD HH:MM:SS ไปเป็น Epoch
komkit@Linux:~$ date +%s -d"2011-04-08 12:34:56"
1302240896

FreeBSD# date -j -f '%Y-%m-%d %H:%M:%S' '2011-04-08 12:34:56' +%s
1302240896





วันศุกร์ที่ 1 เมษายน พ.ศ. 2554

FreeBSD, Linux, Mac OS : ตรวจสอบรายการ Hardware

ถ้าเป็นเป็นบน MS Windows ก็ Device Manager ส่วนการตรวจสอบรายการ Hardware บน Linux, FreeBSD และ Mac OS เบื้องต้นนั้นทำได้ดังนี้

FreeBSD: (ระบบที่ใช้ FreeBSD 7.1)
- แสดงรุ่น CPU
$ sysctl hw.model
hw.model: Intel(R) Xeon(R) CPU E5410 @ 2.33GHz

- แสดงจำนวน CPU Core
$ sysctl hw.ncpu
hw.ncpu: 8

- แสดงขนาดความจุของ RAM
$ sysctl hw.physmem
hw.physmem: 8571633664 (มีหน่วยเป็น Bytes)

สังเกตุว่าจะขึ้นต้นด้วย hw. เหมือนกัน ดังนั้นสามารถใช้คำสั่งเดียวได้เลยคือ

$ sysctl hw. | more

- ดูรายการ Hardware อื่นๆ เช่น VGA Card, Ethernet Card, Raid Controller เป็นต้น

$ pciconf -lv | more

ตัวอย่าง Output บางส่วน

mfi0@pci0:1:0:0: class=0x010400 card=0x1f0c1028 chip=0x00601000 rev=0x04 hdr=0x00
vendor = 'LSI Logic (Was: Symbios Logic, NCR)'
device = 'SAS1078 PCI-X Fusion-MPT SAS'
class = mass storage
subclass = RAID
pcib13@pci0:2:0:0: class=0x060400 card=0x00000000 chip=0x01031166 rev=0xc3 hdr=0x01
vendor = 'ServerWorks (Was: Reliance Computer Corp)'
device = 'BCM5715 Broadcom dual gigabit, pci bridge'
class = bridge
subclass = PCI-PCI
bce1@pci0:3:0:0: class=0x020000 card=0x01b31028 chip=0x164c14e4 rev=0x12 hdr=0x00
vendor = 'Broadcom Corporation'
device = '5708C Broadcom NetXtreme II Gigabit Ethernet Adapter'
class = network
subclass = ethernet
vgapci0@pci0:14:13:0: class=0x030000 card=0x01b31028 chip=0x515e1002 rev=0x02 hdr=0x00
vendor = 'ATI Technologies Inc'
device = 'Radeon ES1000 Radeon ES1000'
class = display
subclass = VGA


Linux: (ระบบที่ใช้ Ubuntu 8.04)

- แสดงรุ่น CPU

komkit@Linux:~$ cat /proc/cpuinfo

ตัวอย่าง Output

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
stepping : 6
cpu MHz : 2327.499
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr dca sse4_1 lahf_lm
bogomips : 4654.99
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:


- แสดงขนาดความจุของ RAM


komkit@Linux:~$ free -m
total used free shared buffers cached
Mem: 7994 5253 2741 0 5 5151
-/+ buffers/cache: 96 7898
Swap: 7632 0 7632

หรือ

komkit@Linux:~$ cat /proc/meminfo

MemTotal: 8186400 kB

MemFree: 2806968 kB
...


- ดูรายการ Hardware อื่นๆ เช่น VGA Card, Ethernet Card, Raid Controller เป็นต้น

komkit@Linux:~$ lspci
01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)
07:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
0a:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)
0e:0d.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

- ดูรายการ Hardware ที่เชื่อมต่อกับ USB
komkit@Linux:~$ lsusb
Bus 005 Device 002: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub"
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

Mac OS:
$
system_profiler | more


วันอาทิตย์ที่ 27 มีนาคม พ.ศ. 2554

Squid Proxy Authentication with Active Directory

ระบบที่ใช้ทดสอบ

Proxy Server
OS : FreeBSD 8.2 amd64
Squid Proxy version 3.1
IP address : 192.168.12.200

AD Server
OS : Microsoft Windows 2003 Server R2
IP address : 192.168.12.201

Client
OS : Microsoft Windows 7 Professional 64 bit
Web browser : Firefox 4 , IE9
IP address : 192.168.12.51

ข้อกำหนดเบื้องต้น
Domain ของระบบทดสอบคือ ad.komkit.net

ติดตั้ง AD Server ให้เรียบร้อย (ผมติดตั้งแบบมั่วสุดๆ)

ติดตั้ง FreeBSD 8.2 ตามปกติ เมื่อเสร็จแล้วจึงทำการติดตั้ง Squid Proxy ดังนี้

proxy-test# cd /usr/ports/www/squid31
proxy-test# make install

โดย Options ที่เลือกเพิ่มเติมคือ

SQUID_LDAP_AUTH

จากนั้นก็ OK อย่างเดียว รอจนกระทั่งเสร็จ

เมื่อเสร็จแล้ว เพิ่ม Configuration ของ squid ดังนี้

### ส่วนของการติดต่อกับ AD Server

auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -R \
-b "dc=ad,dc=komkit,dc=net" \
-D "cn=Administrator,cn=Users,dc=ad,dc=komkit,dc=net" \
-w "Administrator-password" \
-f sAMAccountName=%s \
-h 192.168.12.201
auth_param basic children 5
auth_param basic realm KOMKIT.NET Corp.
auth_param basic credentialsttl 5 minutes

### กำหนด acl เพื่อให้มีการใช้งานการ Authen

acl adusers proxy_auth REQUIRED


### กำหนดการอนุญาตการใช้งานโดยให้ใช้การ Authen ผ่าน AD

http_access allow adusers

และทำ Configure ในส่วนอื่นๆ ตามความเหมาะ จากนั้น save configure แล้วสั่งให้ squid ทำงาน

proxy-test# /usr/local/etc/rc.d/squid start

ตรวจสอบ Log การใช้งาน

proxy-test# cat /var/log/squid/access.log
192.168.12.51 - komkit [28/Mar/2011:13:52:49 +0700] "GET http://khamsawat.blogspot.com/ HTTP/1.1" 200 18535 TCP_MISS:DIRECT

จาก log จะเห็นว่ามีการระบุ Username มาแล้ว ซึ่ง User ดังกล่าวผมกำหนดไว้ที่ AD Server

ข้อมูลอ้างอิงจาก
http://www.papercut.com/kb/Main/ConfiguringSquidProxyToAuthenticateWithActiveDirectory

วันศุกร์ที่ 4 กุมภาพันธ์ พ.ศ. 2554

Network, Fortigate Firewall : Enable multicast address forwarding on Fortigate Firewall

จากโจทย์วันนี้คือ ทำการเปิดการใช้งาน OSPF โดย Router ที่ run OSPF ทั้งสองตัวจะถูก Firewall ขวางอยู่ในรูปแบบ Transparent mode ดังนี้

Router1 <---> Transparent FW <---> Router2

ทั้งนี้ปัญหาที่พบคือ แม้จะเปิด Firewall policy เป็น any to any แล้วก็ตาม Routing OSPF ก็ยังไม่สามารถส่งผ่าน Firewall ไปได้ เนื่องจาก OSPF จะประกาศ Route ผ่าน Multicast address

การแก้ไข ต้องทำใน command mode ของ Fortigate ดังนี้ (หาวิธีใน GUI ไม่เจอ)

อุปกรณ์ที่ใช้
Firewall : Fortigate 3016B

FG3016-B # config system settings
FG3016-B (settings) # set multicast-skip-policy enable
FG3016-B (settings) # end
FG3016-B #

จากนั้นตรวจสอบ Routing table ใน Router ทั้งสองพบว่ามี OSPF package มาเป็นปกติ

วันศุกร์ที่ 21 มกราคม พ.ศ. 2554

Linux: ตัวอย่างการใช้งานคำสั่ง cut

ตัวอย่างข้อมูลที่ได้มา

192.168.11.12

- ต้องการแสดงผลเฉพาะ 3 ตัวอักษรแรก

cut -c 1-3 <<< "192.168.11.12"

หรือ

cut -c -3 <<< "192.168.11.12"

ผลลัพธ์
192

โดยการกำหนด -c คือการกำหนดการแสดงผลตัวอักษรลำดับที่ที่ต้อง ดังตามตัวอย่างคือ ตัวอักษรที่ 1 ถึงตัวอักษรที่ 3 และอีกตัวอย่างคือ ตั้งแต่ตัวอักษรแรกไปถึงตัวอักษรที่ 3


- ต้องการแสดงผลตั้งแต่ตัวอักษรตั้งแต่ตัวที่ 4 ไปถึงตัวสุดท้ายของแถว

cut -c 4- <<< "192.168.11.12"

ผลลัพธ์
.168.11.12


- ต้องการแสดงแบ่งข้อมูล IP ดังกล่าวให้อยู่ในรูปแบบของ A.B.C.D แล้วต้องการแสดงผลแค่ A.B.C

cut -d"." -f 1,2,3 <<< "192.168.11.12"

หรือ

cut -d"." -f 1-3 <<< "192.168.11.12"

ผลลัพธ์
192.168.11

โดยการกำหนด -d เพื่อเป็นการบอกว่าจะใช้อะไรเป็นจุดแบ่งส่วนของข้อมูล อย่างในตัวอย่างคือใช้จุด "." เป็นตัวแบ่งหมายเลข IP ออกเป็น 4 ชุด แล้วนำมาแสดงผลแค่ชุดที่ 1 - 3 เป็นต้น

ตัวอย่างอื่นๆ

ข้อมูลตั้งต้น

komkit@Server:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh

ต้องการแสดงผลชื่อ Username เท่านั้น โดยจะให้เครื่องหมาย : เป็นตัวแบ่งฟิวต่างๆออกจากกัน

komkit@Server:~$ cut -d":" -f 1 /etc/passwd
root
daemon
bin
sys
sync
games


ต้องการแสดงผลชื่อ Username และ Default shell ของแต่ละ username

komkit@Server:~$ cut -d":" -f 1,7 /etc/passwd
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh
sys:/bin/sh
sync:/bin/sync
games:/bin/sh

วันอาทิตย์ที่ 16 มกราคม พ.ศ. 2554

Linux, RHEL : ติดตั้ง RHEL 6 แบบ Text mode

ปกติ RHEL ใน Version ที่ผ่านมา จะให้พิมพ์ linux text ที่ Prompt
แต่ใน Version 6 นี้ ไม่มี prompt ให้ ดังนั้นการติดตั้งแบบ text mode จึงมีวิธีการเปลี่ยนไปนิดหน่อย ดังนี้

ทำการ boot จาก DVD ตามปกติ
ที่หน้าจอต้อนรับ จะมีเมนูการติดตั้งอยู่ 2 ตัว คือ

Install or upgrade an existing system
และ
Install system with basic videon driver
และ แต่ละอันจะสามารถกด TAB เพื่อเพิ่ม option การ boot ดังนั้น เพื่อให้ทำการติดตั้งแบบ text mode ก็ให้ทำการเพิ่มคำว่า text เข้าไปข้างหลังของ Option ของแต่ละเมนู ดังนี้

เลือก
Install or upgrade an existing system <-- กด TAB

vmlinuz initrd=initrd.img text <-- เพิ่ม text แล้ว enter

หรือ

เลือก
Install system with basic videon driver <-- กด TAB

vmlinuz initrd=initrd.img xdriver=vesa nomodeset text <-- เพิ่ม text แล้ว enter


ข้อแตกต่าง
เมนูแรกเป็นการติดตั้งแบบความละเอียดสูง แม้แต่ใน Text mode
ส่วนเมนูที่สองเป็นการติดตั้งแบบใช้ VGA driver แบบความละเอียดต่ำ (แนะนำ)

ข้อสังเกตุ
RHEL 6 แบบ Text mode นี้มันเลือก Package ในการติดตั้งยังไงหว่า หาไม่เจอ...