Tải bản đầy đủ (.pdf) (63 trang)

Tìm hiểu và cấu hình IPTables trên hệ điều hành linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 63 trang )



ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:




BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115


ĐỀ TÀI :
TÌM HIỂU VÀ CẤU HÌNH IPTABLES TRÊN HỆ ĐIỀU
HÀNH LINUX




SINH VIÊN : LÃ XUÂN TÂM (11TLT)
TRẦN CANH NGỌ

ĐƠN VỊ : VDC Training
CBHD : Th.s NGUYỄN SONG TÙNG






ĐÀ NẴNG, 01/2013


LỜI CẢM ƠN

Trong đợt thực tập vừa qua, chúng em đã nhận đƣợc sự huớng dẫn, giúp đỡ và
động viên tận tình từ nhiều phía. Tất cả những điều đó đã trở thành một động lực rất
lớn giúp chúng em có thể hoàn thành tốt mọi công việc đƣợc giao. Với tất cả sự cảm
kích và trân trọng, chúng em xin đƣợc gửi lời cảm ơn đến tất cả mọi ngƣời.
Trƣớc tiên cho chúng em đƣợc gửi lời cảm ơn đến Ban lãnh đạo Trung tâm đào
tạo VDC Training Đà Nẵng đã tạo điều kiện cho chúng em đƣợc tham gia thực tập tại
công ty cũng nhƣ cung cấp tất cả các cơ sở vật chất và trang thiết bị có thể cho chúng
em trong thời gian vừa qua. Xin cảm ơn thầy Th.s Nguyễn Song Tùng và các anh chị
trong công ty đã tận tình hƣớng dẫn giúp đỡ chúng em trong suốt thời gian em tham
gia thực tập.
Em cũng xin đƣợc gửi lời cảm ơn đến lãnh đạo trƣờng Đại học Bách Khoa Đà
Nẵng, lãnh đạo khoa Công nghệ thông tin đã tổ chức các buổi giao lƣu giửa các doanh
nghiệp và sinh viên thật sự bổ ích, giúp chúng em có cơ hội tìm đƣợc một đơn vị thực
tập tốt.
Xin đƣợc cảm ơn tất cả các sinh viên tham gia thực tập tại VDC Training Đà
Nẵng trong đợt thực tập vừa qua, những ngƣời đã luôn sát cánh cùng chúng mình, chia
sẻ, ủng hộ và giúp đỡ mình trong thời gian thực tập vừa qua.
Xin trân trọng cảm ơn!


LỜI CAM ĐOAN

Tôi xin cam đoan :

1. Những nội dung trong báo cáo này là do tôi thực hiện dƣới sự hƣớng dẫn trực
tiếp của thầy Th.s Nguyễn Song Tùng.
2. Mọi tham khảo dùng trong báo cáo này đều đƣợc trích dẫn rõ ràng tên tác giả,
tên công trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ,vi phạm quy chế đào tạo,hay gian trá,tôi xin chịu
hoàn toàn trách nhiệm.

Sinh viên,
Lã Xuân Tâm
Trần Canh Ngọ


NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN

























MỤC LỤC
MỞ ĐẦU 1
GIỚI THIỆU CHUNG 1
I. Giới thiệu về đơn vị thực tập 1
II. Bối cảnh đề tài 4
III.Mục đích và ý nghĩa của đề tài 5
IV.Nội dung của đề tài gồm 4 phần chính 6
CHƢƠNG 1 7
CÁC NHIỆM VỤ ĐƢỢC GIAO 7
I.Tìm hiểu về đơn vị thực tập 7
II. Đề tài nghiên cứu 7
CHƢƠNG 2 9
CÁC CÔNG NGHỆ ĐÃ NGHIÊN CỨU 9
I.TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX 9
I.1 Giới thiệu về hệ điều hành Linux 9
I.2 Kiến trúc hệ điều hành Linux 10
I.2.1 Hạt Nhân (kernel) 10
I.2.2 Shell 11
I.2.3 Các tiện ích 12
I.2.4 Chƣơng trình ứng dụng 12
I.3 Các đặc tính cơ bản của Linux 12
I.3.1 Đa tiến trình 12
I.3.2 Tốc độ cao 13

I.3.3 Bộ nhớ ảo 13


