Hướng dẫn cho Người mới bắt đầu về iptables, Tường lửa Linux

Aug 27, 2025
Quyền riêng tư và Bảo mật

Iptables là một tiện ích tường lửa cực kỳ linh hoạt được xây dựng cho hệ điều hành Linux. Cho dù bạn là một người mới làm quen với Linux hay một quản trị viên hệ thống, có thể có một số cách mà iptables có thể là một công dụng tuyệt vời đối với bạn. Đọc tiếp khi chúng tôi hướng dẫn bạn cách định cấu hình tường lửa Linux linh hoạt nhất.

Về iptables

iptables là một tiện ích tường lửa dòng lệnh sử dụng chuỗi chính sách để cho phép hoặc chặn lưu lượng. Khi một kết nối cố gắng tự thiết lập trên hệ thống của bạn, iptables sẽ tìm kiếm một quy tắc trong danh sách của nó để khớp với nó. Nếu không tìm thấy, nó sẽ sử dụng hành động mặc định.

iptables hầu như luôn được cài đặt sẵn trên bất kỳ bản phân phối Linux nào. Để cập nhật / cài đặt nó, chỉ cần truy xuất gói iptables:

sudo apt-get install iptables

Có các lựa chọn thay thế GUI cho iptables như Khởi lửa , nhưng iptables không thực sự khó khăn như vậy khi bạn có một vài lệnh. Bạn cần hết sức cẩn thận khi định cấu hình các quy tắc iptables, đặc biệt nếu bạn đang SSH vào một máy chủ, bởi vì một lệnh sai có thể khóa bạn vĩnh viễn cho đến khi nó được sửa theo cách thủ công tại máy thực.

Các loại chuỗi

iptables sử dụng ba chuỗi khác nhau: đầu vào, chuyển tiếp và đầu ra.

Đầu vào - Chuỗi này được sử dụng để kiểm soát hành vi cho các kết nối đến. Ví dụ: nếu người dùng cố gắng SSH vào PC / máy chủ của bạn, iptables sẽ cố gắng khớp địa chỉ IP và cổng với một quy tắc trong chuỗi đầu vào.

Ở đằng trước - Chuỗi này được sử dụng cho các kết nối đến không thực sự được phân phối cục bộ. Hãy nghĩ về một bộ định tuyến - dữ liệu luôn được gửi đến nó nhưng hiếm khi thực sự được dành cho chính bộ định tuyến; dữ liệu chỉ được chuyển tiếp đến mục tiêu của nó. Trừ khi bạn đang thực hiện một số loại định tuyến, NATing hoặc điều gì đó khác trên hệ thống của bạn yêu cầu chuyển tiếp, bạn thậm chí sẽ không sử dụng chuỗi này.

Có một cách chắc chắn để kiểm tra xem hệ thống của bạn có sử dụng / cần chuỗi chuyển tiếp hay không.

iptables -L -v

Ảnh chụp màn hình ở trên là của một máy chủ đã hoạt động được vài tuần và không có hạn chế về kết nối đến hoặc đi. Như bạn có thể thấy, chuỗi đầu vào đã xử lý 11GB gói và chuỗi đầu ra đã xử lý 17GB. Mặt khác, chuỗi chuyển tiếp không cần xử lý một gói tin. Điều này là do máy chủ không thực hiện bất kỳ loại chuyển tiếp hoặc được sử dụng làm thiết bị chuyển tiếp.

Đầu ra - Chuỗi này được sử dụng cho các kết nối đi. Ví dụ: nếu bạn cố gắng ping howtogeek.com, iptables sẽ kiểm tra chuỗi đầu ra của nó để xem các quy tắc liên quan đến ping và howtogeek.com là gì trước khi đưa ra quyết định cho phép hoặc từ chối nỗ lực kết nối.

Báo trước

