You are on page 1of 3

IPTABLES là công nghệ lọc gói tin được tích hợp vào kernel Linux kể từ phiên bản 2.4.

Netfilter/Iptables gồm hai thành phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài
nhân. Với iptables, người quản trị có thể thiết lập các quy tắc trong các bảng của tường lửa
nhằm mục đích kiểm soát các gói tin ra vào hệ thống mạng.
Contents
1. CẤU TRÚC IPTABLES
1.1. TABLES
1.2. CHAINS
1.3. TARGETS
2. RULES
2.1. CÁCH VIẾT RULE
2.2. MỘT SỐ VÍ DỤ
3. LỆNH THAO TÁC IPTABLES

1. CẤU TRÚC IPTABLES


iptables được tạo thành từ các cấu trúc cơ bản dưới đây:
 TABLES
 CHAINS
 TARGETS
1.1. TABLES
TABLES là thành phần chính của hệ thống xử lý gói tin, bao gồm các bảng FILTER, NAT
và MANGLE. FILTER được sử dụng để lọc các gói tin, nó là bảng mặc định nếu không có quy
tắc nào được chỉ định. NAT được sử dụng để sửa địa chỉ nguồn hoặc đích đến của các gói tin
hoặc theo dõi các kết nối. MANGLE được sử dụng để chỉnh sửa QOS bit trong phần TCP Header
của các gói tin
1.2. CHAINS
CHAINS được liên kết với mỗi bảng. Chain là danh sách các quy tắc trong một bảng và
chúng được liên kết với các điểm móc nối (hook points) trên hệ thống. Hook points có thể hiểu là
những nơi mà bạn có thể chặn lưu lượng truy cập và thiết lập các quy tắc. Dưới đây là các
table/chain mặc định của iptables:
 FILTER: Input, Output, Forward
 NAT: Prerouting, Postrouting, Output
 MANGLE: Prerouting, Postrouting, Input, Output, Forward
Chức năng của từng chain như sau:
 INPUT: Lọc những gói tin đi vào hệ thống
 OUTPUT: Lọc những gói tin đi ra từ hệ thống
 FORWARD: Lọc gói dữ liệu đi đến các server khác kết nối trên các NIC khác của
firewall
 PRE-ROUTING: Sửa địa chỉ đích của gói tin trước khi định tuyến
 POST-ROUTING: Sửa địa chỉ nguồn của gói tin sau khi gói tin đã được định tuyến

Nói cách khác, nếu bạn muốn xử lý các gói tin trước khi đi ra từ hệ thống, nhưng không thực
hiện NAT hoặc MANGEL, bạn sẽ nhìn vào chains OUTPUT trong bảng FILTER. Nếu bạn muốn

1
xử lý các gói tin từ bên ngoài đi vào hệ thống, bạn nên sử dụng bảng FILTER kết hợp với chain
INPUT.
1.3. TARGETS
TARGETS xác định điều gì sẽ xảy ra với một gói tin trong một chain nếu có một quy tắc
(rule) được tìm thấy trong chain. Hai hành động phổ biến nhất là DROP (loại bỏ) và ACCEPT
(cho phép). Vì vậy, nếu bạn muốn cấm một gói tin, bạn viết một quy tắc phù hợp với lưu lượng
truy cập cụ thể và kết thúc bằng DROP target. Ngược lại, nếu bạn muốn cho phép một cái gì đó,
hãy kết thúc quy tắc bằng ACCEPT target.

2. RULES
2.1. CÁCH VIẾT RULE
Cấu trúc:
iptables [-t <tables-name>] <command> <chain-name> <parameter-1> <option-1>
<parameter-n> <option-n>
Trong đó:
 Tables-name: cho phép lựa chọn table sử dụng. Mặc định là FILTER table.
 Command:

Tùy chọn Mô tả
-A Nối 1 rule vào chain
-D Xóa 1 rule ra khỏi chain
-I Chèn 1 rule vào chain
-R Thay thế rule
-L Xem các rule đã được load
-N Tạo 1 chain mới
-X Xóa 1 chain
-E Đổi tên chain

 Chain-name:

FILTER NAT MANGEL


INPUT PREROUTING INPUT
OUTPUT POSTROUTING OUTPUT
FORWARD OUTPUT FORWARD
PREROUTING
POSTROUTING

 Parameters:

Parameter Mô tả
s
-p Protocol (tcp, udp, icmp)
-s Source address [/mask]
2
-d Destination address [/mask]
-i Tên interface mà packet nhận vào
-o Tên interface mà packet sẽ gửi ra
-j Chuyển packet đến target khi thỏa điều kiện của rule
Target có sẵn:
– ACCEPT: iptables chấp nhận chuyển data đến đích.
– DROP: iptables khóa những packet.
– LOG: thông tin của packet sẽ gởi vào syslog
REJECT: ngăn chặn packet và gởi thông báo cho sender
DNAT: thay đổi địa chỉ đích (–to-destination)
SNAT: Thay đổi địa chỉ source (–to-source)

 Options:

Parameters Match options Mô tả


-p tcp –dport Thiết lập destination port
–sport Thiết lập source port
–syn Gói TCP với cờ SYN bật lên
–tcp-flags Thiết lập flags (SYN, ACK, FYN,
RST)
-p udp –dport
–sport
-p icmp –icmp-type Thiết lập loại icmp (echo-request,
echo-reply, …)
#iptable –p icmp –h
(để xem thêm)
-m multiport –sport <port, port> Thiết lập nhiều port
–dport <port,port>
2.2. MỘT SỐ VÍ DỤ
Cho phép các packet từ đường mạng 192.168.1.0 qua firewall
iptables -I INPUT -s 192.168.1.0/24 -j ACCEPT
Lệnh trên chèn 1 rule vào chain INPUT trong bảng FILTER, kiểm tra các packet nếu từ
mạng 192.168.1.0/24 thì chấp nhận packet.

3. LỆNH THAO TÁC IPTABLES


 Vị trí file iptables: /etc/sysconfig/iptables
 Khởi động iptables: service iptables start
 Tắt iptables: service iptables stop
 Tái khởi động iptables: service iptables restart
 Xác định trạng thái iptables: service iptables status
 Lưu các rule vào file cấu hình: service iptables save
 Xem các rule: iptables -t [table-name] -L
 Xem các rule Output: iptables -L OUTPUT -n -v
 Xem các rule Input: iptables -L INPUT -n -v

You might also like