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 .
102 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3337 | Lượt tải: 5
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 2733 : 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 610: 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 1824 : 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 3741 : 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 4254: 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 4157 : 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:
- Xây dựng hệ thống mạng ubuntu.pdf