Linux còn cho phép dễ dàng thực hiện việc tích hợp nó và các hệ điều hành khác trong một mạng máy tính như Windows, Novell, Apple,…Ngoài ra, với tính năng mã nguồn mở, hệ điều hành này c
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC TỪ VIẾT TẮT 5
DANH MỤC BẢNG BIỂU 5
DANH MỤC HÌNH VẼ 6
LỜI NÓI ĐẦU 7
CHƯƠNG I: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX VÀ CÁC KHÁI NIỆM VỀ MẠNG LINUX……… 8
1.1 Tổng quan về HĐH Linux 8
1.1.1 Linux là gì ? 8
1.1.2 Lịch sử hệ điều hành Linux 9
1.1.3 Ưu và nhược điểm 10
1.1.4 So sánh HĐH Linux với các HĐH khác 12
1.2 Các khái niệm về mạng dùng Linux 17
1.2.1 Khái niệm mạng OSI và TCP/IP 17
1.2.2 Địa chỉ IP 20
1.2.3 Tên máy (hostname) 22
1.2.4 Bảng định tuyến 22
1.2.5 Một số lệnh cơ bản 23
1.2.6 NFS và NIS 24
1.2.7 Kết nối Internet 24
1.3 Làm quen với Linux, các lệnh cơ bản 27
1.3.1 Làm quen với Linux 27
1.3.2 Các lệnh cơ bản 29
1.4 Định hướng thực hiện đồ án 30
CHƯƠNG II: CẤU HÌNH DHCP SERVER 32
2.1 Giới thiệu về DHCP server 32
2.1.1 Khái niệm về DHCP server 32
2.1.2 Các đặc trưng của DHCP 33
2.1.3 Hoạt động của DHCP 34
Trang 22.1.4 So sánh BOOTP với DHCP 35
2.1.5 Cấu trúc gói tin DHCP 36
2.2 Tìm kiếm và cài đặt gói DHCP 37
2.2.1 Tìm kiếm gói DHCP 37
2.2.2 Cài đặt gói DHCP 37
2.3 Khởi động DHCP server 42
2.4 Máy chủ DHCP có nhiều NIC 44
2.4.1 Giải pháp tạm thời 44
2.4.2 Giải pháp lâu dài 45
2.5 Cấu hình máy khách để dùng DHCP 45
2.6 Sử dụng một máy chủ DHCP cho nhiều mạng 45
CHƯƠNG III: CẤU HÌNH DNS SERVER 49
3.1 Tổng quan 49
3.2 Hệ thống tên miền (Domain Name System) 50
3.2.1 Lịch sử phát triển hệ thống tên miền 50
3.2.2 Mục đích của hệ thống tên miền (DNS) 51
3.3 Cấu trúc của hệ thống tên miền (DNS) 51
3.3.1 Cấu trúc cơ sở dữ liệu 51
3.3.2 Cấu trúc của tên miền 53
3.3.3 Máy chủ quản lý tên miền (Domain name server.dns) 54
3.4 Cơ chế phân giải tên 55
3.4.1 Phân giải tên máy tính thành IP 55
3.4.2 Phân giải IP thành tên máy tính 56
3.5 Các bản ghi thường có trong cơ sở dữ liệu của DNS serrver 56
3.5.1 Bản ghi SOA (Start of Authority ) 56
3.5.2 Bản ghi kiểu A 57
3.5.3 Bản ghi CNAME 58
3.5.4 Bản ghi MX 58
3.5.5 Bản ghi NS 58
3.5.6 Bản ghi PTR 59
3.6 Phân loại DNS server và đồng bộ dữ liệu giữa các DNS server 59
3.6.1 Phân loại DNS server 59
3.6.2 Sự uỷ quyền giữa các miền con (Delegating Subdomains) 60
Trang 33.7.1 Tìm kiếm và cài đặt gói Bind 63
3.7.2 Khởi động DNS Server 63
3.8 Cấu hình DNS Server 65
3.8.1 Tập tin “/etc/named.conf” 65
3.8.2 Cấu hình Primary Name Server 67
3.8.3 Cấu hình Secondary Name Server 69
3.9 Cấu hình Client 70
3.10 Chạy thử 70
CHƯƠNG IV: CẤU HÌNH WEB SERVER (APACHE SERVER)…….…… 71
4.1 Giới thiệu về Web server và Apache……… 71
4.1.1 Giới thiệu về Web server 71
4.1.2 Giới thiệu về Apache 72
4.2 Tìm kiếm và cài đặt gói Apache 72
4.2.1 Tìm kiếm gói Linux Apache 72
4.2.2 Cài đặt gói Linux Apache 73
4.3 Khởi động Apache 73
4.3.1 Khởi động Apache bằng câu lệnh 73
4.3.2 Khởi động Apache bằng cửa sổ service 75
4.4 Cấu hình DNS và DHCP cho Apache 76
4.5 Các bước cấu hình Apache 76
4.5.1 Vị trí đặt trang Web 76
4.5.2 Named Virtual Hosting 81
4.5.3 Địa chỉ IP cho Host ảo 82
4.5.4 Ví dụ địa chỉ IP cho host ảo……… 82
4.5.5 Host ảo và SSL 82
4.6 Cấu hình nhiều Site và nhiều địa chỉ IP 83
4.6.2 Kiểm tra Websie trước khi cố định DNS 85
4.6.3 Vô hiệu hoá Danh sách Thư mục 86
4.6.4 Thông báo các trang thiếu 86
4.7 Sử dụng nén dữ liệu trên các trang Web 86
4.8 Chạy Apache trên server đằng sau NAT Firewall 88
4.8.1 Bước 1: Cấu hình host ảo với nhiều địa chỉ IP 88
4.8.2 Bước 2: Cấu hình DNS 88
4.9 Bảo vệ các thư mục trang Web với mật khẩu 89
4.10 Thư mục conf.d 90
Trang 44.11 Xử lý các sự cố Apache 90
4.11.1 Kiểm tra kết nối HTTP 91
4.11.2 Bản tin “403 Forbidden” 91
4.11.3 Chỉ xuất hiện trang Apache mặc định 91
4.11.4 File httpd.conf không tương thích khi nâng cấp…… 91
4.11.5 Lỗi ServerName 92
4.11.6 File ghi trạng thái Apache 92
4.11.7 File ghi lỗi Apache 93
4.12 Tổng kết 93
KẾT LUẬN 94
TÀI LIỆU THAM KHẢO 95
Trang 5DANH MỤC TỪ VIẾT TẮT
BIND Berkeley Internet Name Domain
DHCP Dynamic Host Configuration Protocol
DNS Domain Name Service
ICANN Internet Coroperation for Assigned Names and Numbers IETF Internet Engineering Task Force
ISO International Organization for Standardization
NIC Network Interface Card
OSI Open Systems Interconnection reference model
PDU Protocol Data Unit
RNS Root name server
TCP/IP Transmission Control Protocol/ Internet Protocol
UDP User Data Protocol
DANH MỤC BẢNG BIỂU
Bảng 1.1: Các lớp địa chỉ IP 22
Bảng 1.2: Ví dụ tên máy 23
Bảng 2.1: So sánh DHCP với BOOTH 37
Bảng 2.2: Cấu trúc gói tin DHCP 37
Bảng 2.3: Giá trị của các loại bản tin DHCP 38
Bảng 3.1: Bảng các loại tên miền 54
Bảng 3.2: Các Root Server của DNS 55
Bảng 4.1: Bảng nhãn file ngữ cảnh bảo mật SELinux 80
Bảng 4.2: Bảng tổng kết web hosting 85
Bảng 4.3: Danh sách cách bố trí 93
Trang 6Bảng 4.4: Ví dụ mã trạng thái 94
DANH MỤC HÌNH VẼ Hình 1.1: Mô hình tham chiếu OSI 18
Hinh 1.2: Đóng gói dữ liệu trong mô hình OSI 20
Hình 1.3: So sánh với mô hình OSI với TCP/IP 21
Hình 1.4: Các giao thức của TCP/IP 21
Hình: 1.5: Ví dụ lệnh “netstat –ns” 24
Hình: 1.6: Ví dụ lệnh “netstat –ns” 24
Hình 1.7: Cửa sổ lựa chọn loại thiết bị kết nối vào mạng Internet 26
Hình 1.8: Ví dụ chọn modem 27
Hình 1.9: Ví dụ chọn ISP 27
Hình 1.10: Bảng tổng kết cấu hình modem 28
Hình 1.11:Kích hoạt modem 28
Hình 1.12: Giao diện đồ hoạ của Fedora khi bắt đầu làm việc 29
Hình 1.13: Mô hình cây thư mục trong Linux 30
Hình 2.1: Mô hình hoạt động của DHCP 34
Hinh 2.2: Thiết lập kết nối giữa server và client 35
Hình 2.3: Hộp thoại lệnh “/etc/init/dhcpd” 43
Hình 2.4: Hộp thoại lệnh “service” 44
Hình 2.5: Cửa sổ điều khiển DHCP 45
Hình 2.6: Ví dụ hoạt động DHCP 48
Hình 2.8: Ví dụ hoạt động DHCP 48
Hình 2.7: Ví dụ hoạt động DHCP 49
Hình 3.1: Cây CSDL DNS 51
Hình 3.2: Domain và Zone 53
Hình 3.3: Mô hình hoạt động của DNS 56
Hình 3.4: Ví dụ hoạt động DNS 62
Hình 3.5: Điều khiển BIND qua các lệnh 65
Hình3.6: Cửa sổ điều khiển BIND 66
Trang 7Hình 4.3: Cửa sổ SELinux 79
LỜI NÓI ĐẦU
Thế kỷ XXI, được coi như là kỷ nguyên của công nghệ thông tin với những nền tảng
đã có từ thế kỷ trước công nghệ thông tin ngày càng phát triển mạnh mẽ Một trong những ngành phát triển rất nhanh trong nền công nghiệp công nghệ thông tin là ngành mạng máy tính trên thế giới nói chung và Việt Nam nói riêng
Tuy nhiên, khi các ứng dụng ngày càng trở lên phức tạp đòi hỏi cần phải có một hệ điều hành đủ mạnh để có thể quản lý một cách hiệu quả và nhanh chóng Với các tính năng ổn định, mềm dẻo, Linux đang dần được sử dụng rộng rãi trên máy chủ cũng như máy trạm trong các mạng máy tính hiện nay Linux còn cho phép dễ dàng thực hiện việc tích hợp nó và các hệ điều hành khác trong một mạng máy tính như Windows, Novell, Apple,…Ngoài ra, với tính năng mã nguồn mở, hệ điều hành này còn cho phép khả năng tuỳ biến cao, thích hợp cho các nhu cầu sử dụng cụ thể
Trong những năm gần đây, hệ điều hành Linux đã được đưa vào sử dụng tại Việt Nam, nhiều tổ chức, công ty và các dự án tin học đã chọn Linux là môi trường để phát triển các ứng dụng của mình Nhận thấy vai trò, tầm quan trọng của hệ điều hành Linux trong hiện tại và tương lai và với mong muốn có thể nắm bắt các công nghệ đặc biệt là có thể quản trị hệ thống Linux Em đã chọn đề tài: “ Xây dựng cấu hình các ứng dụng phía server trong hệ điều hành Linux Fedora 5.0” là đề tài tốt nghiệp của
em
Bố cục của đề tài bao gồm 4 chương chính:
< Chương 1: Trình bày tổng quan về hệ điều hành Linux và các khái niệm cơ bản về mạng Linux, từ đó đề ra mục tiêu cho đồ án
< Chương 2: Các khái niệm về DHCP server và tiến hành cấu hình DHCP server
trong hệ điều hành Linux Fedora 5.0
< Chương 3: Nêu các khái niệm về DNS và quá trình cấu hình DNS server trên hệ điều hành Linux Fedora 5.0
< Chương 4: Cấu hình ứng dụng Web server trong hệ điều hành Linux, cụ thể là Apache
Em xin chân thành cảm ơn các thầy, cô giáo khoa công nghệ thông tin trường Đại học Xây dựng và đặc biệt là Thạc sĩ Bùi Thanh Hương đã giúp đỡ em hoàn thành đồ án này
Sinh viên thực hiện:
Trang 8Đoàn Tiến Dũng
CHƯƠNG I
TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX VÀ CÁC KHÁI
NIỆM VỀ MẠNG LINUX
1.1 < TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX
Linux là hệ điều hành thu hút được nhiều sự chú ý nhất trong vòng vài năm trở lại đây Ngay từ khi xuất hiện nó đã được lan rộng một cách nhanh chóng và biết tới như
hệ điều hành Unix với mã nguồn mở Thật ngạc nhiên, sự thành công của Linux có được nhờ sự làm lại một trong những hệ điều hành lâu đời nhất và vẫn đang được sử dụng rộng rãi.hệ điều hành Unix có nghĩa là Linux bao gồm cả công nghệ mới và cũ
Nhìn từ góc độ kỹ thuật, Linux chỉ là một nhân hệ điều hành, nó hỗ trợ đầy đủ các dịch vụ cơ bản về quản lý tiến trình, bộ nhớ ảo, quản lý các file và vào ra thiết bị Nói cách khác, bản thân Linux là phần thấp nhất của hệ điều hành
Tuy nhiên, phần lớn người dùng đều coi “Linux” như một hệ thống hoàn chỉnh gồm nhân hệ điều hành kèm theo các trình ứng dụng khác: một môi trường làm việc và phát triển đầy đủ bao gồm trình dịch, các hệ soạn thảo, giao diện đồ hoạ, xử lý văn bản,…Hiện nay, cho tới phiên bản Linux Fedora 5.0, Linux đã trở thành một hệ điều hành đầy đủ cho thương mại, giáo dục hoặc người dùng cá nhân
Linux có thể cài đặt trên một máy tính cá nhân và trở thành một trạm làm việc với đầy
đủ sức mạnh của Unix Linux cũng có thể được sử dụng với mục đích thương mại trên một mạng máy tính như một môi trường tính toán và truyền tin Ngoài chức năng trạm làm việc và người sử dụng đơn lẻ, Linux còn được sử dụng trên các máy chủ lớn Linux ngày càng tỏ ra là một hệ điều hành mạnh, ổn định còn được sử dụng để nối ghép nhiều máy tính với nhau tạo thành các “cluster” rất mạnh để giải quyết các nhu cầu tính toán hiệu quả cao
Điều làm cho Linux trở nên khác biệt đó là sử dụng mã nguồn mở Những mã nguồn
mở này do một nhóm phát triển tự nguyện trên mạng Internet, họ trao đổi mã nguồn, phát hiện và sửa lỗi sau đó phân phát lên mạng
1.1.1 Linux là gì ?
Trang 9Về phương diện kỹ thuật, Linux giống như Unix, là một hệ điều hành đa nhiệm do tác giả Linus Torvals thuộc trường Đại học Helsinki (Phần Lan) viết vào năm 1991, và phát hành theo bản quyền GNU General Public License
Linux là một hệ điều hành gọn nhẹ, rất mạnh, miễn phí có thể chạy trên nhiều phần cứng, từ các máy PC, Mac, cho đến Amigas, Alpha,… Linux còn là một công trình tập thể: hàng nghìn nhà phát triển trên khắp thế giới đã liên tục đóng góp các đặc tính, các cách chữa lỗi,… để hoàn thiện nó
Ngoài việc là một hệ điều hành miễn phí Linux còn là phần mềm có mã nguồn mở: có nghĩa là có thể dùng các chương trình có sẵn để chạy trên máy tính của mình, có thể sửa chữa, phát triển từ bộ mã nguồn mở theo sở thích của bản thân
Trong những năm gần đây, Linux đang ở thời kỳ phát triển, theo công ty Red Hat thống kê có khoảng 7 triệu người dùng Linux trên khắp thế giới, và có 750.000 server đang dùng Linux
1.1.2 Lịch sử hệ điều hành Linux
Linux bắt nguồn từ một hệ điều hành lớn hơn có tên là Unix Unix là một trong những
hệ điều hành được sử dụng rộng rãi nhất trên thế giới do tính ổn định và khả năng hỗ trợ của nó Ban đầu nó đã được phát triển như một hệ điều hành đa nhiệm cho các máy mini và các và các máy lớn (mainframe) trong những năm 70 Cho tới nay nó đã được phát triển trở thành một hệ điều hành phổ dụng trên toàn thế giới mặc dù với giao diện chưa thân thiện và chưa được chuẩn hoá hoàn toàn
Linux là phiên bản Unix được cung cấp miễn phí, ban đầu được phát triển bởi Linus Torvald năm 1991 khi còn là sinh viên của trường đại học Helssinki Phần Lan Hiện nay, Linus làm việc tại tập đoàn Transmeta và tiếp tục phát triển nhân hệ điều hành Linux (Linux Kernel)
Khi Linux tung ra miễn phí phiên bản đầu tiên của Linux (0.02) trên Internet, vô tình
đã tạo ra một làn sóng phát triển phần mềm lớn nhất từ trước tới nay trên phạm vi toàn cầu Hiện nay, Linux được phát triển và bảo trì bởi hành nghìn lập trình viên cộng tác chặt chẽ với nhau qua Internet Nhiều công ty đã xuất hiện, cung cấp Linux dưới dạng gói phần mềm để cài đặt hoặc cung cấp các máy tính đã cài sẵn Linux
Tháng 11 năm 1991, Linus đưa ra bản chính thức đầu tiên của Linux, phiên bản 0.02
Ở phiên bản này, Linus đã có thể chạy bash và gcc nhưng mới chỉ dừng lại ở đó Hệ thống chưa có các hỗ trợ người dùng và tài liệu hướng dẫn Các số hiệu phiên bản không ngừng gia tăng cùng với việc bổ sung thêm các tính năng mới Tháng 3/1994, phiên bản Linux 1.0 ra đời, đây là phiên bản tương đối ổn định Hiện nay, với phiên bản Linux 2.2.6 có thể làm việc trên môi trường đồ hoạ với các ứng dụng cao cấp như các tiện ích đồ hoạ và nhiều tiện ích khác
Trang 10Linux khó có thể thành công được như hiện nay nếu không có các công cụ GNU của
Tổ chức phần mềm miễn phí (Free Software Foundation) Trình dịch GCC của GNU
đã giúp cho việc viết mã của Linux dễ dàng hơn rất nhiều Thậm chí tổ chức này đã yêu cầu các bản Linux với các tiện ích kèm theo phải gọi là GNU/Linux
Hệ điều hành Berkley Unix cũng đóng một vai trò quan trọng đối với Linux trong việc làm cho hệ điều hành này trở nên phổ biến như hiện nay Hầu hết các tiện ích đi kèm với Linux được chuyển sang từ Berkley Unix, đặc biệt là các công cụ về mạng và các tiện ích
Hiện nay, Linux là một hệ điều hành Unix đầy đủ và độc lập Nó có thể chạy X Windows, TCP/IP, Emacs, Web, thư điện tử và các phần mềm khác Hầu hết các phần mềm miễn phí và thương mại đều được chuyển sang viết trên Linux và rất nhiều các nhà phát triển phần mềm cũng đã bắt đầu chuyển sang viết trên Linux Người ta đã thực hiện các phép benchmarks trên các hệ Linux và thấy rằng chúng thực hiện nhanh hơn khi thực hiện trên các trạm làm việc của Sun Microsystems và Compaq, thậm chí nhiều khi còn nhanh hơn cả trên Windows 98 và Windows NT Thật khó tin có thể hình dung được hệ điều hành Unix “tí hon” này phát triển nhanh như thế nào
Hệ điều hành Linux Fedora là một nhánh của hệ điều hành Linux Redhat với những phần mềm được cung cấp hoàn toàn miễn phí điều mà Redhat chưa hoàn thiện hoàn toàn Tuy vậy, các phần mềm mà Fedora cung cấp miễn phí không phải là những phần mềm có những tính năng vượt trội mà chỉ là những phầm mềm có những công cụ và tính năng cở bản nhất Mục đích của những nhà cung cấp khi tung Fedora ra thị trường đó là kiểm thử độ tin cậy và phản ứng của người dùng bởi về cơ bản Fedora giống như Redhat Tuy nhiên, đối với các doanh nghiệp quy mô vừa, nhỏ và đặc biệt
là những người muốn làm quen với Linux thì các phần mềm miễn phí mà Fedora cung cấp hoàn toàn có thể đáp ứng được nhu cầu công việc cũng như tìm hiểu của họ Hơn nữa sự tương tự trong cách sử dụng Fedora với các dòng hệ điều Linux khác giúp người sử dụng có thể dễ dàng tiếp cận nhu cầu Bản Linux Fedora 5.0 kế thừa các bản
cũ tức là có thể sử dụng giao diện đồ hoạ nên đơn giản hơn nhiều chỉ cần PC có bộ nhớ trong tối thiểu 128 MB là người dùng có thể sử dụng Fedora chế độ đồ hoạ
1.1.3 Ưu và nhược điểm của Linux
1.1.3.1 Ưu điểm
Linux là hệ điều hành mã nguồn mở, được cung cấp miễn phí cho người sử dụng Nó
có khả năng đa nhiệm, đa xử lý, hỗ trợ mạng khả năng tương thích phần cứng và nhiều tính năng khác Sau đây là các tính năng mà có được từ hệ điều hành Linux:
Trang 11dụng so với hầu hết các hệ điều hành khác Người dùng Linux sẽ không phải lo lắng đến chuyện máy tính bị hiện tượng “treo cứng” khi đang sử dụng nó nữa Thông thường lý do bắt buộc phải khởi động lại máy tính là do hệ thống mất điện, nâng cấp phần cứng hoặc phần mềm
+ Tính bảo mật: Khi làm việc trên Linux người dùng có thể yên tâm hơn về tính bảo mật của hệ điều hành Linux là hệ điều hành đa nhiệm, đa người dùng, điều này có nghĩa là nhiều người dùng có thể vào phiên làm việc của mình trên cùng một máy và cùng tại một thời điểm Linux cung cấp các mức bảo mật khác nhau cho người dùng, mỗi người sử dụng chỉ làm việc trên một không gian tài nguyên dành riêng
+ Tính hoàn chỉnh: Bản thân Linux được kèm theo các trình tiện ích cần thiết Tất cả các trình tiện ích mà người dùng mong chờ đều có sẵn hoặc ở dạng tương đương rất giống trên Windows Trên Linux, các trình biên dịch như C, C++,… các hạt nhân hay TCP/IP đều được chuẩn hoá
+ Tính tương thích: Linux tương thích hầu như hoàn toàn với một số chuẩn Unix như IEEE POSIX.1, Unix System V và BSD Unix Trên Linux cũng có thể tìm thấy các trình giả lập của DOS và Windows cho phép có thể chạy các ứng dụng quen thuộc trên DOS và Windows Linux cũng hỗ trợ hầu hết các phần cứng máy PC (Personal Computer)
+ Hệ điều hành 32<bit đầy đủ: Ngay từ đầu Linux là hệ điều hành 32 bit đầy đủ Điều đó có nghĩa là người dùng không còn phải lo về các giới hạn bộ nhớ, các trình điều khiển hay các bộ nhớ mở rộng,… khi sử dụng Linux
+ Dễ cấu hình: Người dùng không còn phải bận tâm về các giới hạn 640K và tiến hành tối ưu hoá bộ nhớ mỗi lần cài đặt một tiến trình điều khiển mới Linux cho phép hầu như hoàn toàn quyền điều khiển về cách làm việc của hệ thống
+ Khả năng làm việc trên nhiều loại máy: Cấu hình phần cứng tối thiểu mà Linux cần chỉ là chip 80386, 2M bộ nhớ, 10.20 Mb không gian đĩa để bắt đầu Càng bổ sung phần cứng như tốc độ CPU, dung lượng RAM,… thì Linux chạy càng nhanh Linux
có khả năng chạy trên nhiều dòng máy tính khác nhau như Apple, Sun, Dec Alpha và Power PC
1.1.3.2 Nhược điểm
+ Khó quản trị:
Cũng như hệ Unix khác, việc quản trị hệ thống Linux nói chung là một việc tốn khá nhiều công sức Công việc này không những đòi hỏi sự hiểu biết về hệ thống, về mạng máy tính mà còn đòi hỏi đức tính cẩn thận, kiên trì, đầu óc tổ chức của người quản trị + Giao diện người dùng chưa thân thiện:
Mặc dù trong những năm gần đây, ở các phiên bản mới nhất như Redhat 6.1, Fedora 5.0,…Linux đã có giao diện đồ hoạ (GUI<Graphic User Interface) cho phép sử dụng
Trang 12chuột, bàn phím,… các màn hình đồ hoạ giúp cho người sử dụng có cách nhìn trực quan hơn Tuy nhiên độ thân thiện chưa cao, chính nhược điểm này mà Linux chỉ được những người chuyên làm về Linux hoặc những kỹ sư chuyên về công nghệ thông tin sử dụng Còn đại bộ phận người dùng vẫn sử dụng các hệ điều hành khác có giao diện thân thiện hơn nhiều như Microsoft Windows,…
+ Chưa được chuẩn hoá hoàn toàn:
Mặc dù từ khi ra đời cho tới nay đã được một khoảng thời gian khá dài nhưng Linux vẫn chưa được chuẩn hoá hoàn toàn Có nhiều các tổ chức công ty đưa ra các phiên bản khác nhau như Redhat, Fedora, Caldera Open Linux, Slackware, S.u.s.e,… Với mỗi phiên bản khác nhau lại có các điểm mạnh yếu khác nhau nhưng chúng vẫn cùng nhân như nhau, mặc dù là giữa chúng vẫn có khả năng tương thích với nhau nhưng chưa phải là hoàn toàn Nguyên nhân xuất phát chính từ lợi thế của Linux đó là sử dụng mã nguồn mở, do tất cả mọi người dùng đều có thể chỉnh sửa, phát triển từ các
mã nguồn mở nên mỗi phiên bản của mỗi tổ chức, công ty lại đi theo các hướng khác nhau gây ra tình trạng chuẩn hoá không hoàn toàn
1.1.4 So sánh HĐH Linux với các HĐH khác
Một điều rất quan trọng khi sử dụng Linux là phải nắm được sự khác nhau giữa Linux với các hệ điều hành khác như MS.DOS, OS/2, và sự hoạt động của Unix trên các máy tính cá nhân Tuy nhiên, trong phạm vi của đồ án tốt nghiệp này em chỉ đi sâu vào việc phân tích rõ sự khác nhau của Linux với MS.DOS bởi MS.DOS là tiền thân của hệ điều hành MS Windows vốn là một hệ điều hành mà các cá nhân sử dụng rất phổ biến hiện nay
1.1.4.1 So sánh Linux với MS<Dos
+ Các tiến trình
Trong Dos, khi một chương trình được nạp vào bộ nhớ thì việc giải phóng nó ra khỏi
bộ nhớ là rất khó khăn Đó là do khi giải phóng một tiến trình này có khi phải giải phóng hết các tiến trình khác trước nó, đây chính là cơ chế xếp chồng của các tiến trình Trong khi đó, với Linux việc giái phóng của một tiến trình này không ảnh hưởng đến các tiến trình khác, chính vì thế mà sự hoạt động của Linux thanh thoát và nhẹ nhàng hơn nhiều so với các dòng hệ điều hành của Windows Linux dễ dàng điều khiển hoạt động của các tiến trình đang chạy như MS.Dos tức là không bắt buộc phải đóng theo thứ tự chúng đã được mở
Linux có khả năng tạo ra các vùng tráo đổi (swap space) Vùng tráo đổi là một phần đĩa cứng được dùng làm bộ nhớ ảo Các tiến trình không hoạt động hoặc đang chờ
Trang 13phóng không gian cho một tiến trình khác Khi tiến trình này cần sử dụng lại CPU, nó
sẽ được tráo đổi trở lại RAM nơi nó sẽ bắt đầu lại tiến trình Tuy nhiên, nếu có quá nhiều phân trang cùng một lúc có thể gây đổ vỡ, ở đó không còn thời gian dành cho các tiến trình Linux có khả năng để ngăn ngừa khả năng đổ vỡ đó tuy nhiên vẫn có thể xảy ra
+ Các kênh vào ra chuẩn STDIN, STDOUT, và STDERR
Linux đưa ra khái niệm các kênh vào ra chuẩn STDIN, STDOUT, và STDERR Trong đó:
STDIN (Standard Input): là kênh vào chuẩn của một chương trình
STDOUT (Standard Output): là kênh xuất chuẩn của các chương trình
STDERR (Standard Error): là kênh lỗi chuẩn
+ Các tuyến dẫn và tuyến điều hướng
Các tuyến dẫn và tuyến điều hướng như đã đề cập sơ qua ở phía trên cũng tồn tại trong Dos Các tuyến dẫn cho phép trực tiếp gửi kết xuất của một chương trình sang thành đầu vào của một chương trình khác Tuyến điều hướng cho phép sử dụng một tệp thay cho STDIN, STDOUT, STDERR Ví dụ có thể dùng một tuyến dẫn hoặc tuyến điều hướng nếu chạy một trong hai lệnh dưới đây:
more < file.txt type file.txt l more Các lệnh trên đây cho ra cùng kết xuất, song bằng hai biện pháp khác nhau Trong cách thứ nhất, tệp có tên file.txt được dùng làm đầu vào chuẩn cho lệnh more thay vì
gõ từ bàn phím Phương pháp thứ 2 sử dụng lệnh type để đọc vào tệp file.txt và gửi nó
ra khỏi STDOUT để STDIN của lệnh more tiếp nhận
+ Các file thực thi được kết nối động
Trên hệ điều hành Dos, các chương trình được biên dịch và liên kết với tất cả các hàm bên trong thành một tệp thực thi duy nhất gọi là tệp kết nối tĩnh Các thư viện của tệp kết nối tĩnh sẽ không thay đổi trừ khi người dùng biên dịch lại chương trình Hệ điều hành MS Windows đưa ra một ý tưởng tương tự như trong Linux đó là thư viện kết nối động (Dynamically Linhked Library) Có nghĩa là có thể tạo ra một tệp thi hành nhỏ hơn bằng cách lưu trữ các hàm C chung (như printf()) tại một tệp thi hành nhỏ hơn bằng cách lưu trữ các hàm đó Điều này có một số ưu điểm sau:
* Các thư viện của chương trình có thể thay đổi dễ dàng Nếu các tiến trình tạo
mã bên trong của một hàm như printf() thay đổi, không cần biên dịch lại toàn
bộ phần mềm Chỉ cần cài đặt các hàm thư viện mới và tiếp tục chạy các chương trình
Trang 14* Các tệp thi hành chiếm ít chỗ hơn Nếu có 1000 chương trình mà mỗi chương trình dành 5K cho các hàm C, tổng cộng sẽ lên tới 5MB với 1000 tệp Tuy nhiên, nếu có một vị trí cho tất cả các hàm C chung, nó có thể chiếm 600K, chứa thêm 5K cho các hàm Dùng vị trí tập trung có thể giúp tiết kiệm được trên 4MB trong tình huống này
Hệ thống kết nối động này cũng có các nhược đỉểm sau:
a) Các tệp thi hành khởi động chậm hơn do lõi phải nạp thêm các tệp để khởi động chương trình, một chương trình nối kết động sẽ nạp lâu hơn so với chương trình kết nối tĩnh
b) Nếu vô tình xoá các thư viện mà Linux đang sử dụng, nhiều chương trình sẽ không làm việc
c) Tốt hơn nên sử dụng các thư viện bởi có những trường hợp một chương trình cần
sử dụng các thư viện mà có thể chưa cài đặt Nếu không có các thư viện sẽ phải tìm chúng hoặc dùng một phiên bản nối kết tĩnh của chương trình Điều này không xảy ra thường xuyên bởi hầu hết các thư viện mà kết nối đều có trong các bản phân phối của Linux
+ Cấu trúc ổ đĩa
Linux lưu trữ các tệp không theo các ổ đĩa A: hoặc C: như trong DOS hoặc MS Windows.Trong DOS, trước tiên phải phân hoạch ổ đĩa bằng một chương trình như FDISK để báo cho ổ đĩa biết nó sẽ được tách ra như thế nào Sau đó dùng lệnh FORMAT để xác lập phân hoạch đó sẽ dùng trong DOS
Trong Linux, vẫn phải phân hoạch ổ đĩa vật lý để tách riêng nó sau đó dùng một chương trình như mke2fs để định dạng phân hoạch Người dùng chỉ làm việc với một
ổ đĩa, và mọi thứ được nêu theo dạng các thư mục con của ổ đĩa Có một thư mục gốc (root directory), đó là thư mục ráp nối mọi thứ từ đó Có một hệ thống tệp trong thư mục gốc ( thư mục / ), một hệ thống tệp khác cho các lệnh người dùng (như thư mục /usr) và một hệ thống tệp khác cho không gian người dùng (thư mục /home hoặc user) Khi Linux khởi tạo, nó dựng lên (mount) thư mục gốc, sau đó tất cả các hệ thống tệp khác đều được dựng lên từ thư mục này Có vài ưu điểm khi dùng hệ thống này, thứ nhất có thể bổ sung vào tổng không gian hệ thống bằng cách bổ sung các phân hoạch Nếu thấy thư mục con /usr/x11r6 chiếm nhiều chỗ hơn /usr, có thể tạo một hệ thống tệp mới Có thể tạo hệ thống mới từ phần còn trống của một ổ đĩa hoặc ổ đĩa mới, sau
đó ráp nối phân hoạch mới làm /usr/x11r6
Thứ hai, phần lớn các thay đổi trong phân hoạch đều vô hình với cả người dùng lẫn các chương trình của người dùng Trong khi, DOS cần tên ổ đĩa và thư mục thì Linux
Trang 15Linux hiểu các ổ đĩa vật lý như đĩa mềm 3.5”, là những tệp đặc biệt nằm trong thư mục /dev Các ổ đĩa cứng được hiểu theo 2 cách: ổ đĩa vật lý hoặc một phân hoạch trên ổ đĩa vật lý đó Các mục ổ đĩa cứng trong /dev là các tiếp đầu ngữ có hd (hard disk) để chỉ ổ đĩa cứng, theo sau đó là ký tự ‘a’ cho ổ đĩa vật lý đầu tiên, ký tự ‘b’ cho
ổ đĩa vật lý thứ 2,…
+ Cấu trúc thư mục
Để các chương trình làm việc được với nhau, Linux đã xác lập một cấu trúc thư mục
mà hầu hết mọi người dùng phải tuân theo Dự án FSSTND ( File System Standard chuẩn cho hệ thống file) là dự án về cách xác lập chuẩn của các thư mục Sau đây là một số thư mục được đề nghị của dự án:
/etc Cấu hình hệ thống
/usr/bin Chứa các lệnh người dùng
/dev Các tệp thiết bị
/home Các thư mục người sử dụng
/usr/local Các chương trình phụ trợ không thuộc thành phần của một hệ thống thông thường
/usr/src Vị trí mã nguồn (bao gồm cả mã nguồn Linux)
/usr/lib Các tệp thư viện của các chương trình người sử dụng
/usr/include Các tệp include chuẩn của C
/usr/man Các tài liệu trực tuyến
/usr/log Các tệp nhật ký người sử dụng và đăng nhập hệ thống
+ Các tệp đặc biệt
Có 5 kiểu tệp chính là: file (tệp), directory (thư mục), link (liên kết), named pipe (tuyến dẫn có tên) và device file (tên thiết bị) Kiểu file, thư mục, named pipe đã quen thuộc với nhiều người, sau đây sẽ xét các kiểu tệp khác sau:
* Các liên kết: DOS cung cấp các lệnh như subst và joint làm cho một thư mục xuất hiện như một ổ đĩa tách biệt Linux hỗ trợ liên kết ở mức mạnh hơn, nó cho phép một tệp tồn tại trong một thư mục trong khi bản thân nó thực sự tồn tại trong một thư mục khác
* Các tệp thiết bị: Linux quản lý các thiết bị ngoaị vi qua các tệp thiết bị, khi người dùng muốn làm việc với một thiết bị, thay vì làm việc trực tiếp qua các cổng có thể làm việc với các tệp thiết bị tương ứng với nó
+ Shell
Chương trình Shell của Linux cung cấp các chức năng giao tiếp giữa người sử dụng
và hệ thống Nó có nhiều điểm giống với command.com trên DOS:
Các biến môi trường: Là các biến tham số hệ thống Các biến này có thể thay
Trang 16đổi theo từng người sử dụng hoặc theo từng phiên làm việc của người sử dụng Các chương trình chạy khi khởi động
Dấu nhắc hệ thống
Tuy nhiên, shell trong Linux mạnh hơn command.com rất nhiều, nó cung cấp rất nhiều khả năng khác mà DOS không có
+ Hệ thống X<Windows
Hệ thống X.Windows (cửa sổ X) cung cấp giao diện đồ hoạ cho người sử dụng Linux,
nó gần giống với MS Windows, tuy nhiên hơi khó dùng nhưng cho phép người sử dụng quyền điều khiển và khả năng cấu hình nhiều hơn
+ TCP/IP và mạng
Ngay từ đầu, Linux đã là một hệ điều hành mạng, do đó nó tương thích với giao thức TCP/IP và các giao thức trên mạng khác Hệ thống NFS (Network File System) và NIS (Network Information Service) cho phép người sử dụng có thể đăng nhập và làm việc từ bất kỳ máy tính nào trên mạng như là trên một máy duy nhất
Linux là một hệ điều hành mạng nên Linux cho phép các máy tính nối lại với nhau thành một mạng để trao đổi thông tin và chia sẻ tài nguyên giữa các máy với nhau Người sử dụng có thể đăng nhập vào hệ thống tại bất kỳ máy nào trong mạng giống như khi làm việc trên một máy duy nhất Linux cũng cũng hỗ trợ các giao thức cần thiết để có thể kết nối với mạng Internet
Internet là mạng máy tính lớn nhất thế giới, hoặc chính xác hơn là mạng của các mạng, tức là bao gồm nhiều mạng máy tính được nối lại với nhau Một số mạng máy tính bao gồm một máy tính trung tâm và nhiều máy khác nối vào nó Các mạng khác,
kể cả Internet, có quy mô lớn hơn, bao gồm nhiều máy chủ và cho phép bất kỳ một máy tính nào trong mạng có thể kết nối với bất kỳ máy nào khác để trao đổi thông tin thoải mái với nhau.Mạng của các trường đại học và viện nghiên cứu là những thành viên lâu đời của Internet Số người dùng gia nhập Internet tăng với tốc độ rất nhanh theo ước tính con số này là 20 triệu tính đến cuối năm 2005
1.1.4.2 So sánh Linux với Unix
Do Linux được phát triển từ Unix nên Linux có những điểm giống Unix đó là: cả hai đều xây dựngtừ kiến trúc 80386 đây là công nghệ từng được coi như là đột phá trong công nghệ dành cho các máy tính cá nhân Phần lớn tất cả các phiên bản Linux và Unix đều hỗ trợ cùng một loại phần mềm, cùng môi trường làm việc, và các nét đặc trưng mạng
Tuy nhiên, do phát triển sau nên Linux có những điểm phát triển hơn nhiều so với Unix Cụ thể như sau:
Trang 17Linux hỗ trợ hầu hết các thiết bị phần cứng nổi tiếng nhưng sự hỗ trợ đó vẫn còn có giới hạn để cho các nhà phát triển có không gian phát triển tiếp Trong khi các nhà cung cấp Unix có khuynh hướng hỗ trợ các phần cứng nguyên thuỷ thì danh sách phần cứng mà Linux hỗ trợ ngày càng dài thêm
Nhiều người dùng cho rằng Linux có tính ổn định không kém gì Unix mặc dù Linux vẫn còn được phát triển thêm
Một nhân tố rất quan trọng góp phần làm cho Linux được đánh giá cao đó chính là vấn đề chi phí Phần mềm Linux miễn phí nên có thể tải xuống từ Internet hoặc mạng máy tính khác Nếu không thể truy cập Internet thì vẫn
có thể mua các đĩa Linux với giá cả rẻ hơn rất nhiều so với các phần mềm và
ra một bộ luật Kết quả là vào năm 1984 mô hình tham chiếu OSI (Open Systems Interconnection reference model ) đã được công bố với 7 lớp
Bẩy lớp trong mô hình tham chiếu OSI:
Hình 1.1: Mô hình tham chiếu OSI Lớp 7: Application (Ứng dụng)
Đây là lớp gần gũi với người dùng nhất, nó cung cấp các dịch vụ mạng cho các ứng dụng của người dùng Khác với các lớp khác ở chỗ không cung cấp các dịch vụ cho
Trang 18bất kỳ lớp nào, thay vào đó nó chỉ cung cấp các ứng dụng nằm bên ngoài mô hình OSI như xử lý bằng bảng tính, các chương trình xử lý văn bản, đồ hoạ, các chương trình đầu cuối,…
Đơn vị dữ liệu giao thức PDU (protocol data unit) là: data
Lớp 6: Presentation (Trình bày)
Lớp 6 bảo đảm thông tin mà lớp ứng dụng của một hệ thống đầu cuối gởi đi lớp ứng dụng của hệ thống khác có thể hiểu được Nó có thể thông dịch giữa nhiều dạng dữ liệu khác nhau thông qua một dạng chung Đơn vị dữ liệu giao thức PDU (protocol data unit) là: data
Lớp 5: Session (Phiên)
Thiết lập, quản lý và kết thúc các phiên thông tin giữa 2 chủ thể truyền nhận Lớp phiên cung cấp các dịch vụ của nó cho lớp trình bày Nó cũng đồng bộ hội thoại giữa hai lớp trình bày của 2 host và quản lý các cuộc trao đổi dữ liệu giữa chúng Bên cạnh
sự điều khiển phiên làm việc, lớp phiên còn chuẩn bị những thứ cần thiết cho truyền
dữ liệu hiệu quả, phân lớp dịch vụ và thông báo mở rộng các sự cố của lớp phiên, lớp trình bày và lớp ứng dụng Đơn vị dữ liệu giao thức PDU (protocol data unit) là: data Lớp 4: Transport (Vận chuyển)
Phân đoạn dữ liệu từ hệ thống host truyền và tái thiết lập dữ liệu vào một luồng dữ liệu tại hệ thống host nhận Ranh giới giữa lớp vận chuyển và lớp phiên có thể được xem như ranh giới giữa giao thức ứng dụng (application protocol) và giao thức luồng
dữ liệu (data flow protocol) Trong khi các lớp ứng dụng, lớp trình bày và lớp phiên liên quan mật thiết đến ứng dụng thì 4 lớp dưới liên quan đến việc truyền dữ liệu Lớp 4 sử dụng 2 giao thức chính sau để truyền dữ liệu:
< TCP
< UDP
Ngoài ra, chúng còn sử dụng các cơ chế như điều khiển luồng, kiểm soát lỗi, bắt tay 3 bước để thiết lập kết nối để nâng cao chất lượng dịch vụ và độ tin cậy Đơn vị dữ liệu giao thức PDU (protocol data unit) là: segments
Lớp 3: Network (Mạng)
Đây là lớp phức tạp bậc nhất, nó cung cấp kết nối và định tuyến giữa 2 hệ thống host
ở các mạng tách biệt về mặt địa lý Đơn vị dữ liệu giao thức PDU (protocol data unit) là: packets
Lớp 2: Data Link ( Liên kết dữ liệu)
Cung cấp khả năng chuyển dữ liệu tin cậy xuyên qua một lớp liên kết vật lý Trong khi làm công việc này, lớp liên kết dữ liệu gắn liền với lược đồ đánh địa chỉ vật lý,
Trang 19Dưới đây mà hình mô tả cách đóng gói dữ liệu từ tầng 7 xuống tấng 1 trong mô hình tham chiếu OSI
Hinh 1.2: Đóng gói dữ liệu trong mô hình OSI 1.2.1.2 Mạng TCP/IP
Mô hình tham chiếu OSI được chấp nhận rộng rãi khắp thế giới nhưng chuẩn mở về
kỹ thuật mang tính lịch sử của Internet lại là TCP/IP ( Transmission Control Protocol/ Internet Protocol ) Có thể truyền dữ liệu giữa 2 máy tính bất kỳ nơi nào trên thế giới với tốc độ gần bằng tốc độ ánh sáng Bộ quốc phòng Mỹ gọi tắt là DoD ( Department of Defense ) đã tạo ra mô hình này với mục đích ban đầu là mạng có thể tồn tại trong bất kỳ điều kiện nào ngay cả khi có chiến tranh hạt nhân Với tham vọng
là các gói dữ liệu xuyên suốt mạng vào mọi lúc, dưới bất cứ điều kiện nào
Mô hình TCP/IP có 4 lớp:
Lớp ứng dụng : Application
Lớp vận chuyển : Transport
Trang 20Lớp liên kết mạng : Internet
Lớp truy nhập mạng: Network Access
Hình 1.3: So sánh với mô hình OSI với TCP/IP Trong đó:
Lớp ứng dụng: Chức năng tương đương với lớp ứng dụng và lớp phiên của mô hình OSI
Lớp vận chuyển: Tương đương với lớp vận chuyển của mô hình OSI
Lớp Internet: Chức năng tương đương với lớp mạng của mô hình OSI
Lớp truy xuất mạng: Chức năng tương đương với lớp liên kết dữ liệu và lớp vật lý của mô hình OSI
Hình 1.4: Các giao thức của TCP/IP 1.2.2 Địa chỉ IP
Trong mạng TCP/IP, mỗi máy tính được định danh bởi địa chỉ IP gồm 32 bit được viết dưới dạng: ‘a.b.c.d’, trong đó a,b,c,d là các hệ số hệ 10 biểu diễn giá trị các số nhị
Trang 21< địa chỉ mạng><địa chỉ máy > (hay <network address><host address>) Phần địa chỉ mạng nằm ở các bit cao, còn phần địa chỉ máy nằm ở các bit thấp, và độ dài của các trường này phụ thuộc vào lớp địa chỉ mạng được sử dụng
Có 3 lớp địa chỉ và một vùng địa chỉ để dành như sau:
Các bit cao
đầu tiên
Miền giá trị của a
Lớp địa chỉ Phần địa chỉ
mạng
Phần địa chỉ máy
để lưu địa chỉ của các mạng con ấy
Một số giá trị đặc biệt (của byte cao):
0: Địa chỉ của những máy lúc khởi động khi chúng chưa biết IP riêng của nó 127: Là địa chỉ “loopback” dùng để một máy muốn tạo liên kết TCP/IP tới chính nó
224.254: Địa chỉ để dành
255: Địa chỉ quảng bá
Mặt nạ của mạng con (subnet mask):
Các bit của mặt nạ có giá trị 1 sẽ chỉ ra rằng các bit ở vị trí tương ứng trong địa chỉ IP
sẽ thuộc phần địa chỉ mạng Còn các bit của mặt nạ có giá trị 0 sẽ chỉ ra rằng các bit ở
vị trí tương ứng trong địa chỉ IP sẽ thuộc phần địa chỉ máy Người quản trị sẽ tự chọn mặt nạ mạng và cung cấp thông tin này cho máy con của nó Riêng địa chỉ “loopback” (địa chỉ Ip tương ứng là: 127.0.0.1) luôn có mặt nạ là 255.0.0.0
Một số địa chỉ đặc biệt sử dụng trong mạng TCP/IP
Địa chỉ mạng con (subnetwork address): Đây chính là phần địa chỉ mạng con của địa chỉ IP và được xác định bởi mặt nạ mạng
Địa chỉ quảng bá (broadcast address): Địa chỉ này được sử dụng khi muốn chuyển một gói tin tới mọi máy tính trong mạng con
Địa chỉ của “gateway”: Là địa chỉ của những máy tính được cung cấp các phần mềm, các công cụ kiểm soát thích hợp nhằm cho phép các mạng giao tiếp được với nhau (dù chúng có thể sử dụng các giao thức khác nhau) Các thiết bị thực
Trang 22hiện việc kết nối các máy trong mạng này với các mạng khác có thể là các router, gateway
Địa chỉ IP của ‘name.server’: Đây chính là địa chỉ IP của máy tính đảm nhận việc chuyển đổi từ ‘hostname’ thành địa chỉ IP tương ứng Địa chỉ này sẽ được cung cấp bởi người quản trị
1.2.3 Tên máy (hostname)
Trong giao tiếp trên mạng, có thể dùng ‘hostname’ hoặc địa chỉ IP tương ứng Ví dụ:
128.17.112.40, 128.17.30.1 Bảng 1.2: Ví dụ tên máy
Mỗi hostname có thể có một hay nhiều địa chỉ IP, trong ví dụ trên máy của Tran Kien
và Tien Hoang có 2 địa chỉ Việc chuyển từ ‘hostname’ sang địa chỉ IP tương ứng được hệ thống thực hiện nhờ file ‘/etc/hosts’ hoặc nhờ DNS (Domain Name Service<DNS)
1.2.4 Bảng định tuyến
Việc xác định đường dẫn diễn ra tại lớp 3 (lớp mạng) Nó cho phép một thiết bị lớp 3 như router ước lượng được các đường dẫn có sẵn đi đến đích, và thiết lập một tuyến thích hợp cho một gói Các dịch vụ tìm đường dùng thông tin về topo mạng khi đánh giá các đường dẫn mạng Sự xác định đường dẫn là quá trình router dùng để chọn hop (hop là đơn vị đo chiều dài đường vật lý nối giữa hai nút mạng) kế tiếp trên đường dẫn các gói tin đến đích của nó Đây chính là quá trình định tuyến cho gói tin
Sự xác định đường dẫn cho một gói tin có thể so sánh với một người lái xe đi từ điểm
A tới điểm B trong thành phố Người lái xe có một bản đồ hướng dẫn các con đường
mà anh ta có thể đi được tới đích Anh ta phải chọn con đường nào mà đi thuận lợi nhất, đây cũng tương tự như chức năng của một thiết bị định tuyến trong mạng Các router cũng có có thể đưa ra các quyết định căn cứ vào mật độ tải và tốc độ của liên kết (băng thông), giống như người lái xe chọn một tuyến đường thuận lợi nhất Tuỳ thuộc vào các giao thức định tuyến khác nhau thì sẽ có các yếu tố khác nhau để đánh giá xem con đường nào là phù hợp nhất tức là cùng một con đường đi từ A tới B các giao thức khác nhau sẽ có đường phù hợp nhất khác nhau
Trang 23mạng Bảng chọn đường này sẽ chứa danh sách các mạng và các ‘gateway’ tương ứng của chúng Khi nhận một gói tin, các thiết bị định tuyến trong mạng (thường là các router) sẽ so sánh địa chỉ đích của gói tin với các địa chỉ IP đích (đã được lưu trong bảng định tuyến) để tìm ra địa chỉ đích thích hợp và địa chỉ gateway tương ứng để chuyển gói tin tới Nếu không tìm thấy địa chỉ nào trong bảng định tuyến phù hợp với địa chỉ đích của gói tin vừa nhận thì nó sẽ tự động gửi gói tin tới default gateway Quá trình này sẽ được tiếp tục cho đến khi gói tin được chuyển tới đích
Để có thể xem được nội dung bảng định tuyến dùng lệnh netstat –nr Các mạng với một gateway là 0.0.0.0 thường được kết nối thẳng tới cổng, đường dẫn với địa chỉ đích là 0.0.0.0 là default gateway (cổng ra mặc định)
Trong ví dụ dưới đây có 2 cổng ra (gateway), mặc định và một tới 255.255.255.255 là thêm vào cho máy chủ DHCP, máy chủ là DHXD:
Trang 24rlogin: cho phép người sử dụng ở các ‘terminal’ khác nhau có thể kết nối (connect) với nhau
telnet: cho phép người sử dụng kết nối tới hệ thống khác
talk: cho phép nói chuyện trực tiếp với một người dùng (user) đang làm việc trên một máy khác
finger: cho phép nhận các thông tin về các user của mộtmáy tính khác ở xa rsh: thực hiện một công lệnh shell trên một máy tính khác ở xa
who: dùng để liệt kê các user đang login vào máy hiện tại
ifconfig: lệnh cho phép cấu hình các giao thức trên mạng
route, routed: cấu hình việc chọn đường cho các gói tin trên mạng
netstat: hiển thị mọi liên kết đang hoạt động trên máy hiện tại
netstat9rn: cho phép hiển thị bảng định tuyến
1.2.6 NFS và NIS
< NFS (Network File System): cho phép làm việc (truy cập) tới một hệ thống file khác ở xa như làm việc với hệ thống file được lưu trữ trực tiếp trên máy
< NIS (Network Informatinon Service): cho phép quản trị cấu hình của toàn bộ
hệ thống và tập trung hoá một số công việc về quản trị trên toàn mạng
Cả NFS và NIS đều hoạt động dưới mạng TCP/IP, trên hệ điều hành UNIX cũng như không UNIX
Muốn kết nối Internet cần phải qua một thiết bị chuyển đổi tín hiệu như modem, cổng ethernet,…Tuy nhiên, hệ điều hành Linux Fedora không tự nhận thiết bị hay cổng này
mà người dùng phải khai báo cho hệ thống biết Sử dụng cửa sổ “Network Configuration”, để khai báo thiết bị: kích chuột vào biểu tượng Devices và kích vào
“New” khi đó trên màn hình xuất hiện cửa sổ cho người dùng lựa chọn loại thiết bị kết nối vào mạng Internet như sau:
Trang 25Hình 1.7: Cửa sổ lựa chọn loại thiết bị kết nối vào mạng Internet
Có 6 kiểu kết nối mạng chính mà hệ điều hành hỗ trợ bao gồm:
Ethernet connection (kết nối ethernet)
ISDN connection (kết nối qua ISDN)
Modem connection (kết nối qua modem)
Token Ring connection
Wireless connection (kết nối không dây)
Kết nối qua xDSL
Đối với mỗi kiểu kết nối lại có những bước cấu hình tương ứng khác nhau Sau đây là các bước khai báo thiết bị của một trong những hình thức kết nối phổ biến nhất hiện nay đó là kết nối qua modem thoại Kích chuột vào lựa chọn có biểu tượng điện thoại màu đỏ có chữ: Modem connection như hình trên,chuyển sang bước tiếp theo:
Trang 26Hình 1.8: Ví dụ chọn modem
Khai báo các thông số kỹ thuật liên quan tới modem như “baud rate”: tốc độ truyền
dữ liệu, “flow control”: phương thức điều khiển luồng dữ liệu,…như hình trên Sau đó chuyển sang bước tiếp theo
Hình 1.9: Ví dụ chọn ISP
Nhập các thông số như số điện thoại của nhà cung cấp dịch vụ, tên truy nhập và mật khẩu như hình trên Kết thúc quá trình khai báo modem thoại cho hệ điều hành và chuyển sang bước tiếp theo như sau:
Trang 27Hình 1.10: Bảng tổng kết cấu hình modem Đây là cửa sổ tổng kết các thông tin mà người dùng đã khai báo cho hệ thống biết các thông số liên quan tới modem Bước cuối cùng là kích hoạt cho modem để có thể truy cập Internet bằng cách nhấn chuột vào nút “active” như sau:
Hình 1.11: Kích hoạt modem Như vậy là kết thúc quá trình khai báo thiết bị modem cho hệ thồng biết, quá trình khai báo các thiết bị kết nối Internet cũng tương tự như khai báo modem tức là chỉ cấn thực hiện các bước chỉ dẫn của hệ thống là có thể thực hiện được
1.3 < LÀM QUEN VỚI LINUX, CÁC LỆNH CƠ BẢN
1.3.1 Làm quen với Linux
1.3.1.1 Bắt đầu phiên làm việc
Khi bằt đầu vào phiên làm việc, trên màn hình sẽ xuất hiện lên thông báo mời:
Username :
Password :
Trang 28Người dùng phải nhập đúng usrername và password của mình thì mới có thể bắt đầu phiên làm việc của mình Nếu chưa có một account thì hoặc phải gõ root như một người quản trị hệ thống, hoặc phải liên hệ với người quản trị hệ thống để có thể có một account riêng cho mình
Hình 1.12: Giao diện đồ hoạ của Fedora khi bắt đầu làm việc
1.3.1.3 Thay đổi mật khẩu
Mật khẩu bảo đảm an toàn cho mỗi phiên làm việc Có thể thay đổi mật khẩu bằng lệnh:
$ password:
Lệnh này sẽ yêu cầu nhập vào mật khẩu mới và sau đó yêu cầu nhập lại lấn thứ 2 để tránh sự nhầm lẫn Tiêu chuẩn cơ bản là mật khẩu phải dài ít nhất 6 kí tự, chứa ít nhất
Trang 291.3.2 Các lệnh cơ bản
1.3.2.1 Cách dùng lệnh của Linux
Cú pháp cơ bản để chạy một dòng lệnh trên Linux như sau:
$ tên_lệnh [<tuỳ_chọn] [đối số 1] [đối số 2] …
Cần chú ý vài điểm sau Khi có nhiều tuỳ chọn có thể viết gộp lại: ls l d t ls –ldt
Dấu cách, thứ tự, các tuỳ chọn và các tham số thường tuân theo nguyên tắc trên
Linux hỗ trợ khả năng tự động hoàn thiện câu lệnh bằng phím Tab ví dụ khi
Hình 1.13: Mô hình cây thư mục trong Linux Khi bắt đầu phiên làm việc, hệ thống sẽ đặt người dùng vào thư mục cá nhân Để xem thư mục hiện thời đang làm việc dùng lệnh pwd (print working directory)
$ pwd
/home/root
Trang 30Có thể tạo thư mục bằng lệnh mkdir tương tự trong DOS:
[root@dhxd tmp ]$ mkdir tên_thư_mục
Và có thể kiểm tra lại:
[root@dhxd root ]$ cd tên_thư_mục
[root@dhxd root ]$ ls /home –a
* Xem nội dung một file
Để xem nôi dung một file có thể dùng một trình soạn thảo chẳng hạn:
Có thể dùng lệnh cp để sao chép các file, cú pháp cơ bản của lệnh như sau:
[root@dhxd root ]$ cp <nguồn> <đích>
*Chuyển file
Linux cung cấp lệnh mv để chuyển các file từ vị trí này qua vị trí khác Ví dụ,
Trang 31* Xoá file
Để xoá file, cũng dùng lệnh rm như đối với các thư mục, ví dụ:
[root@dhxd root ]$ rm vidu.txt
Cũng có thể xoá nhiều file cùng một lúc, ví dụ:
[root@dhxd root ]$ rm vidu1.txt vidu2.txt
1.4 Định hướng thực hiện đồ án
Hệ điều hành Linux nói chung và Fedora nói riêng tuy mới ra đời nhưng các ứng dụng lại rất phong phú, đa dạng do vậy dù rất mong muốn có thể nắm bắt được hết các công nghệ nhưng do thời gian làm đồ án là có hạn nên em không thể đi sâu tìm hiểu xây dựng cấu hình tất cả các ứng dụng Mục tiêu của đồ án chỉ giới hạn tìm hiểu và xây dựng cấu hình các ứng dụng phía server ở 3 ứng dụng chính đó là:
< Cấu hình DHCP server
< Cấu hình DNS server
< Cấu hình Apache server
Để có thể hoàn thiện việc cấu hình các ứng dụng trên cần phải thực hiện các công việc như sau:
< Tìm hiểu cơ sở lý thuyết công nghệ đó
< Tìm kiếm các gói ứng dụng
< Triển khai các gói trong hệ điều hành
< Cấu hình ứng dụng bao gồn các file, các thư mục,
< Giải quyết các vấn đề xung quanh quá trình cấu hình và sử dụng dịch vụ
< Kiểm thử chương trình
Kết quả yêu cầu là các ứng dụng chạy tốt và có thể triển khai ngay vào thực tế công việc Nội dung của đồ án phải bao quát các nội dung liên quan tới các ứng dụng nhưng vẫn đủ chi tiết để sao cho một người chưa sử dụng Linux Fedora bao giờ vẫn có thể hiểu và cấu hình được các ứng dụng
Trang 32CHƯƠNG II
CẤU HÌNH DHCP SERVER
2.1 Giới thiệu về DHCP server
2.1.1 Khái niệm về DHCP server
Chúng ta biết rằng, để một PC hay các thiết bị mạng có thể truy cập vào mạng Internet nhất thiết PC phải có một địa chỉ IP và mỗi máy tính hay các thiết bị mạng trên thế giới đều có một địa chỉ IP riêng biệt Việc cấu hình địa chỉ cho PC thật ra là đơn giản, người quản trị chỉ cần nhập địa chỉ IP mà nhà cung cấp dịch vụ ISP (Internet Service Provide) cho PC của mình là xong Nếu là máy chủ thì bên cạnh địa chỉ IP còn phải
có các dữ liệu quản trị cho máy đó Tuy nhiên, điều khó khăn xuất hiện khi quy mô mạng mở rộng cũng như khoảng cách địa lý giữa các PC trở lên xa hơn nếu người quản trị lại phải đi cấu hình cho từng máy thì công việc trở lên rất khó khăn và mất thời gian, hiệu quả rất thấp Để giải quyết vấn đề này cấn phải có một giải pháp kỹ thuật sao cho việc cấu hình và quản trị mạng với quy mô mạng với số lượng lớn trở nên đơn giản và hiệu quả hơn đó chính là tiền đề ra đời của DHCP và BOOTP
DHCP là viết tắt của cụm từ Dynamic Host Configuration Protocol tạm dịch sang tiếng Việt là giao thức cấu hình máy chủ động DHCP hoạt động với mô hình khách/chủ (client/server), cho phép các máy khách trong mạng nhận được các thông tin cấu hình của máy khách đó từ máy chủ DHCP Điều này làm cho công việc của người quản trị hệ thống trở nên đơn giản và hiệu quả hơn Thông tin quan trọng nhất
mà một máy khách DHCP nhận được từ máy chủ là địa chỉ IP DHCP sử dụng UDP – User Data Protocol của tầng giao vận (Transport layer) bởi ưu điểm của UDP là nhanh chóng khác với TCP, tuy TCP chậm hơn nhưng độ tin cậy cao hơn so với TCP DHCP được tạo bởi nhóm làm việc cấu hình máy chủ động (DHCWG – Dynamic Host Configuration Working Group), đây là một phần của tổ chức IETF (Internet Engineering Task Force) DHCP là một giao thức chuẩn Internet, giao thức DHCP được định nghĩa trong RFC 2131 Các máy khách DHCP gửi các bản tin tới server qua cổng (port) 67, các máy chủ gửi lại cho các máy khách DHCP qua cổng 68
Các máy khách DHCP có thể là những PC có hệ điều hành phổ biến trên thế giới hiện nay như Microsoft 9x/NT/2000/XP, Solaris, Linux,…Trong mạng phải có ít nhất 1 máy chủ DHCP để quản lý và cung cấp địa chỉ và các thông tin cấu hình khác cho các máy khi có yêu cầu của máy khách Do vậy, trong mạng có thể có nhiều máy chủ
Trang 33các máy khách Địa chỉ cũng như các thông tin mà máy khách nhận được là tạm thời tức là sau một khoảng thời gian nào đó (do người quản trị cấu hình) thì máy chủ sẽ cung cấp một địa chỉ mới cho máy khách đó Người quản trị mạng cấu hình cho máy chủ DHCP một dải địa chỉ cùng với subnet mask để gán cho các máy khách, bên cạnh
đó là còn có các thông tin như địa chỉ máy chủ DNS, địa chỉ WINS server, tên miền Thêm vào đó, phần lớn các máy chủ DHCP cho phép người quản trị mạng định nghĩa máy khách nào với địa chỉ vật lý MAC được phục vụ và tự động hoạt động khi cần thiết
2.1.2 Các đặc trưng của DHCP
Có 3 kỹ thuật được sử dụng để gán địa chỉ IP cho một máy khách:
Cấp địa chỉ tự động (automatic allocation): DHCP sẽ gán địa chỉ IP cố định cho máy khách
Cấp địa chỉ thủ công (manual allocation): Người quản trị mạng định nghĩa địa chỉ IP cho máy khách sau đó DHCP sẽ gán địa chỉ đó cho máy khách
Cấp địa chỉ động (dynamic allocation): DHCP gán một địa chỉ IP cho máy khách trong một khoảng thời gian cố định và trong giới hạn một dải địa chỉ Tuy nhiên, trong giới hạn của đồ án này sẽ chủ yếu đi sâu vào kỹ thuật cấp địa chỉ động Máy chủ DHCP tạo một dải địa chỉ IP và các thông số kết hợp Khi một máy khách gửi một bản tin tới nhiều máy chủ DHCP và có nhiều máy chủ DHCP có thể phục vụ được nhưng máy khách chỉ có thể nhận các thông tin từ một máy chủ DHCP
Hình 2.1: Mô hình hoạt động của DHCP
Để có thể hoạt động được các máy khách cần tối thiểu các thông tin dưới đây:
< Địa chỉ IP
< Subnet mask
< Tên miền (domain name)
< Default gateway (chỉ các router sử dụng)
< DNS (Domain Name Service)
< Tên máy chủ (như WINS)
Trang 342.1.3 Hoạt động của DHCP
Hoạt động của DHCP chủ yếu diễn ra giữa máy chủ và máy khách bao gồm 5 bước;
để có cái nhìn tổng quát, xét trường hợp khi một máy khách gửi yêu cầu và có 2 máy chủ DHCP có thể phục vụ được như sau:
Hinh 2.2: Thiết lập kết nối giữa server và client Bước 1: Máy khách gửi một bản tin gọi là DHCPDISCOVER với địa chỉ là địa chỉ quảng bá tới tất cả các máy khách trong mạng Khi đó tất cả các máy trong mạng đều nhận được bản tin này, nếu là các máy chủ DHCP thì chúng sẽ gửi một bản tin trả lời còn nếu là các máy khách DHCP khách chúng sẽ không làm gì cả
Bước 2: Các máy chủ DHCP sẽ gửi một bản tin gọi là DHCPOFFER với địa chỉ nhận
là địa chỉ unicast tới máy khách vừa gửi yêu cầu đó Khi máy chủ nhận được bản tin quảng bá của máy khách, nó sẽ kiểm tra các dịch vụ trong cơ sở dữ liệu của nó Nếu máy chủ không thể đáp ứng được yêu cầu của máy khách thì máy chủ có thể gửi tiếp bản tin yêu cầu đó tới một máy chủ khách (phụ thuộc vào nội dung cấu hình ban đầu của người quản trị hệ thống) Ngược lại, nếu máy chủ có thể đáp ứng được yêu cầu của máy khách báo cho máy khách đó bằng bản tin DHCPOFFER
Bước 3: Máy khách gửi một bản tin DHCPREQUEST với địa chỉ nhận là địa chỉ quảng bá tới tất cả các nút trong mạng: Nếu máy khách tìm thấy lời mời có thể chấp nhận được của một máy chủ nào đó, nó sẽ gửi một bản tin quảng bá DHCPREQUEST
Trang 35khách gây lãng phí tài nguyên mạng, để tránh tình trạng đó máy khách phải gửi một bản tin quảng bá tới tất cả các nút trong mạng Máy chủ DHCP được chọn thường là máy chủ gửi bản tin DHCPOFFER mà máy khách nhận được sớm nhất
Bước 4: Máy chủ gửi một bản tin DHCPACK tới máy khách để quá trình gửi các thông tin cần thiết có thể bắt đầu: Nếu máy khách phát hiện ra địa chỉ vừa nhận được
đã được dùng trong mạng hoặc địa chỉ không phù hợp thì máy khách gửi tiếp 1 bản tin DHCPDECLINE để khởi động lại quá trình Nếu máy khách nhận được bản tin DHCPNAK từ máy chủ sau khi gửi bản tin DHCPREQUEST thì quá trình sẽ được khởi động lại
Bước 5: Máy khách giải phóng địa chỉ: Máy khách sau khi đã nhận được tất cả các thông tin cần thiết nó gửi bản tin DHCPRELEASE tới máy chủ để xác nhận đã nhận
đủ các thông tin và quá trình kết thúc
2.1.4 So sánh BOOTP với DHCP
BOOTP là viết tắt của Bootstrap Protocol, đây là giao thức dùng để cấu hình cho các máy khách trong mạng đấu tiên được phát triển BOOTP được định nghĩa trong RFC 915 vào năm 1985 Có thể nói DHCP chính là thế hệ “con cháu” của BOOTP,
do vậy giữa chúng vẫn có những điểm giống nhau cơ bản như đều hoạt động với mô hình client/server, sử dụng UDP với các cổng 67,68
BOOTP chỉ hỗ trợ cho các máy khách 4 thông số cơ bản đó là:
DHCP định nghĩa máy khách nào có thể gán được một địa chỉ IP từ một dải địa chỉ cho trước trong một khoảng thời gian định sẵn, có thể cho phép gán lại chính địa chỉ
đó cho một máy khách khác trong thời điểm khác, hoặc máy khách đó sẽ có địa chỉ IP khác nếu như nó được chuyển sang một mạng khác
Sự khác nhau giữa DHCP với BOOTP được tóm tắt trong bảng sau đây:
Trang 36BOOTP DHCP
Gán địa chỉ lâu dài Gán địa chỉ tạm thời
Chỉ hỗ trợ được 4 thông số mạng Hỗ trợ được trên 30 thông số
Được dùng để gửi một bảng khởi động
hệ thống tới máy khách
Không thể dùng để có thể gửi một bảng khởi động hệ thống tới máy khách
Bảng 2.1: So sánh DHCP với BOOTH 2.1.5 Cấu trúc gói tin DHCP
Gói tin mà cả phía máy chủ và máy khách sử dụng có cấu trúc định dạng như sau:
OP Code Hardware Type Hardware Address
Server Name (SNAME) – 16 Bytes
Filename – 128 Bytes DHCP Options Bảng 2.2: Cấu trúc gói tin DHCP Trong đó:
OP Code: là mã số tương ứng với các bản tin gửi đi, ví dụ: 1 (Request), 2 (Reply),…
Hardware Type: Kiểu phần cứng, ví dụ như số 1 tương ứng với Ethernet
Hardware address length: Chiều dài địa chỉ phần cứng là 6 byte ứng với ethernet Hop count: số 0 tương ứng với máy khách
Transaction ID: là số nguyên dùng để so sánh phù hợp giữa reply với response Seconds: khoảng thời gian từ khi máy khách bắt đầu khởi động
Client IP Address: Địa chỉ IP của máy khách
Trang 37Server IP: Địa chỉ IP của máy chủ DHCP
Gateway IP: Địa chỉ IP của gateway
Client Hardware Address: Địa chỉ vật lý của máy khách
Server Name: Tên máy chủ
Filename – 128 Bytes: Tên file
DHCP Options: Là số tương ứng với các loại bản tin như sau:
Giá trị Kiểu bản tin
Gói DHCP cho hệ điều hành Linux Redhat hoặc Fedora thường có tên như sau: dhcp<3.0.1rc14<1.i386.rpm hoặc có thể thay đổi chút ít, tuy nhiên cấu trúc của gói luôn có tên bắt đầu là dhcp sau đó là các con số chỉ số version của bản DHCP đó Cuối cùng là đuôi mở rộng là “.rmp” Các gói DHCP có thể có được từ mạng Internet, từ các PC khác,…nhưng tất cả đều phải có tên như trên mới đảm bảo hoạt động chính xác 2.2.2 Cài đặt gói DHCP
2.2.2.1 Cài đặt gói DHCP
Việc cài đặt cũng hết sức đơn giản, khi đã có gói DHCP rồi, trước khi có thể sử dụng DHCP server cần phải tiến hành cài đặt phần mềm server vào PC Qua bước tìm kiếm gói DHCP ở trên lúc này nó được đặt ở 2 nơi: trên ổ cứng của PC hoặc trong ổ CD.ROM Sau đây là quá trình cài đặt gói dhcp cho mỗi trường hợp:
Trang 38a) Sử dụng file trên HDD
Sau khi file RPM đã download được thường có phần đuôi mở rộng là “.rpm”, bước tiếp theo là dùng lệnh: rpm –Uvh để cài đặt gói dhcp Sau đây ví dụ minh họa các lệnh được sử dụng trong quá trình cài đặt gói dhcp server:
[root@dhxd tmp]# rpm 9Uvh dhcp93.0.1rc1491.i386.rpm
Preparing ####################### [100%]
1: dhcp ################## [100%]
[root@ dhxd tmp]#
b) Sử dụng file trong ổ CD<ROM
Các bước trong quá trình cài đặt RPM từ ổ CD tương tự như khi cài đặt từ ổ cứng HDD Sự khác nhau chính ở đây là phải truy nhập vào CD.ROM trước khi tiến hành cài đặt bằng cách vào (mounting): /media/disk Gói RPM sau đó được đặt trong thư mục con CD.ROM’s Fedora/RPMs Quá trình cụ thể như sau:
Đưa đĩa vào ổ CD.ROM, kiểm tra file trong thư mục: /media/cdrom/Fedora/RPMS và tiến hành cài đặt gói RPM:
2.2.2.2 Cài đặt file /etc/dhcpd.conf
Khi DHCP khởi động, nó đọc file: “/etc/dhcpd.conf” Đây là nội dung thông tin về mạng
mà máy chủ DHCP lưu trữ và sẽ gửi cho các máy khách DHCP khi máy khách có yêu cầu, gói DHCP RPM không tự động cài đặt file này,nhưng có thể tìm file này theo đường đẫn như sau: /usr/share/doc/dhcp_3.0.3/dhcpd.conf.sample
Trang 39soạn thảo như: vi, emacs,… sẽ được trình bày rõ hơn trong phần phụ lục của chương này Đơn giản và tiện dụng hơn nhiều so với hệ soạn thảo trong chế độ câu lệnh, việc
sử dụng hệ soạn thảo OpenOffice trong chế độ đồ hoạ tốt hơn nhiều
Cú pháp câu lệnh dùng để copy file trong Fedora 5.0 như sau:
[root@ dhxd tmp]#cp /usr/share/doc/dhcp93.0.3/dhcpd.conf.sample /etc/dhcpd.conf Dưới đây là nội dung của file dhcp.conf, quan trọng nhất là phải có một subnet cho mỗi giao diện (interface) của Linux Các tuỳ chọn toàn cục có thể được định rõ cho tất
cả các máy khách, một số tuỳ chọn khác có thể chỉ có tác dụng cho một số máy khách
ở mỗi hệ thống máy khách khác nhau hay nói cách khác là ở các subnet khác nhau File config có chứa thêm những dòng trống, các câu lệnh được phân cách nhau bởi dấu chấm hỏi (;) và mỗi dòng được bắt đầu bằng dấu thăng (#) thì đó là các lời chú giải Có 2 kiểu câu câu lệnh trong file cấu hình:
Các tham số: trạng thái để thực hiện một thao tác, tức là các tuỳ chọn cấu hình mạng được gửi tới máy khách
Các khai báo: mô tả cấu trúc mạng, mô tả các máy khách, cung cấp địa chỉ cho các máy khách, hoặc áp dụng nhóm các tham số tới các khai báo Vài tham số phải bắt đầu với những từ khoá và được tham chiếu như các tuỳ chọn Các tham số bao gồm cả các tuỳ chọn được khai báo trước khi một đoạn mã có giới hạn nội dung trong hai dấu móc đơn ( { } ) thì được coi như là các tham số toàn cục Các tham số toàn cục có ảnh hưởng tới toàn bộ các đoạn trong đó
Tuy nhiên, để có các tác dụng như mong muốn như trong nội dung file cấu hình vừa biên soạn trước hết phải khởi động lại hệ thống bằng lệnh:
/etc/init.d/dhcpd restart hoặc lệnh service dhcpd restart
Sau đây là nội dung file dhcpd.conf sau khi đã được biên dịch trong hệ điều hành Linux Fedora 5.0:
ddns9update9style interim
ignore client9updates
# Dia chỉ mang va mat na cua mang
subnet 192.168.1.0 netmask 255.255.255.0 {
# Dai dia chi IP ma may chu DHCP
# se dung de gan cho cac may khách DHCP nhu cac PC
# su dung khi khoi dong
range 192.168.1.201 192.168.1.220;
# Thiet lap thoi gian ma cac may khách DHCP
# co the duoc dung mot dia chi IP
Trang 40default9lease9time 86400;
max9lease9time 86400;
# Thiet lap cong vao mac dinh ( default gateway)
# cho cac may khach DHCP nhu cac PC
option routers 192.168.1.1;
# Tu choi gui cac yeu cau DHCP (DHCP request) tu
# cong NIC nay toi
# bat ky cong NIC nao khac
option ip9forwarding off;
# Thiet lap dia chi quang ba ba mat na mang con
# cho cac may khach DHCP su dung
option broadcast9address 192.168.1.255;
option subnet9mask 255.255.255.0;
# Thiet lap may chu DNS
# cho cac may khach DHCP co the dung duoc
option nis9domain "domain.org";
option domain9name "domain.org";
option domain9name9servers 192.168.1.100;
# Thiet lap may chu NTP
# cho cac may khach DHCP su dung
# Cung co the gan dia chi IP cu the dua vao dia chi MAC
# cua cac thiet bi nhu may in voi ten la” laser9printer":
host laser9printer {