I.3.4 Sử dụng chung thƣ viện 13
I.3.5 Sử dụng các chƣơng trình xử lý văn bản 13
I.3.6 Sử dụng giao diện cửa sổ 13
I.3.7 Network Information Service (NIS) 14
I.3.8 Lập lịch hoạt động chƣơng trình, ứng dụng 14
I.3.9 Các tiện ích sao lƣu dữ liệu 14
I.3.10 Hỗ trợ nhiều ngôn ngữ lập trình 14
I.4 Cấu trúc hệ thống tập tin/thƣ mục trong Linux 15
I.5 Quản lý tài khoản và phân quyền trên Linux 15
I.5.1 Quản lý tài khoản trong Linux 15
I.5.2 Phân quyền ngƣời dùng trên hệ thống tập tin 16
I.6 Ƣu và nhƣợc điểm của hệ điều hành Linux 20
I.7 Một số bản phân phối(Distro) Linux phổ biến 21
II. TỔNG QUAN VỀ FIREWALL 27
II.1 Khái niệm tƣờng lửa(firewall) 27
II.2. Chức năng của tƣờng lửa 27
II.3. Phân loại tƣờng lửa 28
II.3.1 Packet Filtering ( tƣờng lửa lọc gói tin) 28
II.3.2 Application firewall ( Tƣờng lửa ứng dụng ) 29
II.3.3 Statefull Firewall (Tƣờng lửa trạng thái) 31
CHƢƠNG 3 32
TÌM HIỂU VỀ IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX 32
I.Giới thiệu về Iptables 32
I.1 Khái niệm Iptables 32


I.2 Cài đặt Iptables 33

I.3 Cú pháp Iptables 33
I.4 Cấu trúc của Iptables 34
I.5 Quá trình chuyển dữ liệu qua Netfilter 36
I.6 Target và Jumps trong iptables 39
I.7 Các tham số dòng lệnh thƣờng dùng trong iptables 41
I.8 Sử dụng các chuỗi tự định nghĩa 44
I.9 NAT trong iptables 45
I.10 Ví dụ về một số rule trên Iptables 47
II.Triển khái iptables trên Redhat 48
II.1 Mô hình triển khai 48
II.2 Thiết lập iptables trên redhat 48
II.2.1 Cấm ssh đến firewall 48
II.2.2 Cấm Ping đến Firewall 50
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54


DANH MỤC HÌNH ẢNH , BẢNG BIỂU

Hình 2. 1 Kiến trúc hệ điều hành linux 10
Hình 2. 2 Cấu trúc thƣ mục hệ thống của Linux 15
Hình 2. 3 Quyền trên tập tin 17
Hình 2. 4 Quyền đƣợc biểu diễn dƣới dạng số 18
Hình 2. 5 Red Hat 22
Hình 2. 6 Debian 23
Hình 2. 7 Ubuntu 23
Hình 2. 8 Gentoo 24
Hình 2. 9 Knoppix 24
Hình 2. 10 Slackware 25
Hình 2. 11 Mô hình tƣởng lửa cơ bản 27

Hình 2. 12 Packet Filtering 29
Hình 2. 13 Application firewall 30
Hình 2. 14 Statefull Firewall 31
Hình 3. 1 Vị trí của Iptables 33
Hình 3. 2 Quá trình xử lý gói tin bảng filter 35
Hình 3. 3 Quá trình xử lý gói tin trong bảng NAT 35
Hình 3. 4 Quá trình xử lý gói tin trong bảng Mangle 35
Hình 3. 5 Mô hình hoạt động của Iptables 36
Hình 3. 6 Trình tự xử lý gói tin trên Iptables 38
Hình 3. 7 Sơ đồ mạng công ty A 48



Bảng 1. Miêu tả các target mà Iptables thường dùng nhất 39
Bảng 2. Các tham số chuyển mạch quan trọng của iptables 41
Bảng 3. Các điều kiện TCP và UDP thông dụng 41
Bảng 4. Điều kiện ICMP 42
Bảng 5. Các điều kiện mở rộng thông dụng 43
Bảng 6. Danh sách các lệnh (Queues) 45
Bảng 7 NAT trong iptables 45
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux

SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 1
MỞ ĐẦU
GIỚI THIỆU CHUNG
I. Giới thiệu về đơn vị thực tập
 Tên đơn vị thực tập
Trung tâm Đào tạo VDC Training Đà Nẵng
 Địa chỉ,điện thoại trung tâm VDC
Tầng 2,3 tòa nhà số 59 Trần Phú – Thành Phố Đà Nẵng

Điện thoại : 0511.3840.842 – Email:
 Hoạt động của trung tâm