Mặc dù ping một máy chủ bên ngoài có vẻ giống như một thứ gì đó chỉ cần duyệt qua chuỗi đầu ra, hãy nhớ rằng để trả về dữ liệu, chuỗi đầu vào cũng sẽ được sử dụng. Khi sử dụng iptables để khóa hệ thống của bạn, hãy nhớ rằng nhiều giao thức sẽ yêu cầu giao tiếp hai chiều, vì vậy cả chuỗi đầu vào và đầu ra sẽ cần được định cấu hình đúng cách. SSH là một giao thức phổ biến mà mọi người quên cho phép trên cả hai chuỗi.

Hành vi mặc định của chuỗi chính sách

Trước khi đi vào và định cấu hình các quy tắc cụ thể, bạn sẽ muốn quyết định xem bạn muốn hành vi mặc định của ba chuỗi là gì. Nói cách khác, bạn muốn iptables làm gì nếu kết nối không khớp với bất kỳ quy tắc hiện có nào?

Để xem chuỗi chính sách của bạn hiện đang được định cấu hình để làm gì với lưu lượng truy cập chưa từng có, hãy chạy iptables -L chỉ huy.

Như bạn có thể thấy, chúng tôi cũng đã sử dụng lệnh grep để cung cấp cho chúng tôi đầu ra rõ ràng hơn. Trong ảnh chụp màn hình đó, các chuỗi của chúng tôi hiện đang chấp nhận lưu lượng truy cập.

Nhiều khi không, bạn sẽ muốn hệ thống của mình chấp nhận các kết nối theo mặc định. Trừ khi bạn đã thay đổi các quy tắc chuỗi chính sách trước đó, cài đặt này phải được định cấu hình. Dù bằng cách nào, đây là lệnh chấp nhận kết nối theo mặc định:

iptables - CHẤP NHẬN ĐẦU VÀO chính sách
iptables - CHẤP NHẬN ĐẦU RA chính sách
iptables - CHÍNH SÁCH CHẤP NHẬN MỞ RỘNG

Bằng cách mặc định cho quy tắc chấp nhận, sau đó bạn có thể sử dụng iptables để từ chối các địa chỉ IP hoặc số cổng cụ thể, trong khi tiếp tục chấp nhận tất cả các kết nối khác. Chúng tôi sẽ thực hiện các lệnh đó sau một phút.

Nếu bạn muốn từ chối tất cả các kết nối và chỉ định thủ công những kết nối nào bạn muốn cho phép kết nối, bạn nên thay đổi chính sách mặc định của chuỗi để loại bỏ. Làm điều này có lẽ sẽ chỉ hữu ích cho các máy chủ chứa thông tin nhạy cảm và chỉ có cùng địa chỉ IP kết nối với chúng.

iptables - CHÍNH SÁCH ĐẦU VÀO DROP
iptables - CHÍNH SÁCH ĐẦU RA DROP
iptables --chính sách FORWARD DROP

Phản hồi dành riêng cho kết nối

Với các chính sách chuỗi mặc định của bạn được định cấu hình, bạn có thể bắt đầu thêm quy tắc vào iptables để iptables biết phải làm gì khi gặp kết nối từ hoặc đến một địa chỉ IP hoặc cổng cụ thể. Trong hướng dẫn này, chúng ta sẽ xem xét ba "câu trả lời" cơ bản và thường được sử dụng nhất.

Chấp nhận - Cho phép kết nối.

Rơi vãi - Bỏ kết nối, hành động như chưa từng xảy ra. Điều này là tốt nhất nếu bạn không muốn nguồn nhận ra hệ thống của bạn tồn tại.

Từ chối - Không cho phép kết nối nhưng gửi lại lỗi. Điều này là tốt nhất nếu bạn không muốn một nguồn cụ thể kết nối với hệ thống của mình nhưng bạn muốn họ biết rằng tường lửa của bạn đã chặn họ.

Cách tốt nhất để chỉ ra sự khác biệt giữa ba quy tắc này là hiển thị nó trông như thế nào khi PC cố gắng ping một máy Linux với iptables được định cấu hình cho từng cài đặt này.

