Cách chặn / cho phép ping bằng iptables trong Ubuntu

Tác giả NetworkEngineer, T.Tư 26, 2022, 10:01:30 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách chặn / cho phép ping bằng iptables trong Ubuntu


1. Iptables là gì?

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

Bộ lọc gói tin iptables lần đầu tiên được viết bởi Rust Seller và là sản phẩm của nhóm Netfilter Core. Nó được viết bằng ngôn ngữ C và được phát hành lần đầu tiên vào năm 1998. Công ty phát hành các phiên bản ổn định theo thời gian, có thể tải xuống từ kho lưu trữ sau:

  Đăng nhập để xem liên kết

Trang web của công ty:   Đăng nhập để xem liên kết

Để tìm hiểu thêm về iptables và cách sử dụng nó, hãy làm theo tài liệu chính thức tại:

  Đăng nhập để xem liên kết

2. Ping là gì?

Ping hoặc Packet Internet Groper là một tiện ích quản lý mạng cho phép bạn kiểm tra trạng thái kết nối giữa nguồn và máy tính / thiết bị đích qua mạng IP. Nó cũng giúp bạn ước tính thời gian gửi và nhận phản hồi từ mạng.

Trong bài viết này, mình sẽ giải thích các lệnh iptables mà bạn có thể sử dụng để:

  • Thêm quy tắc yêu cầu tường lửa iptables chặn các ping đến và đi tới máy chủ bằng cách kiểm soát các yêu cầu ICMP.
  • Loại bỏ quy tắc yêu cầu tường lửa iptables cho phép ping đến và đi từ máy chủ bằng cách kiểm soát các yêu cầu ICMP.

Mình đã chạy các lệnh và thủ tục được đề cập trong bài viết này trên hệ thống Ubuntu 22.04 LTS.

3. Làm thế nào để Chặn / Cho phép ping từ iptables?

Bạn có thể cài đặt iptables thông qua dòng lệnh Linux bằng cách chạy lệnh sau trong Terminal của bạn:

Mã nguồn [Chọn]
$ sudo apt-get install iptables
Bạn có thể mở ứng dụng Terminal thông qua tìm kiếm trình khởi chạy ứng dụng hệ thống hoặc bằng cách sử dụng phím tắt Ctrl + Alt + T.

Để xác minh cài đặt và kiểm tra số phiên bản, bạn có thể sử dụng lệnh sau:

Mã nguồn [Chọn]
$ iptables --version
4. Chặn Ping

Như đã đề cập ở trên, tường lửa iptables dựa trên một số bộ quy tắc. Bạn có thể thêm quy tắc sau để chặn ping đến và đi từ máy chủ. Lệnh sẽ in thông báo lỗi khi bạn chạy lệnh ping:

Mã nguồn [Chọn]
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

Ví dụ:


Hoặc nếu không, bạn có thể thêm các quy tắc sau để chặn ping mà không in thông báo lỗi:

Mã nguồn [Chọn]
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
Mã nguồn [Chọn]
$ sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
Tùy chọn lệnh -A của lệnh iptables là viết tắt của 'Add', vì vậy bất kỳ quy tắc nào sẽ được thêm vào đều bắt đầu bằng 'sudo iptables -A...'

5. Cho phép Ping

Lệnh sau cho phép bạn liệt kê tất cả các quy tắc được thêm vào iptables của bạn:

Mã nguồn [Chọn]
$ sudo iptables -L

Nếu bất kỳ quy tắc nào đang chặn ping (trong trường hợp ICMP của mình bị từ chối), bạn chỉ cần xóa quy tắc đó như sau:

Mã nguồn [Chọn]
$ sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT

Tùy chọn -D trong lệnh được sử dụng để xóa quy tắc.

Bạn có thể xóa tất cả các quy tắc tùy chỉnh được thêm vào Tường lửa iptables của mình bằng lệnh sau:

Mã nguồn [Chọn]
$ sudo iptables -F
Bạn đã thấy cách thêm và xóa các quy tắc trong tiện ích iptables cho phép bạn kiểm soát cách hoạt động của tường lửa.