Trung tâm Đào tạo VDC Training là đơn vị thuộc VDC - công ty thành viên
tập đoàn VNPT. VDC là doanh nghiệp hàng đầu trong lĩnh vực cung cấp dịch vụ
Internet, có nhiều kinh nghiệm trong lĩnh vực tƣ vấn, thiết kế, triển khai các hệ thống
hạ tầng công nghệ thông tin và chuyển giao công nghệ.
VDC Training đã có hơn 7 năm kinh nghiệm trong lĩnh vực đào tạo CNTT
đẳng cấp cao. Khởi đầu từ hoạt động đào tạo triển khai lắp đặt, hỗ trợ các dịch vụ
Internet, Truyền số liệu, Tin học của VNPT/VDC cho các khách hàng, đại lý, đối tác
và các viễn thông tỉnh/thành phố, VDC Training đã thành công trong việc phát triển
thành một trung tâm đào tạo CNTT có uy tín hàng đầu ở khu vực miền Trung và Tây
Nguyên nói riêng và cả nƣớc nói chung, không ngừng khẳng định là một đơn vị đào
tạo đẳng cấp chuyên nghiệp, mang đến các chƣơng trình đào tạo theo chuẩn mực quốc
tế cũng nhƣ đáp ứng tốt các chƣơng trình đào tạo theo yêu cầu của các tổ chức lớn,
cung cấp nhiều khoá học khác nhau nhằm giúp học viên nâng cao kỹ năng làm việc
cũng nhƣ mang lại lợi ích đáng kể cho các tổ chức của họ. Tính đến thời điểm hiện
nay, VDC Training là đối tác đào tạo ủy quyền chính thức của Cisco, CompTIA,
Pearson VUE, Prometric tại Việt Nam và cũng là thành viên mạng lƣới đối tác
Microsoft.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux

SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 2
Tiếp nối thành công ở mảng đào tạo các chƣơng trình IT quốc tế và đặc biệt là
để đáp ứng nhu cầu của khách hàng, từ năm 2011 VDC Training triển khai đào tạo các
chƣơng trình về quản trị, kỹ năng mềm và ISO 27001, ISO 20000.
VDC Training tự hào có đội ngũ giảng viên là các chuyên gia có trình độ
chuyên môn cao, hiểu và nắm rõ phƣơng pháp sƣ phạm, nhiệt tình trong công tác đào
tạo; đã đƣợc cấp các chứng chỉ Quốc tế của các tổ chức hàng đầu nhƣ Cisco,
Microsoft, Oracle, Sun, CompTIA, SCP, EC Council tuy nhiên sự khác biệt cũng là
tài sản quý nhất của VDC Training chính là kinh nghiệm làm việc thực tế của giảng

viên trong môi trƣờng của một đơn vị cung cấp dịch vụ IP/Internet/Tin học hàng đầu.
Đội ngũ giảng viên của VDC Training với nhiều năm kinh nghiệm làm việc trong môi
trƣờng thực tế không những cung cấp cho học viên đầy đủ kiến thức lý thuyết mà còn
tƣ vấn, hỗ trợ học viên vận dụng và giải quyết các tình huống thực tế. Sau khi tốt
nghiệp, học viên có khả năng đáp ứng ngay các yêu cầu công việc thực tiễn. Chất
lƣợng đào tạo thể hiện rõ qua kết quả thi của học viên: sau khi hoàn thành các chƣơng
trình đào tạo, trên 90% học viên thi đạt điểm cao các chứng chỉ quốc tế ở ngay lần thi
đầu tiên.
Hiện nay, đội ngũ giảng viên của VDC Training đã đạt các chứng chỉ: CCSI,
CCNA, CCNP, CCSP, CCAI, CCDP, CCIE Writtten, CWNA, SCSA, MCSE,
MCITP, MCTS, MCT, CCSE, CompTIA Linux+, CompTIA Security+, SCNS,
SCNP, SCNA, SCPI, CEH, CEI, Oracle DBA 10g, 11g v.v Không dừng lại và
không thỏa mãn với những gì đạt đƣợc, các giảng viên VDC Training vẫn thƣờng
xuyên học tập, tham dự các khóa đào tạo nâng cao, các hội thảo công nghệ chuyên sâu
trong và ngoài nƣớc để cập nhật kiến thức mới và trau dồi kỹ năng mềm, nghiệp vụ sƣ
phạm.
Đội ngũ giảng viên giỏi chuyên môn nghiệp vụ, nhiều kinh nghiệm, cơ sở vật
chất đạt tiêu chuẩn quốc tế cùng với nội dung đào tạo bổ ích đã giúp cho VDC
Training trở thành đối tác đào tạo nguồn nhân lực cho nhiều đơn vị hoạt động trong
các lĩnh vực khác nhau nhƣ
 Tập đoàn Bƣu chính Viễn thông Việt Nam – VNPT
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux

SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 3
 Trung tâm Thông tin Di động khu vực III - VMS3
 Trung tâm Viễn thông Quốc tế khu vực III - VTI3
 Các Viễn thông tỉnh/thành phố
 Cụm cảng hàng không miền Trung
 Cục Hải quan Thành phố Đà Nẵng
 Viện Tin học Doanh nghiệp - CN miền Trung

 Trung tâm Viễn thông Điện lực miền Trung
 Công ty Cổ phần Phần mềm FPT
 Tập đoàn Dƣợc phẩm Viễn Đông
 Thành ủy Đà Nẵng
 Sở Giáo dục và Đào tạo Thành phố Đà Nẵng
 Cục thuế Đà Nẵng
 Ban Quản lý Dự án Phát triển CNTT& TT - Sở Thông tin và Truyền
thông thành phố Đà Nẵng
 Công ty TNHH MTV Lọc hóa dầu Bình Sơn
 Ban quản lý dự án CNTT-TT thuộc Sở Thông tin và Truyền thông Đà
Nẵng
 Sở Thông tin và Truyền thông Khánh Hòa
 Sở Thông tin và Truyền thông tỉnh Thừa Thiên Huế
 Sở Thông tin và Truyền thông Bình Định
 Sở Thông tin và Truyền thông tỉnh Kon Tum
 Trung tâm tích hợp dữ liệu tỉnh Phú Yên
 Các tổ chức ngân hàng, khác v.v

Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 4
 Sứ mệnh
- Truyền đạt, hƣớng dẫn học viên/khách hàng các kiến thức, kỹ năng
CNTT chuyên sâu ở đẳng cấp quốc tế về chƣơng trình và chất lƣợng đào
tạo. Góp phần phát triển nguồn nhân lực CNTT Việt Nam đạt tiêu chuẩn
quốc tế.
- Xây dựng một môi trƣờng học tập thân thiện, cởi mở với cơ sở vật chất
hiện đại, đủ sức hấp dẫn để quy tụ đƣợc nhân lực CNTT trong và ngoài
nƣớc về cộng tác nghiên cứu, thử nghiệm, trao đổi học thuật, kinh nghiệm
với nhau.
- Tạo điều kiện cho mọi thành viên của VDC Training phát triển tối đa

năng lực cá nhân, có cuộc sống sung túc về vật chất, hạnh phúc về tinh thần.
 Tầm nhìn
VDC Training trở thành:
Một tổ chức hàng đầu ở Việt Nam nói riêng và ở khu vực Đông Nam Á
nói chung trong lĩnh vực tƣ vấn và đào tạo CNTT theo các chƣơng trình quốc
tế.
Một trong những môi trƣờng làm việc tốt nhất cho nhân lực CNTT Việt
Nam.
II. Bối cảnh đề tài
Nhƣ chúng ta đã biết, Internet cho phép chúng ta truy cập tới các nơi
trên thế giới thông qua một số dịch vụ. Khi máy tính kết nối với Internet từ môi
trƣờng mạng cục bộ, khi đó tất cả các giao tiếp của mạng nội bộ với thế giới
bên ngoài coi nhƣ là bỏ ngỏ, mọi thông tin dữ liệu trên máy tính của mạng nội
bộ không có sự bảo vệ. Điều này đƣợc ví nhƣ nhà không có khóa cửa, khi đó
mọi đồ đạc trong nhà dĩ nhiên không an toàn Do vậy việc bảo vệ hệ thống là
một vấn đề chúng ta đáng phải quan tâm.Khi nói đến vấn đề bảo mật, hầu hết
các chuyên gia bảo mật đều chú trọng đến sự an toàn của hệ thống mạng và hệ
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 5
điều hành. Để hạn chế tình trạng này và cũng là để góp phần làm tăng khả năng
bảo mật thì việc xây dựng hệ thống tƣờng lửa là điều kiện không thể thiếu.
Tƣờng lửa có thể đƣợc tích hợp với phần cứng hoặc phần mềm giúp bạn
tránh đƣợc sự tấn công của các hacker, kiểm soát truy cập Khi truy cập vào
mạng Internet. Nếu bạn sử dụng máy tính cá nhân tại nhà hoặc bạn là một
doanh nghiệp nhỏ, sử dụng tƣờng lửa là cách quan trọng và hiệu quả nhất để
bảo vệ máy tính của bạn.
III.Mục đích và ý nghĩa của đề tài
Có rất nhiều loại tƣờng lửa khác nhau nhƣng chúng em đã quyết định
chọn đề tài về tìm hiểu và cấu hình Iptables trên hệ điều hành linux. Bởi vì hệ
điều hành Linux ngày càng trở lên phổ biến,đƣợc sử dụng nhiều trên các hệ

