Showing posts with label networking. Show all posts
Showing posts with label networking. Show all posts

Thursday, February 9, 2012

Cấu hình Linux DNS Server (P1)

BIND là một phần mềm đang được sử dụng rộng rãi trong việc triển khai DNS service cho hệ thống mạng. Ngoài BIND ra còn một số phần mềm mã nguồn mở khác cũng cho phép ta thiết lập, cấu hình một DNS server như PowerDNS, djbdns,...

Post này sẽ hướng dẫn cấu hình một master DNS server trên BIND 9 trong một trường hợp cụ thể. Yêu cầu để có thể làm đc là đã hiểu được khác niệm cơ bản về DNS.

Giả sử tôi có mô hình mạng gồm các server và host như sau:

Domain: mydomain.local
Hosts                     |   DNSname                     |     IP address
-----------------------------------------------------------------------------------------------------
DNS server                 dns.mydomain.local        10.0.0.2/24
Mail server                 mail.mydomain.local        10.0.0.3/24
Web/ftp server           www.mydomain.local        10.0.0.4/24
----------------------------------------------------------------------------------------------------
1.Cài đặt BIND

Có thể cài đặt thông qua yum (đang setup trên CentOS) hoặc từ build từ source

2.Xác định số zone files

Ta sẽ phải thiết lập các zone files để phục vụ cho việc phân giải tên (thuận / nghịch)

Ta sẽ cần tối thiểu các zone files sau:

-2 zone file cho việc phân giải thuận từ IP sang tên host. Một file dùng cho mydomain.local. Một file dùng cho localhost.

-2 zone file cho việc phân giải nghịch từ tên sang IP. Một file dùng cho subnet 10.0.0.0/24. Một file dùng cho localhost.

-Một zone file phân giải các root servers. Download tại http://www.internic.net/zones/named.root

Ta sẽ đặt tên các file đó như sau:

-Phân giải thuận: mydomain.local.zone (dùng cho mydomain.local) và localhost.zone (dùng cho localhost)

-Phần giải nghịch: localhost.rev.zone (dùng cho localhost) và mydomain.local.rev.zone (dùng cho 10.0.0.0/24 subnet)

Nội dung các file như sau:



[root@dns named]# ls *.zone
localhost.rev.zone  mydomain.local.rev.zone
localhost.zone      mydomain.local.zone
[root@dns named]# more mydomain.local.zone
$TTL 2d  ; set TTL value for zone
$ORIGIN  mydomain.local. ; domain name
; SOA record
@    IN    SOA    dns.mydomain.local.    admin.mydomain.local. (
    2011261200; serial number
    2h;
    10m;
    7d;
    1h;
)
    IN    NS        dns.mydomain.local.
    IN    MX    10    mail.mydomain.local.
;defining ip address maps to each host name
dns    IN    A    10.0.0.2
mail    IN    A    10.0.0.3
www    IN    A    10.0.0.4
ftp    IN    CNAME    www.mydomain.local.
--------------------------------------------
[root@dns named]# more mydomain.local.rev.zone
;Zone file for mydomain.local
;Name: mydomain.local.rev.zone
$TTL 2d
$ORIGIN 0.0.10.in-addr.arpa.
@    IN    SOA    dns.mydomain.local.    admin.mydomain.local    (
    2011261200; serial number
    2h
    10m
    7d
    1h
)
    IN    NS    dns.mydomain.local.
2    IN    PTR    dns.mydomain.local.
3    IN    PTR    mail.mydomain.local.
4    IN    PTR    www.mydomain.local.
------------------------------------------------------
[root@dns named]# more localhost.zone
;Zone file for localhost
;Name: localhost.zone
$TTL 2d
$ORIGIN localhost.
@    IN    SOA    localhost    root.localhost    (
    2011261200; serial number
    2h
    10m
    7d
    1h
)
@  1D  IN  NS @
   1D  IN  A  127.0.0.1
--------------------------------------------------
[root@dns named]# more localhost.rev.zone
;Reverse map for localhost
;Filename: localhost.rev.zone
$TTL 2d
@    IN    SOA    localhost    root.localhost    (
    2011261200; serial number
    2h
    10m
    7d
    1h
)
@  3W  IN  NS      localhost.
1  3W  IN  PTR     localhost.





3.Thiết lập file cấu hình named.conf

[root@dns etc]# more named.conf
options {
    directory "/var/named"; // set the container folder
    allow-transfer {"none";};
    dump-file "/var/log/named_dump.db";
};

###### zones definitions #######
zone "." in {
        type hint;
        file "named.root";
};

zone "mydomain.local" in {
        type master;
        file "mydomain.local.zone";
};

zone "localhost" in {
    type master;
    file "localhost.zone";
};

zone "0.0.10.in-addr.arpa" in {
        type master;
        file "mydomain.local.rev.zone";
};

zone "0.0.127.in-addr.arpa" in {
    type master;
    file "localhost.rev.zone";
};


Như vậy đã có đầy đủ các thành phần để xây dựng một Master DNS server đơn giản với BIND.