Cho phép kết nối:

Bỏ kết nối:

Từ chối kết nối:

Cho phép hoặc Chặn các kết nối cụ thể

Với chuỗi chính sách của bạn đã được định cấu hình, giờ đây bạn có thể định cấu hình iptables để cho phép hoặc chặn các địa chỉ, dải địa chỉ và cổng cụ thể. Trong các ví dụ này, chúng tôi sẽ đặt các kết nối thành RƠI VÃI , nhưng bạn có thể chuyển chúng sang CHẤP NHẬN hoặc là TỪ CHỐI , tùy thuộc vào nhu cầu của bạn và cách bạn định cấu hình chuỗi chính sách của mình.

Lưu ý: Trong những ví dụ này, chúng tôi sẽ sử dụng iptables -A để nối các quy tắc vào chuỗi hiện có. iptables bắt đầu ở đầu danh sách và đi qua từng quy tắc cho đến khi tìm thấy quy tắc phù hợp. Nếu bạn cần chèn một quy tắc bên trên một quy tắc khác, bạn có thể sử dụng iptables -I [chain] [number] để chỉ định số nó sẽ có trong danh sách.

Kết nối từ một địa chỉ IP

Ví dụ này cho thấy cách chặn tất cả các kết nối từ địa chỉ IP 10.10.10.10.

iptables -A INPUT -s 10.10.10.10 -j DROP

Kết nối từ nhiều địa chỉ IP

Ví dụ này cho thấy cách chặn tất cả các địa chỉ IP trong phạm vi mạng 10.10.10.0/24. Bạn có thể sử dụng mặt nạ mạng hoặc ký hiệu gạch chéo tiêu chuẩn để chỉ định phạm vi địa chỉ IP.

iptables -A INPUT -s 10.10.10.0/24 -j DROP

hoặc là

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

Kết nối với một cổng cụ thể

Ví dụ này cho thấy cách chặn các kết nối SSH từ 10.10.10.10.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP

Bạn có thể thay thế “ssh” bằng bất kỳ giao thức hoặc số cổng nào. Các -p tcp một phần của mã cho iptables biết loại kết nối mà giao thức sử dụng. Nếu bạn đang chặn một giao thức sử dụng UDP thay vì TCP, thì -p udp thay vào đó sẽ là cần thiết.

Ví dụ này cho thấy cách chặn kết nối SSH từ bất kỳ địa chỉ IP nào.

iptables -A INPUT -p tcp --dport ssh -j DROP

Các trạng thái kết nối

Như chúng tôi đã đề cập trước đó, rất nhiều giao thức sẽ yêu cầu giao tiếp hai chiều. Ví dụ: nếu bạn muốn cho phép kết nối SSH với hệ thống của mình, các chuỗi đầu vào và đầu ra sẽ cần một quy tắc được thêm vào chúng. Nhưng, điều gì sẽ xảy ra nếu bạn chỉ muốn SSH vào hệ thống của mình được cho phép? Không thêm quy tắc vào chuỗi đầu ra cũng cho phép các lần thử SSH gửi đi?

Đó là nơi xuất hiện các trạng thái kết nối, cung cấp cho bạn khả năng cần thiết để cho phép giao tiếp hai chiều nhưng chỉ cho phép thiết lập kết nối một chiều. Hãy xem ví dụ này, trong đó các kết nối SSH TỪ 10.10.10.10 được phép, nhưng kết nối SSH ĐẾN 10.10.10.10 thì không. Tuy nhiên, hệ thống được phép gửi lại thông tin qua SSH miễn là phiên đã được thiết lập, điều này giúp cho việc giao tiếp SSH giữa hai máy chủ này có thể thực hiện được.

iptables -A INPUT -p tcp --dport ssh -s trạng thái 10.10.10.10 -m - trạng thái MỚI, THÀNH LẬP -j CHẤP NHẬN