thống máy chủ.Mặt khác Iptables là một tƣờng lửa ứng dụng lọc gói dữ liệu rất
mạnh, miễn phí và có sẵn trên Linux Nó cung cấp các tính năng sau:
 Tích hợp tốt với kernel của Linux.
 Có khả năng phân tích gói tin hiệu quả.
 Lọc gói tin dựa vào địa chỉ MAC (Media Access Control) và một số cờ
hiệu trong TCP Header
 Cung cấp chi tiết các tùy chọn để ghi nhận sự kiện hệ thống
 Cung cấp kỹ thuật NAT (Network Address Translation)
 Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 6
IV.Nội dung của đề tài gồm 4 phần chính
 Tìm hiểu tổng quan về hệ điều hành linux
 Tổng quan về hệ thống tƣờng lửa
 Tìm hiểu và cấu hình Iptables trên hệ điều hành linux
 Kết luận




Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 7
CHƢƠNG 1

CÁC NHIỆM VỤ ĐƢỢC GIAO

I.Tìm hiểu về đơn vị thực tập
Trong ngày thực tập đầu tiên, chúng em đƣợc làm quen với các thầy,
anh chị tham gia hƣớng dẫn chúng em trong quá trình thực tập. Chúng em đƣợc
đi tham quan các phòng ban,phòng học,thực hành và các trang thiết bị máy

móc ở trung tâm. Trong buổi gặp gỡ, ngoài việc đƣợc giới thiệu về VDC
Training/VDC - đơn vị thuộc VDC - công ty thành viên tập đoàn VNPT cũng
nhƣ phổ biến một số nội quy, quy định của VDC Training - nơi chúng em sẽ
thực tập tại đây. Chúng em còn đƣợc giới thiệu về một số định hƣớng nghiên
cứu, trải nghiệm trong thời gian thực tập tại VDC Training.
Chúng em rất hào hứng với những xu hƣớng nghiên cứu khoa học mà
giảng viên VDC Training giới thiệu, bởi đây là những xu hƣớng mới và đang
đƣợc quan tâm nghiên cứu nhiều trên thế giới.
Cũng trong buổi gặp gỡ, chúng em đã thoải mái trao đổi, bày tỏ mong
muốn tham gia nghiên cứu những đề tài đầy mới mẻ này cũng nhƣ cơ hội tiếp
cận môi trƣờng thực tế, năng động trong lĩnh vực công nghệ thông tin - viễn
thông trong thời gian các bạn thực tập tại VDC Training.
II. Đề tài nghiên cứu
Sau khi đƣợc thầy Th.S Nguyễn Song Tùng giới thiệu về một số định
hƣớng nghiên cứu đang đƣợc quan tâm hiện nay. Chúng em đã chọn cho mình
hƣớng nghiên cứu về tìm hiểu hệ điều hành linux mà cụ thể là tìm hiểu và cấu
hình iptables trên hệ điều hành linux.
Iptables là một phần mềm tƣờng lửa phổ biến và cơ bản nhất trong HĐH
Linux. Iptables là một tƣờng lửa ứng dụng lọc gói dữ liệu rất mạnh gồm 2 phần
là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân. Iptables chịu trách
nhiệm giao tiếp giữa ngƣời dùng và Netfilter để đẩy các luật của ngƣời dùng
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 8
vào cho Netfiler xử lí. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter
làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 9
CHƢƠNG 2

CÁC CÔNG NGHỆ ĐÃ NGHIÊN CỨU


Trong quá trình thực tập tại VDC Training Đà Nẵng, sau tuần đầu tiên
đƣợc tham quan và tìm hiểu về trung tâm. Sang tuần thứ hai, chúng em đƣợc
giao nhiệm vụ học tập và nghiên cứu công nghệ. Chúng em đƣợc phân vào các
nhóm khác nhau tùy theo công nghệ đã lựa chọn. Nhóm em có 2 thành viên
nghiên cứu về iptables trên hệ điều hành linux.
I.TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX
I.1 Giới thiệu về hệ điều hành Linux
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt
nhân của hệ điều hành.
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông
còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách
hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm
1994. Bộ phận chủ yếu này đƣợc phát triển và tung ra trên thị trƣờng dƣới bản
quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem
mã nguồn của Linux.
Một cách chính xác, thuật ngữ ―Linux‖ đƣợc sử dụng để chỉ Nhân Linux,
nhƣng tên này đƣợc sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều
hành giống Unix (còn đƣợc biết đến dƣới tên GNU/Linux) đƣợc tạo ra bởi việc
đóng gói nhân Linux cùng với các thƣ viện và công cụ GNU, cũng nhƣ là các
bản phân phối Linux. Thực tế thì đó là tập hợp một số lƣợng lớn các phần mềm
nhƣ máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các
môi trƣờng làm việc desktop nhƣ GNOME và KDE, và các ứng dụng thích hợp
cho công việc văn phòng nhƣ OpenOffice hay LibreOffice.
Khởi đầu, Linux đƣợc phát triển cho dòng vi xử lý i386 Intel, hiện tại hệ
điều hành này hỗ trợ một số lƣợng lớn các kiến trúc vi xử lý, và đƣợc sử dụng
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 10
trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính
và các thiết bị nhúng nhƣ là các máy điện thoại di động.