Cần điều chỉnh DNS của host về địa chỉ IP của DNS server là 10.0.0.2.

Test thử:

[root@mail ~]# more /etc/resolv.conf
nameserver 10.0.0.2
domain mydomain.local
[root@mail ~]# nslookup
> www.mydomain.local
Server:        10.0.0.2
Address:    10.0.0.2#53

Name:    www.mydomain.local
Address: 10.0.0.4
> ftp
Server:        10.0.0.2
Address:    10.0.0.2#53

ftp.mydomain.local    canonical name = www.mydomain.local.
Name:    www.mydomain.local
Address: 10.0.0.4
> 10.0.0.3
Server:        10.0.0.2
Address:    10.0.0.2#53

3.0.0.10.in-addr.arpa    name = mail.mydomain.local.
>



Lưu ý: nếu cài gói bind-chroot thì thư mục root của BIND sẽ nằm ở /varnamed/chroot

[root@dns chroot]# pwd
/var/named/chroot
[root@dns chroot]# ls
dev  etc  proc  var

Saturday, December 11, 2010

[Access Control List] Extended ACL

I.Các khái niệm
eACL kiểm tra nhiều phần của packet, nó cho phép ta có thể lọc packet dựa vào cả source và dest port cùng một lúc...

Wednesday, November 10, 2010

[STP_Part2]How STP works

Phần I đã giới thiệu về STP và các lý do nên dùng STP. Phần này sẽ tâp trung giới thiệu cách mà STP làm việc.

Friday, April 30, 2010

Simple LAB: Trunking VLANs

Mấy ngày nay toàn viết lý thuyết suông nên hôm nay sẽ đụng chân đụng tay một chút. Bài LAB đơn giản thôi, ko có gì phức tạp cả.



OK, trên là mô hình bài LAB. Bây giờ ta sẽ đi cấu hình trên từng con sw.
1.Tạo VLANs
------------------------------------
Switch(config)#hostname SW1
SW1(config)#VLAN 10
SW1(config-vlan)#exit
SW1(config)#vlan 20
SW1(config-vlan)#exit
SW1(config)#vlan 30
SW1(config-vlan)#exit
SW1(config)#
-----------------------------------
Switch(config)#hostname SW2
SW2(config)#vlan 10
SW2(config-vlan)#exit
SW2(config)#vlan 20
SW2(config-vlan)#exit
SW2(config)#vlan 30
SW2(config-vlan)#exit
SW2(config)
----------------------------------
2. Gán port vào các VLANs
----------------------------------
SW1(config)#int fa0/3
SW1(config-if)#switchport mode access //đưa port vào trạng thái access
SW1(config-if)#switchport access vlan 10 //gán port vào vlan tương ứng
SW1(config-if)#int fa0/5
SW1(config-if)#s
SW1(config-if)#sw
SW1(config-if)#sw mod
SW1(config-if)#sw mode acc
SW1(config-if)#sw mode access
SW1(config-if)#sw acc vlan 20
SW1(config-if)#int fa0/7
SW1(config-if)#sw mod acc
SW1(config-if)#sw acc vlan 30
----------------------------------
OK, như vậy ta đã gán các port vào các vlan. Bây giờ ta sẽ xem lại cấu hình bằng lệnh show vlan
---------------------------------
SW1#show vlan
----------------------------------
OK vậy là đã gán đc các port vào các vlan
3.Cấu hình đường trunk
---------------------------------
SW1(config)#int fa0/1
SW1(config-if)#swt
SW1(config-if)#sw
SW1(config-if)#switchport mo
SW1(config-if)#switchport mode ?
access Set trunking mode to ACCESS unconditionally
dynamic Set trunking mode to dynamically negotiate access or trunk mode
trunk Set trunking mode to TRUNK unconditionally
SW1(config-if)#switchport mode tr
SW1(config-if)#switchport mode trunk

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
SW1(config-if)#
--------------------------------------
Kiểm tra lại với lệnh show vlan thì ko thấy fa0/1 nằm trong bất cứ vlan nào nữa. Như vậy là ta đã cấu hình xong đường trunk. Mặc định ở dòng sw 2960 của Cisco thì nó chỉ sử dụng 802.1q còn ở một số dòng cũ hơn bạn có thể phải chọn xem sẽ dùng trunking nào.
Cấu hình tương tự cho con sw2, sau đó ping lại để kiểm tra tại các host.
-------------------------------------
PC>ipconfig

IP Address......................: 192.168.10.2
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 0.0.0.0

PC>ping 192.168.10.1

Pinging 192.168.10.1 with 32 bytes of data:

Reply from 192.168.10.1: bytes=32 time=93ms TTL=128
Reply from 192.168.10.1: bytes=32 time=96ms TTL=128
Reply from 192.168.10.1: bytes=32 time=49ms TTL=128
Reply from 192.168.10.1: bytes=32 time=78ms TTL=128

Ping statistics for 192.168.10.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 49ms, Maximum = 96ms, Average = 79ms

PC>
------------------------------------------
file pkt:http://vnnshare.com/download/kFtKZnNAWK/Trunking.rar