iptables -A OUTPUT -p tcp - thể thao 22 -d 10.10.10.10 -m trạng thái - trạng thái LẬP TỨC -j CHẤP NHẬN

Lưu thay đổi

Những thay đổi mà bạn thực hiện đối với các quy tắc iptables của mình sẽ bị loại bỏ vào lần tiếp theo khi dịch vụ iptables được khởi động lại trừ khi bạn thực hiện lệnh để lưu các thay đổi. Lệnh này có thể khác nhau tùy thuộc vào phân phối của bạn:

Ubuntu:

sudo / sbin / iptables-save

Red Hat / CentOS:

/ sbin / service iptables save

Hoặc là

/etc/init.d/iptables lưu

Các lệnh khác

Liệt kê các quy tắc iptables hiện được định cấu hình:

iptables -L

Thêm -at tùy chọn sẽ cung cấp cho bạn thông tin gói và byte, đồng thời thêm -n sẽ liệt kê mọi thứ bằng số. Nói cách khác - tên máy chủ, giao thức và mạng được liệt kê dưới dạng số.

Để xóa tất cả các quy tắc hiện được định cấu hình, bạn có thể đưa ra lệnh tuôn ra.

iptables -F

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


Quyền riêng tư và Bảo mật - Các bài báo phổ biến nhất

Cách đặt ngày hết hạn khi chia sẻ tệp trên Google Drive

Quyền riêng tư và Bảo mật Nov 21, 2024

Chia sẻ tệp từ Google Drive là một cách tuyệt vời để cho phép khách hàng và nhà thầu truy cập tài liệu mà không cần họ tải xuống. Nếu bạn ..


Cách bật tiện ích mở rộng trong Chế độ ẩn danh của Chrome

Quyền riêng tư và Bảo mật Mar 21, 2025

Chế độ ẩn danh của Chrome ngăn các trang web theo dõi bạn khi bạn trực tuyến. Vì Chrome không thể đảm bảo rằng các tiện ích mở r�..


Cách nhắn tin trực tiếp cho mọi người qua Instagram

Quyền riêng tư và Bảo mật Feb 10, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Instagram không chỉ là một nơi để mọi người chia sẻ ảnh mà còn là một mạng xã hội hoàn chỉnh. Bạn thậm ..


Cách xem ai được kết nối với mạng Wi-Fi của bạn

Quyền riêng tư và Bảo mật Dec 13, 2024

Bạn có biết ai đã kết nối với mạng Wi-Fi của bộ định tuyến của bạn không? Hãy xem danh sách các thiết bị được kết nối với mạng Wi-Fi ..


Cách chia sẻ tài liệu iWork từ iCloud

Quyền riêng tư và Bảo mật Jun 23, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Có thể chia sẻ tài liệu để cộng tác là một khả năng vô giá, không thể thiếu trong các ứng dụng văn..


Cách xác định lạm dụng mạng với Wireshark

Quyền riêng tư và Bảo mật Jul 12, 2025

Wireshark là con dao phân tích mạng của Quân đội Thụy Sĩ. Cho dù bạn đang tìm kiếm lưu lượng truy cập ngang hàng trên mạng của mình hay chỉ muố..


Mối nguy hiểm của ổ USB không đáng tin cậy là gì?

Quyền riêng tư và Bảo mật Feb 4, 2025

NỘI DUNG KHÔNG ĐƯỢC CHỨNG MINH Sử dụng ổ USB đáng tin cậy mà bạn sở hữu trên hệ điều hành cập nhật, được bảo mật tốt là một chuy�..


Thiết lập SSH trên bộ định tuyến của bạn để truy cập web an toàn từ mọi nơi

Quyền riêng tư và Bảo mật Jul 13, 2025

Kết nối Internet từ các điểm truy cập Wi-Fi, tại nơi làm việc hoặc bất kỳ nơi nào khác xa nhà, dữ liệu của bạn có thể gặp rủi ro không đ..


Thể loại