Ban đầu, Linux đƣợc phát triển và sử dụng bởi những ngƣời say mê. Tuy
nhiên, hiện nay Linux đã có đƣợc sự hỗ trợ bởi các công ty lớn nhƣ IBM và
Hewlett-Packard, đồng thời nó cũng bắt kịp đƣợc các phiên bản Unix độc
quyền và thậm chí là một thách thức đối với sự thống trị của
Microsoft Windows trong một số lĩnh vực. Sở dĩ Linux đạt đƣợc những thành
công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống
khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix
độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows)
cũng nhƣ là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung
cấp. Một đặc tính nổi trội của nó là đƣợc phát triển bởi một mô hình phát triển
phần mềm nguồn mở hiệu quả.
Tuy nhiên, hiện tại số lƣợng phần cứng đƣợc hỗ trợ bởi Linux vẫn còn rất
khiêm tốn so với Windows vì các trình điều khiển thiết bị tƣơng thích với
Windows nhiều hơn là Linux. Nhƣng trong tƣơng lai số lƣợng phần cứng đƣợc
hỗ trợ cho Linux sẽ tăng lên.
I.2 Kiến trúc hệ điều hành Linux

Hình 2. 1 Kiến trúc hệ điều hành linux
I.2.1 Hạt Nhân (kernel)
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 11
Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều
khiển hoạt động của toàn bộ hệ thống. Hạt nhân đƣợc phát triển không ngừng,
thƣờng có 2 phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản
ổn định mới nhất. Kernel đƣợc thiết kế theo dạng module, do vậy kích thƣớc
thật sự của Kernel rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ,
các bộ phận khác sẽ đƣợc tải nếu có yêu cầu sử dụng. Nhờ vậy so với các hệ
điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ
lên mà không cần quan tâm nó có sử dụng không.
Kernel đƣợc xem là trái tim của hệ điều hành Linux, ban đầu nhân đƣợc

phát triển cho các CPU Intel 80386. Điểm mạnh của loại CPU này là khả năng
quản lý bộ nhớ. Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần
cứng của máy. Yêu cầu của các chƣơng trình cần rất nhiều bộ nhớ, trong khi hệ
thống có ít bộ nhớ, hệ điều hành sử dụng không gian đĩa hoán đổi (swap space)
để lƣu trữ các dữ liệu xử lý của chƣơng trình. Swap space cho phép ghi các
trang của bộ nhớ xuất các vị trí dành sẵn trong đĩa và xem nó nhƣ phần mở
rộng của vùng nhớ chính. Bên cạnh sử dụng swap space, Linux còn hỗ trợ các
đặc tính sau:
- Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến
trình làm tắt toàn bộ hệ thống.
- Chỉ tải các chƣơng trình khi có yêu cầu.
I.2.2 Shell
Cung cấp các tập lệnh cho ngƣời dùng thao tác với kernel để thực hiện
công việc. Shell đọc các lệnh từ ngƣời dùng và xử lý. Ngoài ra shell còn cung
cấp một số đặc tính khác nhƣ : chuyển hƣớng xuất nhập, ngôn ngữ lệnh để tạo
các tập tin tƣơng tự nhƣ bat trong DOS.
Có nhiều Shell đƣợc sử dụng trong Linux. Có nhiều loại shell đƣợc dùng
trong Linux. Điểm quan trọng để phân biệt các shell khác nhay là bộ lệnh của
mỗi shell. Ví dụ , C shell thì sử dụng các lệnh tƣơng tự ngôn ngữ C, Bourne thì
dùng ngôn ngữ lệnh khác…
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 12
Shell sử dụng chính trong Linux là GNU Bourne Again Shell ( bash ).
Shell này là shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ
thông Unix, với nhiều tính năng mới nhƣ : điều khiển các tiến trình, các lệnh
history, tên tập tin dài….
I.2.3 Các tiện ích
Các tiện ích đƣợc ngƣời dùng thƣờng xuyên sử dụng. Nó dùng cho nhiều
thứ nhƣ thao tác tập tin, đĩa, nén, sao lƣu tập tin, … Tiện ích trong Linux có thể
là các lệnh thao tác hay các chƣơng trình giao diện đồ họa. Hầu hết các tiện ích

