Category

Search
/

Table of Contents

No table of contents
Join CloudFly's Telegram channel to receive more offers and never miss any promotions from CloudFly

IPtables Là Gì? Những Điều Cần Biết Về IPtables

Khi nói đến bảo mật mạng trong hệ điều hành Linux, IPtables là một trong những công cụ quan trọng nhất mà bạn cần biết. Nó cho phép bạn thiết lập các quy tắc chi tiết để kiểm soát lưu lượng mạng đi vào và đi ra khỏi hệ thống. Vậy IPtables là gì? Hãy cùng CloudFly khám phá những điều cần biết về công cụ này qua bài viết dưới đây nhé.

iptables là gì

1. IPtables là gì?

IPtables là một công cụ quản lý tường lửa trong Linux, cho phép bạn kiểm soát và điều chỉnh luồng dữ liệu trên mạng. Bằng cách thiết lập các quy tắc và chính sách bảo mật dựa trên địa chỉ IP, giao thức, cổng và nhiều yếu tố khác.

Khi dữ liệu di chuyển qua hệ thống mạng, iptables kiểm tra và xử lý các gói tin dựa trên các quy tắc mà bạn đã thiết lập. Bạn có thể tạo và quản lý các chuỗi (chains) và quy tắc (rules) để điều chỉnh việc truy cập mạng. Đồng thời cho phép hoặc chặn các gói tin theo nhu cầu bảo mật của mình. Có thể nói, IPtables cung cấp một cơ chế hoạt động linh hoạt và là một phần quan trọng trong việc bảo vệ hệ thống mạng trong môi trường Linux.

2. Các thành phần của IPtables là gì?

IPtables là công cụ dòng lệnh giúp bạn tương tác với hệ thống lọc gói tin của netfilter. Nó hoạt động dựa trên ba thành phần chính: Tables, Chains và Targets. Những thành phần này cùng nhau giúp quản lý và kiểm soát cách các gói tin dữ liệu được xử lý trong hệ thống mạng của bạn.

2.1. Tables

IPtables sử dụng các bảng (tables) để định nghĩa các quy tắc (rules) cho các gói tin. Dưới đây là các loại bảng chính mà IPtables thường sử dụng:

  • Filter Table: Đây là bảng phổ biến nhất trong IPtables. Nó quyết định xem một gói tin có được phép đi đến đích dự kiến hay bị từ chối.
  • NAT Table: Bảng này quản lý các quy tắc liên quan đến NAT (Network Address Translation). Nó có nhiệm vụ thay đổi địa chỉ IP nguồn hoặc đích của gói tin khi thực hiện cơ chế NAT.
  • Mangle Table: Bảng này cho phép bạn chỉnh sửa các thông tin trong header của gói tin, như giá trị TTL, MTU, và Type of Service.
  • Raw Table: IPtables hoạt động như một tường lửa stateful, có nghĩa là nó kiểm tra trạng thái của các gói tin. Ví dụ như liệu chúng có phải là một phần của kết nối mới hay đã tồn tại. Raw Table giúp bạn xử lý các gói tin trước khi hệ thống bắt đầu kiểm tra trạng thái. Từ đó cải thiện hiệu năng bằng cách loại bỏ một số gói tin khỏi việc theo dõi.
  • Security Table: Một số phiên bản kernel có thể hỗ trợ Security Table, bảng này được sử dụng bởi SELinux để thiết lập các chính sách bảo mật.

2.2. Chains

Các Chains trong IPtables giúp lọc gói tin tại các điểm khác nhau trong quá trình truyền tải. Mỗi Table có một số Chain riêng:

  • Chain PREROUTING: Có mặt trong Nat Table, Mangle Table và Raw Table. Quy tắc trong chain này được thực thi ngay khi gói tin vào giao diện mạng.
  • Chain INPUT: Xuất hiện trong Mangle Table và Nat Table. Quy tắc ở đây được áp dụng ngay trước khi gói tin đến được tiến trình xử lý.
  • Chain OUTPUT: Có mặt trong Raw Table, Mangle Table và Filter Table. Quy tắc trong chain này được thực thi sau khi gói tin được tạo ra bởi tiến trình.
  • Chain FORWARD: Có trong Mangle Table và Filter Table. Quy tắc ở đây được áp dụng cho các gói tin được định tuyến qua máy chủ hiện tại.
  • Chain POSTROUTING: Chỉ có trong Mangle Table và Nat Table. Quy tắc trong chain này được thực thi khi gói tin rời khỏi giao diện mạng.

iptables chains

2.3. Target

