Xây dựng hệ thống mạng ubuntu

Xây dựng hệ thống mạng ubuntu bao gồm LDAP servre, Web Server , Mail Server , DNS , DHCP , File Server , Firewall . Qua việc nghiên cứu các tài liệu về Ubuntu và thực hành các bài lab , chúng tôi đã xây dựng được một hệ thống mạng cơ bản với LDAP Server làm cơ sở dữ liệu cho các dịch vụ khác như SAMBA , MAIL ,WEB .v.v trong môi trường quản lý tập trung trên hệ điều hành Ubuntu .

pdf102 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3212 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Xây dựng hệ thống mạng ubuntu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
với tên người dùng mà máy khách HTTP qua. Nếu một trận đấu duy nhất duy nhất được tìm thấy, sau đó mod_authnz_ldap cố gắng để gắn kết với các máy chủ thư mục bằng cách sử dụng các DN của mục nhập cộng với các mật khẩu được cung cấp bởi các khách hàng HTTP. Bởi vì nó thực hiện một tìm kiếm, sau đó một liên kết, nó thường được gọi tắt là tìm kiếm / giai đoạn kết. Dưới đây là các bước thực hiện trong thời gian tìm kiếm / giai đoạn kết. 1. The Authentication Phase : - Tạo một bộ lọc tìm kiếm bằng cách kết hợp các thuộc tính và các bộ lọc được cung cấp trong chỉ thị AuthLDAPURL với tên người dùng thông qua các giao thức. - Tìm kiếm thư mục bằng cách sử dụng tạo ra bộ lọc. Nếu tìm kiếm không trả về đúng một mục, từ chối hoặc từ chối truy cập. - Lấy tên phân biệt của mục nhập lấy từ các tìm kiếm và cố gắng kết nối tới các máy chủ LDAP bằng cách sử dụng mà DN và mật khẩu thông qua các giao thức. Nếu liên kết là không thành công, từ chối hoặc từ chối truy cập. 2. The Authorization Phase : Trong giai đoạn cấp phép, cố gắng mod_authnz_ldap để xác định xem người sử dụng được uỷ quyền truy cập tài nguyên. Nhiều người trong số các yêu cầu kiểm tra mod_authnz_ldap để làm một so sánh hoạt động trên máy chủ LDAP. Đây là lý do tại sao giai đoạn này thường được gọi là so sánh các giai đoạn. mod_authnz_ldap chấp nhận những điều sau đây Yêu cầu chỉ thị để xác định xem các thông tin được chấp nhận:  Cấp quyền truy cập nếu có một Yêu cầu người sử dụng ldap chỉ thị, và tên người dùng trong chỉ thị phù hợp với tên người dùng thông qua bởi khách hàng. 49 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Cấp quyền truy cập nếu có một Yêu cầu ldap-dn chỉ thị, và các DN trong chỉ thị phù hợp với DN lấy từ các thư mục LDAP.  Cấp quyền truy cập nếu có một Yêu cầu ldap nhóm chỉ thị, và các DN lấy từ các thư mục LDAP (hoặc tên người dùng thông qua khách hàng) xảy ra ở nhóm LDAP hay, có khả năng, trong một nhóm con của nó.  Cấp quyền truy cập nếu có một Yêu cầu ldap-thuộc tính chỉ thị, và thuộc tính lấy từ các thư mục LDAP phù hợp với giá trị nhất định.  Cấp quyền truy cập nếu có một Yêu cầu ldap-lọc chỉ thị, và tìm kiếm các bộ lọc thành công tìm thấy một đối tượng người dùng duy nhất phù hợp với dn của người sử dụng chứng thực.  nếu không, phủ nhận hoặc từ chối truy cập Yêu cầu các giá trị khác cũng có thể được sử dụng mà có thể yêu cầu các mô-đun tải uỷ quyền bổ sung.  Cấp quyền truy cập đến tất cả người dùng xác thực thành công nếu có một Yêu cầu hợp lệ của người sử dụng chỉ thị. (yêu cầu mod_authz_user)  Cấp quyền truy cập nếu có một nhóm Yêu cầu các chỉ thị, và mod_authz_groupfile đã được tải với các chỉ thị AuthGroupFile thiết lập. 3. The Require Directives : Yêu cầu chỉ thị của Apache được sử dụng trong giai đoạn cấp phép để đảm bảo rằng người dùng được phép truy cập vào một nguồn tài nguyên. mod_authnz_ldap mở rộng các loại hình ủy quyền với người sử dụng ldap, ldap dn-, ldap nhóm, ldap thuộc tính và ldap-lọc. Các loại giấy phép khác cũng có thể được sử dụng nhưng có thể yêu cầu thêm module cho phép được nạp. a. Require ldap-user : Các Yêu cầu người sử dụng ldap chỉ thị xác định những gì tên người dùng có thể truy cập các tài nguyên. Một khi đã lấy mod_authnz_ldap một DN độc đáo từ thư mục, nó có một LDAP so sánh hoạt động bằng cách sử dụng tên người dùng quy định tại các Yêu cầu người sử dụng ldap để xem tên người dùng đó là một phần của chỉ mục LDAP cường điệu. Nhiều người sử dụng có thể được cấp quyền truy cập bằng cách đặt nhiều tên người dùng trên dòng, ngăn cách với không gian. Nếu tên người dùng một có một không gian trong nó, sau đó nó phải được bao quanh với dấu ngoặc kép. Nhiều người dùng cũng có thể được cấp quyền truy cập bằng cách sử dụng nhiều ldap Yêu cầu người sử dụng chỉ thị, với một người sử dụng trên mỗi dòng. Ví dụ, với một AuthLDAPURL của ldap: / ldap / / o = Ví dụ cn (tức là, cn được sử dụng cho 50 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính các tìm kiếm), các chỉ thị Yêu cầu sau đây có thể được sử dụng để hạn chế truy cập: Require ldap-user "Barbara Jenson" Require ldap-user "Fred User" Require ldap-user "Joe Manager" Bởi vì cách xử lý mod_authnz_ldap chỉ thị này, Barbara Jenson có thể đăng nhập vào như Barbara Jenson, Babs Jenson hoặc cn nào khác mà cô có trong mục LDAP của cô. Chỉ có duy nhất dòng ldap Yêu cầu người sử dụng là cần thiết để hỗ trợ tất cả các giá trị của thuộc tính trong mục nhập của người dùng. Nếu các thuộc tính đã được sử dụng thay vì uid của thuộc tính cn trong URL ở trên, ba trên đường có thể được cô đặc để Require ldap-user bjenson fuser jmanager b. Require ldap-group : Chỉ thị này quy định một nhóm LDAP mà các thành viên được phép truy cập. Nó có tên phân biệt của nhóm LDAP. Lưu ý: Không bao quanh tên nhóm với dấu ngoặc kép. Ví dụ, giả sử rằng các mục sau đây tồn tại trong thư mục LDAP: dn: cn=Administrators, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Barbara Jenson, o=Example uniqueMember: cn=Fred User, o=Example Chỉ thị sau đây sẽ cấp quyền truy cập cho cả Fred và Barbara: Require ldap-group cn=Administrators, o=Example Các thành viên cũng có thể được tìm thấy trong các nhóm của một nhóm LDAP quy định nếu AuthLDAPMaxSubGroupDepth được thiết lập là giá trị lớn hơn 0. Ví dụ, giả sử các mục sau đây tồn tại trong thư mục LDAP: dn: cn=Employees, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Managers, o=Example uniqueMember: cn=Administrators, o=Example uniqueMember: cn=Users, o=Example dn: cn=Managers, o=Example objectClass: groupOfUniqueNames 51 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính uniqueMember: cn=Bob Ellis, o=Example uniqueMember: cn=Tom Jackson, o=Example dn: cn=Administrators, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Barbara Jenson, o=Example uniqueMember: cn=Fred User, o=Example dn: cn=Users, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Allan Jefferson, o=Example uniqueMember: cn=Paul Tilley, o=Example uniqueMember: cn=Temporary Employees, o=Example dn: cn=Temporary Employees, o=Example objectClass: groupOfUniqueNames uniqueMember: cn=Jim Swenson, o=Example uniqueMember: cn=Elliot Rhodes, o=Example c. Require ldap-dn: Các Yêu cầu ldap-dn chỉ thị cho phép người quản trị để cấp quyền truy cập dựa trên tên phân biệt. Nó chỉ định một DN mà phải phù hợp cho việc truy cập để được cấp. Nếu tên phân biệt được lấy từ máy chủ thư mục phù hợp với tên phân biệt trong Yêu cầu dn-ldap, sau đó ủy quyền được cấp. Lưu ý: đừng bao quanh tên phân biệt với dấu ngoặc kép. Chỉ thị sau đây sẽ cấp quyền truy cập vào một DN cụ thể: Require ldap-dn cn=Barbara Jenson, o=Example d. Require ldap-attribute : Các Yêu cầu ldap-thuộc tính chỉ thị cho phép người quản trị để cấp quyền truy cập dựa trên các thuộc tính của người sử dụng chứng thực trong thư mục LDAP. Nếu các thuộc tính trong thư mục phù hợp với giá trị đưa ra trong cấu hình, truy cập được cấp. Chỉ thị sau đây sẽ cấp quyền truy cập cho bất kỳ ai với các employeeType thuộc tính = hoạt động Require ldap-attribute employeeType=active 52 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Nhiều thuộc tính / giá trị các cặp có thể được chỉ định trên cùng một dòng cách nhau bởi khoảng trắng hoặc chúng có thể được quy định tại nhiều ldap-Yêu cầu chỉ thị thuộc tính. Hiệu quả của việc niêm yết nhiều thuộc tính / giá trị cặp là một hoạt động hoặc. Truy cập sẽ được cấp nếu có của các giá trị thuộc tính được liệt kê phù hợp với giá trị của thuộc tính tương ứng trong các đối tượng người dùng. Nếu giá trị của thuộc tính có một không gian, chỉ có giá trị phải nằm trong dấu ngoặc kép. Chỉ thị sau đây sẽ cấp quyền truy cập cho bất kỳ ai với các thành phố thuộc tính bằng "San Jose" hoặc tình trạng bằng "Active" Require ldap-attribute city="San Jose" status=active e. Require ldap-filter : Các Yêu cầu ldap-filter chỉ thị cho phép người quản trị để cấp quyền truy cập dựa trên một bộ lọc tìm kiếm LDAP phức tạp. Nếu các dn trở lại của bộ lọc tìm kiếm phù hợp với dn người dùng xác thực, truy cập được cấp. Chỉ thị sau đây sẽ cấp quyền truy cập cho bất cứ ai có một điện thoại di động và là trong bộ phận tiếp thị Require ldap-filter &(cell=*)(department=marketing) Sự khác biệt giữa các thị ldap-filter Yêu cầu và các chỉ thị Yêu cầu ldap- thuộc tính là ldap-lọc thực hiện một hoạt động tìm kiếm trên các thư mục LDAP bằng cách sử dụng bộ lọc tìm kiếm quy định chứ không phải là một so sánh thuộc tính đơn giản. Nếu so sánh thuộc tính đơn giản là tất cả những gì là cần thiết, các hoạt động so sánh được thực hiện bởi thuộc tính-ldap sẽ được nhanh hơn các hoạt động tìm kiếm được sử dụng bởi ldap-lọc đặc biệt là trong một thư mục lớn. 53 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦN 7 : DHCP I. Vai Trò Của DHCP Trong Một Hệ Thống Mạng : 1. DHCP là gì : DHCP là viết tắt của Dynamic Host Configuration Protocol, là giao thức Cấu hình Host Động được thiết kế làm giảm thời gian chỉnh cấu hình cho mạng TCP/IP bằng cách tự động gán các địa chỉ IP cho khách hàng khi họ vào mạng. Dich vụ DHCP là một thuận lới rất lớn đối với người điều hành mạng. Nó làm yên tâm về các vấn đề cố hữu phát sinh khi phải khai báo cấu hình thủ công. Nói một cách tổng quan hơn DHCP là dich vụ mang đến cho chúng ta nhiều lợi điểm trong công tác quản trị và duy trì một mạng TCP/IP như: - Tập chung quản trị thông tin về cấu hình IP. - Cấu hình động các máy. - Cấu hình IP cho các máy một cách liền mạch - Sự linh hoạt - Khả năng mở rộng. 2. DHCP làm việc như thế nào: DHCP tự động quản lý các địa chỉ IP và loại bỏ được các lỗi có thể làm mất liên lạc. Nó tự động gán lại các địa chỉ chưa được sử dụng và cho thuê địa chỉ trong một khoảng thời gian. II. Bổ Sung Và Cấp Phép Cho Dịch Vụ DHCP Hoạt Động : 1. Tại sao sử dụng dịch vụ DHCP: - Giảm bớt được các hiện tượng xung đột về IP, hay các lỗi về IP, luôn đảm bảo cho các máy client được cấu hình đúng. - Đơn giản hóa trong công tác quản trị. 2. Địa chỉ IP động đặc biệt là gì ? Địa chỉ IP động đặc biệt (Automatic private IP Addressing) hay APIPA là một dặc trưng của hệ điều hành Microsoft windows cho phép gán một dải địa chỉ IP tự động trên các máy Client dải địa chỉ này có giá trị trong khoảng từ: 169.254.0.0 đến 169.254.255.255. khi mà dịch vụ DHCP server không được phép cấp phát IP cho các máy Client. 3. Cách thức cấp phát địa chỉ IP động : Dịch vụ DHCP sẽ thiết lập Hợp đồng thuê địa chỉ IP và ra gạn hợp đồng cho thuê địa chỉ IP nhằm cấp phát địa chỉ IP động cho các máy Client. 54 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính III. Cấu Hình Phạm Vi Cấp Phát Của Dịch Vụ DHCP: 1. Phạm vi cấp phát DHCP là gì : Phạm vi cấp phát là dải địa chỉ IP hợp lệ được dùng để thuê hoặc gán cho các máy Client trên cùng một Subnet. Ta cấu hình một pham vi cấp phát trên DHCP Server để xác định dải địa chỉ IP mà các Server có thể gán cho các máy Client. 2. Tại sao phải sử dụng phạm vi cấp phát DHCP? Phạm vi cấp phát sẽ xác định xem những địa chỉ IP nào sẽ được phép cấp phát cho các máy client IV. Cấu hình địa chỉ DHCP giành sẵn (Reservations) và các tùy chọn của DHCP: 1. Địa chỉ DHCP dành sẵn là gì? Địa chỉ IP dành sẵn là một dải địa chỉ IP được gán cố định. Nó là dải địa chỉ IP được tạo ra trong một phạm vi (scope) dành riêng, dải địa chỉ IP dành riêng này được dùng để gàn cho các máy Client (Chúng là các địa chỉ IP tĩnh trong mạng được gán cho các máy client). 2. Một dải địa chỉ IP dành sẵn bao gồm có các thông tin sau : - Reservation Name :Là tên được gán bởi nhà quản trị. - IP Address : Là phạm vi dải địa chỉ IP được gán cho các máy Client. - MAC Address: Là địa chỉ MAC của mỗi thiết bị mà bạn muốn dành sẵn một địa chỉ IP cho nó. - Description: Những mô tả do nhà quản trị đưa ra. Supported Type:Kiểu hỗ trợ này có thế là: DHCP dành sẵn, BOOTP dành sẵn, hoặc cả hai. 3. Tùy chọn DHCP là gì? Các tùy chọn DHCP là các tham số cấu hình máy khách bổ sung mà một máy chủ DHCP có thể gán khi phục vụ các máy khách DHCP. 4. Tại sao phải sử dụng tùy chọn DHCP? Các tùy chọn DHCP được cấu hình sử dụng bảng điều khiển DHCP và có thể được áp dụng cho nhiều phạm vi và sự dành sẵn.Một tùy chọn DHCP sẽ làm tăng thêm các chức năng cho hệ thống mạng. Các tùy chọn DHCP cho phép bạn thêm dữ liệu cấu hình IP các client. 5. Một số tùy chọn chung của DHCP: - Router (Default Gateway): Địa chỉ của bất cứ cổng ra mặc định (default gateway) hay bộ định tuyến (router) nào. 55 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính - DNS Domain Name: Tên miền DNS xác định miền mà máy khách sẽ phụ thuộc. Máy khách có thể sử dụng thông tin này dể cập nhật thông tin lên máy chủ DNS để các máy tính khác có thể tìm thấy nó. - DNS Servers: Địa chỉ của bất cứ máy chủ DNS nào mà máy khách có thể sử dụng trong quá trình truyền thông - WINS Servers: Địa chỉ của bất cứ máy chủ WINS nào mà máy khách có thể sử dụng trong quá trình truyền thông - WINS Node Type: Là một kiểu phương thức phân giải tên NetBIOS mà các máy khách (Client) có thế sử dụng. V. CẤU HÌNH DHCP DHCP Relay Agent: 1. DHCP relay agent là gì? DHCP relay agent là một máy tính hoặc một Router được cấu hình để lắng nghe các thông điệp quảng bá DHCP/BOOTP từ DHCP client, chuyển tiếp các thông điệp quảng bá từ một giao tiếp này đến giao tiếp khác. và hướng chúng tới một hoặc nhiều máy chủ DHCP cụ thể. 2. Tại sao phải sử dụng DHCP relay agent: Vì: DHCP clients sử dụng một địa chỉ quảng bá (broadcast) để bảo mật việc thuê một địa chỉ IP từ DFHCP server. Một Router thong thường không thể thông qua một broadcast trừ khi nó được cấu hình riêng biệt. - Tiết kiệm được số địa chỉ IP thật ( Public IP) - Phù hợp với các máy tính thường xuyên di chuyển giữa các lớp mạng. - Kết hợp với hệ thống mạng không dây ( Wireless) cung cấp tại các điểm - Hotspot như: nhà ga, sân bay, khách sạn, trường học. - Thuận tiện cho việc bổ xung các thiết bị mới vào lớp mạng. VI. Phương thức hoạt động của dịch vụ DHCP: Dịch vụ DHCP hoạt động theo mô hình Client / Server. Theo đó quá trình tương tác giữa DHCP client và server sẽ diễn ra theo các bước sau.  Bước 1: Khi máy Client khởi động, máy sẽ gửi broadcast gói tin DHCP DISCOVER, yêu cầu một Server phục vụ mình. Gói tin này cũng chứa địa chỉ MAC của client. Nếu client không liên lạc được với DHCP Server thì sau 4 lần truy vấn không thành công nó sẽ tự động phát sinh ra 1 địa chỉ IP riêng cho chính mình nằm trong dãy 169.254.0.0 đến 169.254.255.255 dùng để liên lạc tạm thời. Và client vẫn duy trì việc phát tín hiệu Broad cast sau mỗi 5 phút để xin cấp IP từ DHCP Server.  Bước 2: Các máy Server trên mạng khi nhận được yêu cầu đó. Nếu còn khả năng cung cấp địa chỉ IP, đều gửi lại cho máy Client một gói tin DHCP OFFER, đề nghị cho thuê một địa chỉ IP trong một khoảng thời gian nhất định, kèm theo là một Subnet Mask và địa chỉ của Server. Server sẽ không cấp phát đia chỉ IP vừa đề nghị cho client thuê trông suốt thời gian thương thuyết. 56 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 3:Máy Client sẽ lựa chọn một trong những lời đền nghị ( DHCPOFFER) và gửi broadcast lại gói tin DHCPREQUEST và chấp nhận lời đề nghị đó. Điều này cho phép các lời đề nghị không được chấp nhận sẽ được các Server rút lại và dùng để cấp phát cho các Client khác.  Bước 4: Máy Server được Client chấp nhận sẽ gửi ngược lại một gói tin DHCP ACK như một lời xác nhận, cho biết địa chỉ IP đó, Subnet Mask đó và thời hạn cho sử dụng đó sẽ chính thức được áp dụng. Ngoài ra server còn gửi kèm những thông tin bổ xung như địa chỉ Gateway mặc định, địa chỉ DNS Server... 57 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦN THỰC HÀNH 58 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 59 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦN 1 : LDAP VÀ SAMPA PDC SERVER I. Chuẩn bị : - Cài đặ ubuntu server 10.04 32bit hay 64bit - Đặt địa chỉ IP tỉnh và máy có thể kết nối internet. - Update ubuntu server băng lệnh sau :  apt-get update  apt-get dist-upgrade - reboot. II. Cài đặt và cấu hỉnh LDAP và SAMBA server.  Bước 1: mở 1 terminal và lấy quyền root bằng lệnh sudo su va đánh password của hệ thống  Bước 2 : install LDAP server bằng lệnh apt-get install slapd ldap-utils  Bước 3 : ta add các schema cần thiết cho LDAP bằng các lệnh sau : ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif 60 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 4 : ta tạo 1 file backend.hosen.net.ldif như sau : 61 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 5 : ở bước này ta sẽ thực hiên add file ldif vừa mới tạo ở trên vào hệ thông LDAP bằng lệnh sau : ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif  Bước 6: cài đặt SAMVA và các gói cần thiết bằng lệnh sau : 62 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính apt-get install samba samba-doc libpam-smbpass smbclient smbldap-tools  Bước 7 : cấu hình SAMBA. Ta cấu hình file /etc/samba/smb.conf như sau : [global] workgroup = VT071A netbios name = PDC-SAMBA obey pam restrictions = Yes passdb backend = ldapsam:ldap://localhost pam password change = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 server signing = auto server schannel = Auto printcap name = cups add user script = /usr/sbin/smbldap-useradd -m '%u' delete user script = /usr/sbin/smbldap-userdel %u add group script = /usr/sbin/smbldap-groupadd -p '%g' delete group script = /usr/sbin/smbldap-groupdel '%g' add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g' delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g' set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u' add machine script = /usr/sbin/smbldap-useradd -w '%u' logon script = allusers.bat logon path = logon home = domain logons = Yes os level = 35 domain master = Yes 63 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính dns proxy = No wins support = Yes ldap admin dn = cn=admin,dc=hoasen,dc=local ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap ldap machine suffix = ou=Computers unix password sync = no ldap passwd sync = yes ldap suffix = dc=hoasen,dc=local ldap ssl = no ldap user suffix = ou=Users panic action = /usr/share/samba/panic-action %d [homes] comment = Home Directories valid users = %S read only = No browseable = No browsable = No [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon admin users = root guest ok = Yes browseable = No browsable = No [Profiles] comment = Roaming Profile Share path = /var/lib/samba/profiles read only = No profile acls = Yes browseable = No browsable = No [printers] comment = All Printers path = /var/spool/samba admin users = root write list = root read only = No create mask = 0600 guest ok = Yes printable = Yes use client driver = Yes browseable = No browsable = No [print$] comment = Printer Drivers Share path = /var/lib/samba/printers admin users = root write list = root create mask = 0664 directory mask = 0775 64 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính [shared] path = /var/lib/samba/shared read only = No guest ok = Yes lưu ý : Ở phần cấu hình trên ta nên quan tầm một số biến quan trong sau : workgroup = VT071A netbios name = PDC-SAMBA passdb backend = ldapsam:ldap://localhost ldap admin dn = cn=admin,dc=hoasen,dc=local ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap ldap machine suffix = ou=Computers unix password sync = no ldap passwd sync = yes ldap suffix = dc=hoasen,dc=local Đây là những khai báo để SAMBA có thế hoạt động với LDAP  Bước 8: tao tạo password cho user của samba bằng lệnh smbpasswd –W bạn nên tạo password giống bước 4  Bước 9: restart samba bằng lệnh service smbd restart .  Bước 10 : kiểm tra xem SAMBA có hoạt động hay không, ta dùng lệnh sau đây, nếu được hỏi password thì chỉ nhấn Enter. ớ bước kiểm tra này thì out phải giống như hình bên dưới nếu không thì SAMBA đã cấu hình sai. smbclient -L localhost 65 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 11 : ớ bước này ta tạo các thư mục cho samba hoạt động cũng như giải nén file samba.schema  Bước 12 : tạo file schema_convert.conf để tao file ldif để add schema samba vào hệ thống của LDAP bằng lệnh nano schema_convert.conf File schema_convert.conf có nội dung như sau : include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/duaconf.schema include /etc/ldap/schema/dyngroup.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema 66 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính include /etc/ldap/schema/ppolicy.schema include /etc/ldap/schema/samba.schema  Bước 13 : tạo thư mục /tmp/ldif_output để chứa file convert mkdir /tmp/ldif_output  Bước 14: convert file schema_convert.conf slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}samba,cn=schema,cn=config" > /tmp/cn=samba.ldif  Bước 15: edit file /tmp/cn\=samba.ldif Ở phần đầu của file bạn sẽ thấy : dn: cn{12}=samba,cn=schema,cn=config cn: {12}samba đổi thành : dn: cn=samba,cn=schema,cn=config cn: samba ở phần cuối của file, xóa phần được chọn như trong hình sau 67 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 16: add file ldif vừa mới tạo vào hệ thống LDAP. ldapmodify -Y EXTERNAL -H ldapi:/// -D cn=admin,cn=config -W -f samba_indexes.ldif  Bước 17: chúng ta sẽ kiểm tra LDAP xem có hoạt động tốt với samba.chema có hoạt động tốt không. Nếu output của dòng lệnh sau giống như trong hình thì LDAP đã hoạt động tốt. ldapsearch -Y EXTERNAL -H ldapi:/// -D cn=admin,cn=config -b cn=config -W olcDatabase={1}hdb 68 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 18 : ta cũng kiểm tra SAMBA có hoạt động hay không. Ta dùng lệnh sau. Nếu output giống như trong hình thì SAMBA đã hoạt động tốt. net getlocalsid  Bước 19: giải nén công cụ để đồng bộ hóa SAMBA và LDAP gzip -d /usr/share/doc/smbldap-tools/configure.pl.gz  Bước 20 : dòng lệnh sau sẻ làm LDAP và SAMBA hoạt động với nhau. Khi chạy, chương trình sẽ hỏi nhập vào thông tin cần thiết, bạn chỉ cần đánh Enter. Chỉ có 2 trường hợp bạn cần điền vào lá : - Là ở trường hợp "Logon Home" và "Logon Path", hảy điền vào ký tự “.” - Khi hỏi về password của master và slave LDAP server, trong trường hợp này bạn điền vào password bạn đã điền vào ớ bước 4 69 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 21: tạo các groups trong LDAP server smbldap-populate 70 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 22 : ta thực hiên các lệnh sau để hoàn tất việc cấu hình /etc/init.d/slapd stop slapindex chown openldap:openldap /var/lib/ldap/* /etc/init.d/slapd start  Bước 23 : dòng lệnh sau tạo user root thành Domain administrator smbldap-groupmod -m 'root' 'Administrators'  Bước 24: cấu hình authentication với LDAP và SAMBA Ta dùng dòng lệnh sau : apt-get --yes install ldap-auth-client chương trình sẻ hỏi những thông tin cần thiết như các hình bên dưới : 71 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Đánh Enter Đánh Enter Điền vào dn của LDAP server, rồi ok 72 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Chọn version 3 Đánh vào DN admin của LDAP server LDAP 73 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Đánh Enter. Điền vào Password của dn admin của LDAP server. Lưu ý : nếu muốn cấu hỉnh lại những thông tin trên ta dùng lệnh sau : dpkg-reconfigure ldap-auth-config  Bước 25 : thực hiện dòng lệnh sau. auth-client-config -t nss -p lac_ldap  Bước 26: dòng lệnh sau để bật chức năng authentication Unix,LDAP,SAMBA pam-auth-update ldap Chọn ok 74 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Bạn chọn tất cả các mục như trong hình.  Bước 27: như vậy ta đã hoàn thành cấu hình SAMBA PDC kết hợp với LDAP Ta reboot hệ thống để hoàn thành cấu hình. III. Cấu hình client Winodws Xp và Windows 7 vào hệ thống SAMBA: 1. Tạo user trên SAM PDC : - Ta tạo 1 user để test trên server là : username : user1 , password =123456 Ta dùng lệnh sau : smbldap-useradd –a –m –P user1 - Ta tạo 1 user adminpdc thuộc nhòm domain administrator để khi join domain ở mấy client ta đánh username và password. Điều này tăng tính bảo mật của hệ thống. Ta dùng các dòng lệnh như tronh hình sau: 75 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 2. Join windows Xp SP2 : Để join windows XP vào SAMBA Domain cần các cấu hình sau : - Chỉnh Registry sau : [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Services\Netlogon\Par ameters] "requirestrongkey"=dword:00000000 "requiresignorseal"=dword:00000000 - Trong Group policy , enable policy là “Donot check for user ownership of Roaming profile folders” 76 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Như vậy ta có thê join domain cho windows XP Reboot hệ thông để kiểm tra. 77 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 3. Join Windows 7 : Để joing windows 7 vào hệ thống SAMBA ta cần cấu hình như sau : Trong Windows 7 Registry ta tạo thêm 2 giá trị sau : HKLM\System\CCS\Services\LanmanWorkstation\Parameters DWORD DomainCompatibilityMode = 1 DWORD DNSNameResolutionRequired = 0 Đồng thời ta củng phải đảm bảo các parameter có giá trị sau: HKLM\System\CCS\Services\Netlogon\Parameters DWORD RequireSignOrSeal = 1 DWORD RequireStrongKey = 1 Như vậy ta đã có thể join windows 7 vào SAMBA Domain 78 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 79 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦN 2 : MAIL SERVER VÀ DNS SERVER Để xây dựng một Mail Server ta có thể chọn các phần mềm thành phần khác nhau để hợp thành . ở đây chúng ta sử dụng các phần mềm thông dụng và dễ cấu hình như : Postfix , Dovecot. Đồng thời còn một số chi tiết cần giới thiệu như : Mail server xây dựng trên virtual mailbox và mail location là maildir và trước hết muốn mailserver hoạt động thì domain của server phải có 1 MX record . I. Cài đặt và cấu hình DNS: 1. Cài đặt : Ta dùng lệnh sau để cài đặt DNS server (BIND9) apt-get install bind9 2. Cấu hình DNS server : Ta cấu hình file /etc/bind/name.conf.local để khai báo các zone có nội dung như sau : zone "hoasen.net" { type master; file "/etc/bind/db.hoasen.net"; }; zone "193.168.192.in-addr.arpa" { type master; notify no; file "/etc/bind/db.192"; }; 80 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Vì ta hai file như đã khai báo ở trên với nội dung như 2 hình ớ dưới : File /etc/bind/db.hoasen.net 81 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính File /etc/bind/db.192 Như vậy ta đã cấu hình xong DNS server , ta restart server để hoạt động. II. Cài đặt và cấu hình Mail server với Postfix và Dovecot : 1. Cài đặt : Để cài đặt postfix bằng lệnh sau , trong quá trình cài đặt postfix sẻ hỏi một số thông tin của email server. Sau khai cài đặt postfix xong, để Postfix hoạt động được với LDAP thì chúng ta phải cài thêm gói post-ldap. Ta thực hiên cài đặt bằng lệnh sau : apt-get install postfix-ldap 82 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Kế tiếp ta cài đặt Dovecot ( Dovecot đóng vai trò là IMAP/POP3 server, MDA, và cũng là 1 authentication server cho mail server ) Đồng thời ta cũng có thể cấu hình Postfix và Dovecot dùng SASL bằng cách cài gói dovecot-posfix. 83 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 2. Cấu hình : Đế cấu hình mail với postfix ta có 2 file cấu hình quan trọng là /etc/postfix/main.cf và /etc/postfix/master.cf  Bước 1 : tạo virtual user với user name là vmail thuộc group vmail với thư mục home là /home/vmail cũng là thư mục để chứa email của tất cả các user. Ta thực hiện các dòng lệnh sau với quyền root : groupadd –g 5000 vmail useradd –g vmail –u 5000 vmail –d /home/vmail –m Hai dòng lệnh trên là tạo group vmail với gid là 5000, tạo user vmail với uid là 5000 và home directory là /home/vmail Dòng lệnh sau để kiểm tra gid và uid của vmail trong file /etc/passwd cat /etc/passwd | grep vmail Out của các dòng lệnh trên sẽ giống như trong hình sau  Bước 2 : cấu hình Postfix , đế cấu hình mail với postfix ta có 2 file cấu hình quan trọng là /etc/postfix/main.cf và /etc/postfix/master.cf Cấu hình file main.cf giống đoạn text dưới đây : (lưu ý : những số ở đầu dòng là dùng để đánh dấu và dễ giải thích, không có năm trong file cấu hình ) 1 alias_database = hash:/etc/aliases 2 alias_maps = hash:/etc/aliases 3 append_dot_mydomain = no 4 biff = no 5 broken_sasl_auth_clients = yes 6 config_directory = /etc/postfix 7 debug_peer_level = 5 8 debug_peer_list = 127.0.0.1 9 home_mailbox = Maildir/ 10 inet_interfaces = all 11 mailbox_size_limit = 0 84 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 12 myhostname = localhost 13 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/16 14 readme_directory = no 15 recipient_delimiter = + 16 relayhost = 17 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 18 smtp_use_tls = yes 19 smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) 20 smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination 21 smtpd_sasl_auth_enable = yes 22 smtpd_sasl_authenticated_header = yes 23 smtpd_sasl_local_domain = $myhostname 24 smtpd_sasl_path = private/auth 25 smtpd_sasl_security_options = noanonymous 26 smtpd_sasl_type = dovecot 27 smtpd_tls_auth_only = yes 28 smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem 29 smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key 30 smtpd_tls_mandatory_ciphers = medium 31 smtpd_tls_mandatory_protocols = SSLv3, TLSv1 32 smtpd_tls_received_header = yes 33 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 34 smtpd_use_tls = yes 35 tls_random_source = dev:/dev/urandom 36 virtual_gid_maps = static:5000 37 virtual_mailbox_base = /home/vmail 38 virtual_mailbox_domains = /etc/postfix/vhosts 39 virtual_mailbox_maps = ldap:/etc/postfix/ldapmap.cf 40 virtual_minimum_uid = 1000 41 virtual_transport = dovecot 42 virtual_uid_maps = static:5000 Giải thích : - Dòng 9: cấu hình cho postfix sử dụng mailbox format là Maildir. - Dòng 12: đây là cấu hình quan trọng, vì chúng ta muốn sử dụng virtual mailbox nên ơ đây ta phải để giá trị là localhost, và không bao giờ được đặt tên domain ( domain mà bạn muốn sử dụng virtual mailbox ) vào trong dòng này. - Dòng 18,34: dòng này cấu hình cho postfix sử dụng TLS trong quá trình gửi nhận mail. - Dòng 21 26 : cấu hình postfix sử dụng SASL là cơ chế chứng thực, và quản lý SASL là Dovecot. 85 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính - Dòng 2733 : cấu hình của TLS trên postfix, đường dẩn của các file key và cert. - Dòng 37 : chỉ ra thư mục sẻ chứa tất cả email của server - Dòng 38 : là dòng chứa thông tin các domain được server quản lý, và chấp nhận gửi và nhận mail, bạn có thê điền trực tiếp, hay có thể dùng 1 file như trong bài lab, nội dung file /etc/postfix/vhost sẽ được trình bày bên dưới. - Dòng 39: đây là dòng cấu hình postfix truy vấn thông tin với ldap server. Nội dung file ldapmap.cf sẽ được trình bày bên dưới. thông tin được trả về là nơi lưu trữ email cua mỗi user. - Dòng 41: cấu hình postfix dùng dovecot như 1 MDA ( thay the cho virtual MDA ) - Dòng 36 và 42 : đây là dòng khai báo uid , gid của virtual user mà ta đã tạo ở trên, dùng cung cấp quyền ghi và đọc trên thư mục /home/vmail. Nội dung của file /etc/postfix/vhosts : hoasen.net vt071A.net …… (bạn tiếp tục liệt kê những domain mà bạn muốn gửi và nhận mail ) Nội dung file /etc/postfix/ldapmap.cf: bind = no version = 3 timeout = 20 debuglevel = 0 size_limit = 1 expansion_limit = 0 start_tls = no tls_require_cert = no server_host = ldap://192.168.193.10 scope = sub search_base = dc=hoasen, dc=local query_filter = (|(mail=%s)(mailAlternateAddress=%s)) result_attribute = mailMessageStore  Bước 3: cấu hình Dovecot , ta có 2 file cấu hình quan trọng là /etc/dovecot/dovecot.conf và /etc/dovecot/dovecot-ldap.conf Ta cấu hỉnh file /etc/dovecot/dovecot.conf như đoạn text sau : (lưu ý : những số ở đầu dòng là dùng để đánh dấu và dễ giải thích, không có năm trong file cấu hình ) 1 base_dir = /var/run/dovecot 2 protocols = imap imaps pop3 pop3s 3 log_path = /var/log/dovecot 4 info_log_path = /var/log/dovecot.info 5 log_timestamp = "%Y-%m-%d %H:%M:%S " 6 ssl = yes 7 ssl_cert_file = /etc/ssl/certs/dovecot.pem 8 ssl_key_file = /etc/ssl/private/dovecot.pem 86 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 9 ssl_parameters_regenerate = 168 10 verbose_ssl = yes 11 login_dir = /var/run/dovecot/login 12 login_chroot = yes 13 login_user = dovecot 14 mail_location = maildir:/home/vmail/%d/%n/Maildir 15 mail_privileged_group = mail 16 valid_chroot_dirs = /home/vmail 17 maildir_copy_with_hardlinks = yes 18 protocol imap { 19 login_executable = /usr/lib/dovecot/imap-login 20 mail_executable = /usr/lib/dovecot/imap 21 } 22 protocol pop3 { 23 login_executable = /usr/lib/dovecot/pop3-login 24 mail_executable = /usr/lib/dovecot/pop3 25 pop3_uidl_format = %08Xu%08Xv 26 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh 27 } 28 protocol managesieve { 29 } 30 protocol lda { 31 postmaster_address = info@hoasen.net 32 auth_socket_path = /var/run/dovecot/auth-master 33 } 34 auth_verbose = yes 35 auth default { 36 mechanisms = plain login 37 passdb ldap { 38 args = /etc/dovecot/dovecot-ldap.conf 39 } 40 userdb prefetch { 41 } 42 socket listen { 43 master { 44 path = /var/run/dovecot/auth-master 45 mode = 0600 46 user = vmail 47 group = vmail 48 } 49 client { 50 path = /var/spool/postfix/private/auth 51 mode = 0660 52 user = postfix 53 group = postfix 54 } 55 } 56 } 57 dict { 58 } 87 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 59 plugin { 60 } Giải thích : - Dòng 2 : khai báo các protocol mà dovecot muốn hổ trợ - Dòng 610: khai báo các cấu hình Dovecot sử dụng TLS - Dòng 14: cấu hình mail location, với format mailbox là maildir. Trong đó ta thấy có hai biến %d ,và %n . với %d là domain name và %n là phần tên trong địa chỉ email. Vd : user1@hoasen.net thì %n=user1 Như vậy với khai báo trên user1@hoasen.net sẽ có thư mục lưu trữ email như sau : /home/vmail/hoasen.net/user/Maildir - Dòng 1824 : cấu hình cho protocal IMAP và POP3, khai báo các đoạn script tạo thư mục cho user khi đăng nhập thành công. - Dòng 30,31,32 : cấu hình dovecot MDA - Dòng 36 : khai báo cơ chế sử dụng để chứng thực password. - Dòng 3741 : cấu hình password databases và user databases là ldap server chứa thông tin để chứng thực. file dovecot-ldap.conf sẽ được trình bày bên dưới. - Dòng 4254: cấu hình để postfix chứng thực SASL. Ta cấu hỉnh file /etc/dovecot/dovecot-ldap.conf chi tiết như sau: 1 hosts = 192.168.193.10 2 auth_bind = yes 3 auth_bind_userdn = uid=%n,ou=Users,dc=hoasen,dc=local 4 ldap_version = 3 5 base = ou=Users,dc=hoasen,dc=local 6 scope = subtree 7 user_attrs = ,=home=/home/vmail/%d/%n,=uid=5000,=gid=5000 8 user_filter = (&(objectClass=*)(mail=%u)) 9 pass_attrs = mail=user,userPassword=password 10 pass_filter = (&(objectClass=*)(mail=%u)) 11 default_pass_scheme = CRYPT Giải thích : - Dòng 1 : chỉ ra địa chỉ IP của LDAP server - Dòng 2 : bật chế độ dùng cơ chế Authentication Bind . - Dòng 3 : định rõ dn để bind với LDAP server - Dòng 7 : vì ta dùng static user nên ta định sẳn giá trị cho các attribute  Bước 4: ta restart các server service postfix restart service dovecot restart  Bước 5 : thêm quyền ghi cho postfix trên các file log của dovecot ( có 2 file là /var/log/dovecot và /var/log/dovecot.info ) chmod 666 /var/log/dovecot chmod 666 /var/log/dovecot.info  Bước 6: ta có thể test postfix và dovecot bẳng cách telnet vào servr như hình bên dưới. 88 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính telnet mail.hoasen.net pop3 telnet mail.hoasen.net 25 89 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦn 4: FTP VÀ FIREWALL I. FTP : 1. Giới thiệu : FTP (File Transfer Protocol) là một protocol trong mô hình TCP/IP được dùng để truyền các file giữa các máy. FTP cho phép truyền nhận file và quản lý trực tuyến. FTP không cho phép truy xuất một máy khác để thực thi chương trình, nhưng nó rất tiện lợi cho việc thao tác với file. Để sử dụng FTP thì các máy kết nối phải chạy các chương trình có hỗ trợ các dịch vụ về FTP. Client gọi đến server và thiết lập FTP thông qua một tập các lệnh bắt tay. Thông thường để kết nối đến các máy khác qua FTP chúng ta phải là một user được cung cấp user name và password để log in vào máy cần truy xuất. Bởi vì một hệ thống không thể cung cấp nhiều logins cho tất cả các user muốn truy xuất đến nó nên nhiều hệ thống sử dụng các FTP mặc định. FTP mặc định cho phép bất kỳ máy nào cũng có thể login vào hệ thống với user name là ftp, guest hoặc một tên mặc định nào đó và không cần password hay user name của máy này. 2. Cài đặt : Trong phần này ta sử dụng proftpd làm server. Ta dùng lệnh apt-get install proftpd dưới quyền root để cài đặt. 90 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Chương trình sẻ hỏi chế độ mà server sử dụng, bạn chọn stand alone 3. Cấu hình Proftpd với LDAP : Ta cần cấu hình 2 file sau /etc/proftpd/proftpd.conf và /etc/proftpd/ldap.conf . Trước tiên ta cấu hình file proftpd.conf có nội dụng như đoạn text sau: 12 Include /etc/proftpd/modules.conf 13 UseIPv6 off 14 ServerName "hoasen" 15 ServerType standalone 16 ServerIdent on "hoasen-lotus" 17 DeferWelcome off 18 MultilineRFC2228 on 19 DefaultServer on 20 ShowSymlinks on 21 TimeoutNoTransfer 600 22 TimeoutStalled 600 23 TimeoutIdle 1200 24 ListOptions "-l" 25 DenyFilter \*.*/ 26 DefaultRoot /home/ftp 27 DefaultChDir ftp 28 RequireValidShell off 29 Port 21 30 MaxInstances 30 31 IdentLookups off 32 UseReverseDNS off 33 User proftpd 34 Group nogroup 91 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 35 Umask 022 022 36 AllowOverwrite on 37 PersistentPasswd off 38 TransferLog /var/log/proftpd/xferlog 39 SystemLog /var/log/proftpd/proftpd.log 40 Include /etc/proftpd/ldap.conf 41 42 AllowOverwrite on 43 44 45 46 AllowAll 47 48 49 50 51 AllowUser user1 52 53 Umask 000 54 55 AllowAll 56 57 Giải thích: Trong cấu hình trên ta cần lưu ý các khai báo như sau: - Dòng 26,27 : khai báo thư mục chứa của ftpserver. - Dong 37,40: phải bảo đảm có dòng này trong file cấu hình nếu chúng ta muốn sử dụng chứng thực qua LDAP. - Dòng 4157 : ta cấu hỉnh các thư mục được chia sẻ trong ftp server. Ta tiếp tục cấu hình file ldap.conf như sau : 1. LDAPServer localhost 2. LDAPDNInfo "cn=admin,dc=hoasen,dc=local" "pwd123" 3. LDAPDoAuth on "ou=Users,dc=hoasen,dc=local Giải thích: Ta khai báo các thông tin cần thiết để ftp server có thể giao tiếp với LDAP server - Dòng 1: khai báo nơi chứa LDAP server. - Dòng 2 : khai báo user và password. - Dòng 3 : khai báo nơi tìm kiếm user trên LDAP. II. FIREWALL: 1. Giới thiệu : Iptables trong ubuntu không phải là 1 server và đã được tích hợp sẳn trong kernel của ubutu nên ta không cần thực hiện cài đặt. 2. Cấu hình NAT : Trước khi cấu hình NAT, ta nên cấu hình địa chỉ IP tĩnh chó các interface  Bước 1: ta thực hiện dòng lệnh sau: sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" - dòng lệnh trên sẻ gán giá trị 1 trong file ip_forward, cho phép chuyển tiếp các gói trong các interface của hệ thống. 92 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính  Bước 2 : ta edit file /etc/sysctl.conf và chuyển các dòng sau : net.ipv4.ip_forward=1 - điều này giúp cho giá trị của file ip_forward trong bước luôn có giá trị bằng 1 khi hệ thống khởi động.  bước 3: ta cấu hình NAT bằng các dòng lệnh sau : lưu ý: hệ thống có 2 interface như sau : INTERNET  eth1  eth2  internal network iptables -A FORWARD -o eth1 -i eth2 -s 192.168.193.0/24 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE  Bước 4: vì iptables sẻ bị xóa hết sau khi hệ thống khởi động lại nên ta phải sử dụng một scripts để có thể phục hổi cấu hình của iptales. Ta thực hiện như sau : Tạo 1 file trong /opt/iptable.script với các dòng lệnh sau: #!/bin/bash iptables -F iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -A FORWARD -o eth1 -i eth2 -s 192.168.193.0/24 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE Sau khi tạo xong bạn nên chmod để có thể chạy được file script: chmod 755 /opt/iptable.script Ta tạo thêm 1 file /etc/init.d/firewall với nội dung sau #!/bin/bash if [[ $1 == start ]] ; then sudo /opt/iptable.script else sudo iptables -F fi Ta dùng lệnh chmod như trên để có thê chạy được file chmod 755 /etc/init.d/firewall Ta dùng lệnh sau để có thể tạo script để start/stop firewall cd /etc/ update-rc.d firewall start 20 2 3 4 5 . stop 99 0 1 6 . 93 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 3. NAT inbound cho web server : Để người dùng bên ngoài có thể truy cập đến web server ta cấu hình iptables như sau : iptables -t nat -A PREROUTING -d 192.168.0.110 -i eth1 -p tcp - m tcp --dport 80 -j DNAT --to-destination 192.168.193.12:80 dòng lệnh trên có ý nghĩa là tất cả kết nối nào có địa chỉ đích là 192.168.0.110 đến từ interface mặt ngoài của firewall với protocol la TCP và port đích là 80 thì sẽ nat vào cho địa chỉ 192.168.193.12(địa chỉ web server ) với port 80. Nếu muốn lưu cấu hình này bạn nên làm lại bước 4 trong mục 2 phía trên. 94 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦN 5: WEB SERVER 1. Cài Đặt : Ta dùng lệnh sau để cài đặt sudo apt-get install apache2-doc 2.Cấu hình APACHE với LDAP : ta cấu hình file /etc/apache/apache.config 95 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Tại cuối file này ta comment dòng Include “/etc/apache2/sites-enabled/” thành “#Include /etc/apache2/sites-enabled/” Cũng trong file này ta thêm vào những dòng sau đây. DocumentRoot /home/vanhieugdpt ServerName www.hoasen.net Order deny,allow Allow from all Ta save lại và restart apache bằng lệnh Service apache2 restart Lúc này ta kiểm tra thì vào trang www.hoasen.net không cần chứng thực user! 96 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính Ba6ygio72 ta sẽ cấu hình Apache chứng thực thông qua LDAP. Trong file /etc/apache2/apache.conf ta cấu hình như sau : DocumentRoot /home/vanhieugdpt ServerName www.hoasen.net Order deny,allow Allow from all AuthType basic AuthName "vanhieugdpt" AuthzLDAPAuthoritative Off AuthBasicProvider ldap AuthLDAPURL ldap://dc.hoasen.net:389/ou=Users,dc=hoasen,dc=local?uid?on e?(objectClass=person) Require ldap-user user1 user2 Đoạn cấu hình trên sẽ yêu cầu chứng thực khi vào trang web www.hoasen.net với user có trên server LDAP Ta restart apache để thấy được hiệu quả! 97 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính 98 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính PHẦN 6 : CẤU HÌNH DHCP I. Chuẩn bị các thông tin : - ethernet device : eth0 - Ip range : 192.168.193.100 – 192.168.193.200 - Subnet address : 192.168.193.0 - Netmask : 255.255.255.0 - DNS server 192.168.193.11 - Domain : hoasen.net - Default Gateway Address : 192.168193.11 - Broadcast Address : 192.168.193.255 II. Cài đặt DHCP Server : sudo apt-get install dhcp3-server III. Cấu hình file /etc/default/dhcp3-server sudo gedit /etc/default/dhcp3-server Tìm dòng INTERFACES=”” và thay bằng INTERFACES=”eth0” 99 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính \ Save lại và thoát. IV. Cấu hình file pool: - Mở file /etc/dhcp3/dhcpd.conf - Tìm đến dòng 16. Có đoạn thông tin sau : #option definitions common to all supported networks... option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; Sửa thành : 100 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính -Tiếp tục, tìm đến dòng 53. Có đoạn như sau : # A slightly different configuration for an internal subnet. #subnet 10.5.5.0 netmask 255.255.255.224 { # range 10.5.5.26 10.5.5.30; # option domain-name-servers ns1.internal.example.org; # option domain-name "internal.example.org"; # option routers 10.5.5.1; # option broadcast-address 10.5.5.31; # default-lease-time 600; # max-lease-time 7200; #} Sửa thành : 101 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính V. Khởi động lại dịch vụ DHCP Server: sudo /etc/init.d/dhcp3-server restart 102 XÂY DỰNG HỆ THỐNG MẠNG UBUNTU Giảng viên hướng dẫn: Lưu Thanh Trà Khoa Khoa Học Công Nghệ Ngành : Mạng Máy Tính VI. Máy Client (XP, Ubuntu) thuê IP. 1. Máy XP : - Vào run, gõ cmd. - gõ ipconfig /release và ipconfig /renew - gõ lại ipconfig để kiểm tra IP của Client có đúng trong range đã cấp không. 2. XP : Terminal, gõ ifconfig để kiểm tra.

Các file đính kèm theo tài liệu này:

  • pdfXây dựng hệ thống mạng ubuntu.pdf
Luận văn liên quan