dùng trong Linux là sản phẩm của chƣơng trình GNU. Linux có sẵn rất nhiều
tiện ích nhƣ trình biên dịch, trình gỡ lỗi, soạn văn bản,… Tiện ích có thể đƣợc
sử dụng bởi ngƣời dùng hoặc hệ thống. Một số tiện ích đƣợc xem là chuẩn
trong hệ thống Linux nhƣ passwd, ls, pa, vi …
I.2.4 Chƣơng trình ứng dụng
Khác với các tiện ích, các ứng dụng nhƣ chƣơng trình word, hệ quản trị cơ
sở dữ liệu,… là các chƣơng trình có độ phức tạp lớn và đƣợc các nhà sản xuất
viết ra.
I.3 Các đặc tính cơ bản của Linux
Linux hỗ trợ các tính năng cơ bản thƣờng thấy trong các hệ điều hành
Unix và nhiều tính năng khác mà không hệ điều hành nào có đƣợc. Linux cung
cấp môi trƣờng phát triển một cách đầy đủ bao gồm các thƣ viện chuẩn, các
công cụ lập trình, trình biên dịch, debug,… nhƣ bạn mong đợi ở các hệ điều
hành Unix khác. Hệ thống Linux trội hơn các hệ thống khác trên nhiều mặt mà
ngƣời dùng quan tâm nhƣ sự phát triển tốc độ, dễ sử dụng và đặc biệt là sự phát
triển và hỗ trợ mạng. Một số đặc điểm của Linux chúng ta cần quan tâm:
I.3.1 Đa tiến trình
Là đặc tính cho phép ngƣời dùng thực hiện nhiều tiến trình đồng thời. Ví
dụ bạn vừa in, vừa soạn văn bản, vừa nghe nhạc,… cùng một lúc. Máy tính sử
dụng chỉ một CPU nhƣng xử lý đồng thời nhiều tiến trình cùng lúc. Thực chất
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 13
là tại một thời điểm CPU chỉ xử lý đƣợc một mệnh lệnh, việc thực hiện cùng
lúc nhiều công việc là giả tạo bằng cách làm việc xen kẽ và chuyển đổi trong
thời gian nhanh. Do đó ngƣời dùng cứ ngỡ là thực hiện đồng thời.
I.3.2 Tốc độ cao
Hệ điều hành Linux đƣợc biết đến nhƣ một hệ điều hành có tốc độ xử lý
cao, bởi vì nó thao tác rất hiệu quả đến tài nguyên nhƣ: bộ nhớ, đĩa,…
I.3.3 Bộ nhớ ảo
Khi hệ thống sử dụng quá nhiều chƣơng trình lớn dẫn đến không đủ bộ

nhớ chính (RAM) để hoạt động. Trong trƣờng hợp đó, Linux dung bộ nhớ từ
đĩa vào partition swap. Hệ thống sẽ đƣa các chƣơng trình hoặc dữ liệu nào
chƣa có yêu cầu truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống
chuyển lên lại bộ nhớ chính.
I.3.4 Sử dụng chung thư viện
Hệ thống Linux có rất nhiều thƣ viện dùng chung cho nhiều ứng dụng.
Điều này sẽ giúp hệ thống tiết kiệm đƣợc tài nguyên cũng nhƣ thời gian xử lý.
I.3.5 Sử dụng các chương trình xử lý văn bản
Chƣơng trình xử lý văn bản là một trong những chƣơng trình rất cần thiết
đối với ngƣời sử dụng. Linux cung cấp nhiều chƣơng trình cho phép ngƣời
dùng thao tác với văn bản nhƣ vi, emacs, nroff.
I.3.6 Sử dụng giao diện cửa sổ
Giao diện cửa sổ dùng hệ thống X Window, có giao diện nhƣ hệ điều hành
Windows. Với hệ thống này ngƣời dùng rất thuận tiện khi làm việc trên hệ
thống. X Window System hay còn gọi tắt là X đƣợc phát triển tại viện
Massachusetts Institute of Technology. Nó đƣợc phát triển để tạo ra môi trƣờng
làm việc không phụ thuộc phần cứng. X chạy dƣới dạng client – server. Hệ
thống X Window hoạt động qua hai bộ phận:
- Phần server còn gọi là X server.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 14
- Phần client đƣợc gọi là X Window manager hay desktop environment.
- X Server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86.
Client sử dụng thƣờng là KDE (K Desktop Environment) và GNOME (GNU
Network Object Model Environment).
Dịch vụ Samba sử dụng tài nguyên đĩa, máy in với Windows. Tên Samba
xuất phát từ giao thức Server Message Block (SMB) mà Window sử dụng để
chia sẻ tập tin và máy in. Samba là chƣơng trình sử dụng giao thức SMB chạy
trên Linux. Sử dụng Samba bạn có thể chia sẻ tập tin và máy in với các máy
Windows