Trong IPtables, mỗi quy tắc (rule) có một target định nghĩa hành động phải thực hiện với gói tin khi gói tin đó đáp ứng các điều kiện của quy tắc. Dưới đây là các target phổ biến:

  • ACCEPT: Cho phép gói tin đi vào hệ thống mà không cản trở.
  • DROP: Loại gói tin mà không gửi phản hồi nào, gói tin bị "bỏ qua" mà không thông báo cho nguồn.
  • REJECT: Loại gói tin và gửi một thông báo lỗi về việc không thể kết nối. Ví dụ, có thể gửi thông báo "connection reset" cho gói TCP hoặc "destination host unreachable" cho gói UDP và ICMP.
  • LOG: Cho phép gói tin đi vào hệ thống nhưng cũng ghi lại thông tin về gói tin đó vào log để theo dõi.

Gói tin sẽ được xử lý qua tất cả các quy tắc mà không dừng lại ở bất kỳ quy tắc nào phù hợp. Nếu gói tin không khớp với quy tắc nào, nó sẽ được chấp nhận theo cấu hình mặc định.

3. Cách thức hoạt động của IPtables là gì?

Khi dữ liệu được gửi qua Internet, nó được định dạng và sau đó được lọc bởi hệ thống Linux qua các bảng bộ lọc. IPtables là công cụ dòng lệnh, đồng thời cũng là tường lửa của Linux, giúp bạn cấu hình, duy trì và quản lý các bảng này.

Với IPtables, bạn có thể tạo và quản lý nhiều bảng khác nhau. Mỗi bảng chứa các chuỗi (chains), và mỗi chuỗi có các quy tắc (rules) để quyết định hành động khi gói tin đáp ứng điều kiện của quy tắc đó. Mỗi quy tắc sẽ có một mục tiêu (target) cụ thể để xử lý gói tin. Các mục tiêu phổ biến bao gồm:

  • ACCEPT: Cho phép gói tin tiếp tục đi qua.
  • DROP: Từ chối gói tin và không cho phép nó đi qua.
  • RETURN: Bỏ qua quy tắc hiện tại và quay lại quy tắc kế tiếp trong chuỗi mà gói tin đang xử lý.

cách thức hoạt động của iptables là gì

4. Các tùy chọn trong IPtables

IPtables cung cấp nhiều tùy chọn linh hoạt để bạn có thể thực hiện các thao tác khác nhau. Để sử dụng công cụ này hiệu quả, bạn cần nhớ các tùy chọn quan trọng sau đây:

4.1. Tùy chọn để chỉ định thông số IPtables

Các tùy chọn trong IPtables được phân loại rõ ràng theo từng nhóm khác nhau. Trong số đó, tùy chọn để chỉ định các tham số cho công cụ này là rất quan trọng. Dưới đây là chi tiết về cách thực hiện các tùy chọn này:

  • Chỉ định tên Table: -t
  • Chỉ định loại giao thức: -p
  • Chỉ định card mạng vào: -i
  • Chỉ định card mạng ra: -o
  • Chỉ định IP nguồn: -s <địa_chỉ _ip_nguồn>
  • Chỉ định IP đích: -d <địa_chỉ_ip_đích>
  • Chỉ định cổng nguồn: --sport
  • Chỉ định cổng đích: --dport

4.2. Tùy chọn để thao tác trên chain

Các tùy chọn để thao tác với chain giúp bạn quản lý các chuỗi quy tắc trong IPtables. Dưới đây là các tùy chọn quan trọng:

  • Tạo chain mới: iptables -N 
  • Xóa tất cả các quy tắc trong chain: iptables -X 
  • Danh sách các chain ‘built-in’ (INPUT, OUTPUT & FORWARD): iptables -p
  • Liệt kê các quy tắc trong chain: iptables -L
  • Xóa các quy tắc trong chain: iptables -F
  • Đặt lại bộ đếm packet về 0: iptables -Z

4.3. Tùy chọn để thao tác trên rule 

Để làm việc với các quy tắc trong Iptables, bạn cần sử dụng các tùy chọn cụ thể đã được quy định. Dưới đây là những tùy chọn quan trọng bạn nên nhớ để thao tác với quy tắc một cách dễ dàng:

  • Thêm quy tắc: -A
  • Xóa quy tắc: -D
  • Thay thế quy tắc: -R
  • Chèn thêm quy tắc: -I

các tùy chọn trong iptables

Hy vọng bài viết trên trên đã giúp bạn hiểu rõ hơn về IPtables là gì và những điều cần biết về IPtables. Nếu còn thắc mắc hay muốn đăng ký máy chủ ảo Cloud Server tại CloudFly, hãy liên hệ ngay với chúng tôi qua thông tin bên dưới để được tư vấn và hỗ trợ chi tiết. Đội ngũ kỹ thuật có chuyên môn cao luôn sẵn sàng 24/7 để giải quyết mọi vấn đề của bạn.

THÔNG TIN LIÊN HỆ:

  • Group săn sale: https://t.me/cloudflyvn

 

Join CloudFly's Telegram channel to receive more offers and never miss any promotions from CloudFly
Share