I.3.7 Network Information Service (NIS)
Dịch vụ NIS cho phép chia sẻ các tập tin password và group trên mạng.
NIS là một hệ thống cơ sở dữ liệu dạng client – server, chứa các thông tin của
ngƣời dùng và dùng để chứng thực ngƣời dùng. NIS xuất phát từ hãng Sun
Microsystem với tên là Yellow Pages.
I.3.8 Lập lịch hoạt động chương trình, ứng dụng
Chƣơng trình lập lịch trong Linux xác định các ứng dụng, script thực thi
theo một sự sắp xếp của ngƣời dùng nhƣ: at, cron, batch.
I.3.9 Các tiện ích sao lưu dữ liệu
Linux cung cấp các tiện ích nhƣ tar, cpio và dd để sao lƣu và backup dữ
liệu. Red Hat Linux còn cung cấp tiện ích Backup and Restore System Unix
(BRU) cho phép tự động backup dữ liệu theo lịch.
I.3.10 Hỗ trợ nhiều ngôn ngữ lập trình
Linux cung cấp một môi trƣờng lập trình Unix đầy đủ bao gồm các thƣ
viện chuẩn, các công cụ lập trình, trình biên dịch, chƣơng trình debug mà bạn
có thể tìm thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng
trong các hệ điều hành Unix là C và C++. Linux dùng trình biên dịch cho C và
C++ là gcc, chƣơng trình biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 15
C, Linux cũng cung cấp các trình biên dịch, thông dịch cho các ngôn ngữ khác
nhƣ Pascal, Fortan, Java, …
I.4 Cấu trúc hệ thống tập tin/thƣ mục trong Linux
Trong Linux không có khái niệm ổ đĩa. Sau quá trình khởi động, toàn bộ
các thƣ mục và tập tin đƣợc kết gắn và tạo thành một hệ thống tập tin thống
nhất, bắt đầu từ gốc ―/‖.

Hình 2. 2 Cấu trúc thƣ mục hệ thống của Linux
I.5 Quản lý tài khoản và phân quyền trên Linux
I.5.1 Quản lý tài khoản trong Linux

a) Tài khoản ngƣời dùng
Cũng giống nhƣ Windows,Linux cũng có các loại tài khoản khác nhau,
thƣờng đƣợc chia làm 2 loại chính : tài khoản ngƣời dùng bình thƣờng và tài
khoản quản trị (root ).
Root là tài khoản quản trị có ảnh hƣởng rất lớn đối với an toàn của hệ
thống, tài khoản root có các các quyền nhƣ: tạo tài khoản ngƣời dùng, cài đặt
phần mềm, thêm, xóa, sửa đổi các tài khoản…
Mỗi ngƣời sử dụng trên hệ thống đƣợc mô tả qua các thông tin sau:
- username : tên ngƣời sử dụng
- password : mật khẩu (nếu có)
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 16
- uid : số nhận dạng (user identify number )
- gid : số của nhóm(group identify number )
- comment : chú thích
- Thƣ mục chủ của tài khoản (home directory )
- Shell đăng nhập (chƣơng trình chạy lúc bắt đầu phiên làmviệc)
Các thông tin trên đƣợc chứa trong tập tin /etc/passwd
b) Tài khoản nhóm ngƣời dùng
Một nhóm ngƣời sử dụng đƣợc mô tả bằng các thông tin sau:
- groupname : tên của nhóm
- gid : số của nhóm (gid: group identify number)
- danh sách các tài khoản thuộc nhóm
Các thông tin trên đƣợc chứa trong tập tin /etc/group
I.5.2 Phân quyền ngƣời dùng trên hệ thống tập tin
Một trong những thành phần chính của họ *nix là hệ thống quyền hạn
truy cập (Permission) cho mọi đối tƣợng (file (-), thƣ mục (d), link (l)). Hệ
thống này đóng 1 vai trò quan trọng trong việc cung cấp mức an ninh cao và
tính ổn định cho HDH Linux.
Mỗi 1 đối tƣợng gắn với 3 loại quyền: read (đọc), write (ghi) và execute

(thực thi). Và mỗi 1 quyền này lại đƣợc chỉ định cho 3 loại user:
+ owner: chủ sở hữu của đối tƣợng – mặc định ban đầu là user tạo ra đối tƣợng
đó
+ group: 1 nhóm các user chia sẻ chung quyền hạn truy cập - mặc định ban đầu
là group mà owner ở trên thuộc về.
+ other: tất cả các user không thuộc 2 nhóm trên.

×