NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
05/11/2024
Lượt xem

Hướng dẫn cách thiết lập tường lửa bằng lệnh firewall-cmd trong Linux hữu ích nhất

05/11/2024
17 phút đọc
Lượt xem

Đánh giá

5/5 - (1 bình chọn)

Lệnh firewall-cmd trong Linux là một công cụ giúp bạn quản lý tường lửa một cách dễ dàng và hiệu quả. Trong bài viết này, mình sẽ giúp bạn tìm hiểu tất cả các tính năng của lệnh firewall-cmd và cách sử dụng để cấu hình các quy tắc (rule) cũng như các vùng (zone) tường lửa trên hệ thống Linux.

Những điểm chính

Để giúp bạn hiểu rõ hơn về lệnh firewall-cmd và các yếu tố liên quan, dưới đây là các nội dung tóm tắt chính của bài viết:

  • Định nghĩa về lệnh firewall-cmd: Là lệnh giúp quản lý tường lửa của hệ thống Linux thông qua giao diện dòng lệnh và thiết lập các quy tắc.
  • Cú pháp của dòng lệnh: Bạn sẽ được cung cấp và giải thích các thành phần có trong cú pháp của lệnh.
  • Cách cài đặt lệnh firewall-cmd: Bài viết sẽ hướng dẫn bạn cách kiểm tra và cài đặt lệnh firewall-cmd một cách chi tiết.
  • Các ví dụ về lệnh: Phần này sẽ cung cấp cho bạn 7 ví dụ thực tế về cách sử dụng firewall-cmd để thực hiện các tác vụ quản lý tường lửa.
  • Vietnix – Nhà cung cấp dịch vụ Hosting và tên miền linh hoạt cho doanh nghiệp.

Lệnh firewall-cmd trong Linux là gì?

Lệnh firewall-cmd trong Linux là một công cụ mạnh mẽ giúp bạn quản lý tường lửa của hệ thống Linux thông qua giao diện dòng lệnh. Đây là một phần của gói phần mềm tường lửa tích hợp sẵn trong Linux cho phép người dùng thiết lập các quy tắc và vùng tường lửa (zones) một cách dễ dàng và hiệu quả.

Lệnh firewall-cmd là một công cụ giúp quản lý tường lửa
Lệnh firewall-cmd là một công cụ giúp quản lý tường lửa

Lệnh firewall-cmd cho phép bạn:

  • Cấu hình các quy tắc (rule) tường lửa để kiểm soát lưu lượng mạng vào và ra khỏi hệ thống.
  • Tạo và quản lý các vùng tường lửa (zone) để phân chia hệ thống thành các khu vực có mức độ bảo mật khác nhau.
  • Kiểm tra trạng thái của tường lửa và các quy tắc đang hoạt động.

Cú pháp của lệnh firewall-cmd

Cú pháp của lệnh firewall-cmd trong Linux khá đơn giản, được thể hiện như sau:

firewall-cmd [OPTION]...

Trong đó:

  • firewall-cmd: Là tên của lệnh.
  • [OPTION]: Phần này đại diện cho các tùy chọn bổ sung mà bạn có thể sử dụng với lệnh firewall-cmd. Các tùy chọn này được đặt trong dấu ngoặc vuông [ ] để biểu thị rằng chúng không bắt buộc.
  • …: Dấu ba chấm cho biết bạn có thể sử dụng nhiều tùy chọn cùng lúc.

9 tùy chọn của lệnh firewall-cmd trong Linux

Lệnh firewall-cmd cung cấp rất nhiều tùy chọn để cấu hình tường lửa. Dưới đây là bảng mà mình đã tóm tắt một số tùy chọn hữu ích thường được sử dụng:

Tùy chọnMô tả
--permanentÁp dụng thay đổi cho cấu hình tường lửa vĩnh viễn. Nếu không có tùy chọn này, thay đổi chỉ có hiệu lực cho đến khi hệ thống khởi động lại.
--zone=zoneChỉ định vùng tường lửa mà lệnh sẽ áp dụng. 
--add-port=port/protocolMở một port hoặc dải port cho phép kết nối.
--remove-port=port/protocolĐóng một port hoặc dải port, chặn kết nối.
--list-allLiệt kê tất cả cấu hình tường lửa hiện tại, bao gồm tất cả các vùng và các quy tắc liên quan.
--reloadTải lại tường lửa để áp dụng các thay đổi đã được thực hiện.
--stateHiển thị trạng thái của tường lửa (đang chạy hay không chạy).
-h, --helpHiển thị trang trợ giúp của lệnh firewall-cmd.
-V, --versionHiển thị thông tin phiên bản của firewall-cmd.
Các tùy chọn của lệnh firewall-cmd

iconLưu ý

  • Lệnh và các tùy chọn trong Linux phân biệt chữ hoa chữ thường. Do đó, bạn hãy cẩn thận khi sử dụng.
  • Để tìm hiểu thêm về lệnh firewall-cmd, các tùy chọn và cách sử dụng, bạn có thể tham khảo trang hướng dẫn (man page) bằng cách gõ lệnh sau trong terminal: man firewall-cmd.

Lệnh firewall-cmd thường được cài đặt sẵn trên hầu hết các bản phân phối Linux. Bạn hoàn toàn có thể kiểm tra được lệnh này đã được cài đặt hay chưa và nếu chưa bạn cũng hoàn toàn có thể dễ dàng cài đặt lệnh này bằng trình quản lý package của bản phân phối bạn đang sử dụng.

Cách kiểm tra lệnh firewall-cmd đã được cài đặt hay chưa

Bạn có thể kiểm tra xem lệnh firewall-cmd đã được cài đặt trên máy tính của mình hay chưa bằng cách gõ 1 trong 2 lệnh sau vào terminal:

firewall-cmd --version

Hoặc

firewall-cmd version

Kết quả: Khi firewall-cmd đã được cài đặt, hệ thống sẽ hiển thị phiên bản của lệnh. Nếu chưa, bạn sẽ thấy thông báo lỗi tương tự như trong hình ảnh bên dưới.

Thông báo lỗi khi chưa cài đặt được
Thông báo lỗi khi chưa cài đặt được

Cách cài đặt firewall-cmd

Bạn có thể cài đặt firewall-cmd trên máy tính của mình trong vòng một phút bằng cách làm theo 3 bước sau:

Bước 1: Đầu tiên, bạn cần mở Terminal.

Bước 2: Bạn gõ 1 trong 2 lệnh sau vào terminal và nhấn Enter:

sudo apt-get install firewalld

Hoặc

sudo apt install firewalld

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter để thực hiện cài đặt.

Kết quả: Sau khi hoàn thành các bước trên, lệnh firewall-cmd sẽ được cài đặt trên máy tính của bạn.

Lệnh firewall-cmd đã được cài đặt
Lệnh firewall-cmd đã được cài đặt

Trong Linux, lệnh firewall-cmd là một công cụ hữu ích để quản lý cấu hình tường lửa. Trong phần này, mình sẽ cung cấp cho bạn một số ví dụ thực tế về cách sử dụng firewall-cmd để thực hiện các tác vụ quản lý tường lửa phổ biến.

Ví dụ 1: Thêm port bằng lệnh firewall-cmd trong Linux

Để thêm port vào tường lửa, bạn có thể sử dụng lệnh firewall-cmd với tùy chọn –add-port. Trong ví dụ này, mình sẽ thêm cổng “460” vào tường lửa và bạn có thể làm theo 3 bước dưới đây:

Bước 1: Đầu tiên, bạn cần mở Terminal.

Bước 2: Bạn gõ lệnh sau và nhấn Enter để thêm port 460 vào tường lửa:

sudo firewall-cmd --add-port=460/tcp

Bạn có thể hay 460/tcp bằng port và giao thức nào khác mà bạn muốn thêm.

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter.

Kết quả: Sau khi lệnh được thực thi thành công, port 460/tcp sẽ được thêm vào tường lửa, bạn có thể tham khảo thông báo như hình bên dưới đây.

Thông báo thực thi lệnh thành công
Thông báo thực thi lệnh thành công

Khi mở thêm cổng trên firewall, nghĩa là bạn đang tạo ra các điểm kết nối cho hệ thống của mình với mạng lưới bên ngoài. Để đảm bảo quy trình này an toàn và phù hợp với nhu cầu bảo mật của hệ thống, bạn nên thực hành trên một nền tảng đáng tin cậy. Với VPS Linux từ Vietnix, bạn sẽ có một môi trường ổn định để thử nghiệm việc mở và quản lý các cổng một cách an toàn, giúp bạn nâng cao kỹ năng bảo mật mà không lo ngại rủi ro.

Ví dụ 2: Hiển thị danh sách các port bằng lệnh firewall-cmd

Lệnh firewall-cmd cho phép bạn xem danh sách các port trên hệ thống Linux. Bạn có thể thực hiện 3 bước tương tự như mình làm dưới đây:

Bước 1: Đầu tiên, bạn mở Terminal.

Bước 2: Bạn hãy gõ lệnh sau và nhấn Enter để xem danh sách port đang có trên hệ thống hiện tại.

sudo firewall-cmd --list-ports

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter.

Kết quả: Danh sách các port và giao thức trong hệ thống sẽ được hiển thị trên terminal.

Danh sách các port
Danh sách các port

Ví dụ 3: Xóa port bằng lệnh firewall-cmd trong Linux

Sau khi kiểm tra danh sách port hiện có, bạn hoàn toàn có thể chọn xóa những port bạn không muốn giữ. Để thực hiện xóa 1 port khỏi tường lửa, bạn có thể sử dụng lệnh firewall-cmd với tùy chọn –remove-port theo mình làm dưới đây:

Bước 1: Đầu tiên, bạn mở Terminal.

Bước 2: Để chắc chắn về port cần xóa, bạn có thể liệt kê các port bằng lệnh và nhấn Enter:

sudo firewall-cmd --list-ports

Bước 3: Giả dụ trong trường hợp này, mình muốn xóa port 3400 thì mình sẽ gõ lệnh sau và nhấn Enter.

sudo firewall-cmd --remove-port=3400/tcp

Bạn có thể thay 3400/tcp bằng port và giao thức mà bạn muốn xóa.

Bước 4: Nhập mật khẩu của bạn khi được yêu cầu.

Bước 5: Để chắc chắn cổng đã được xóa, bạn có thể nhập lại lệnh bên dưới để kiểm tra. Bạn chỉ cần nhập và nhấn Enter để kiểm tra xem port 3400/tcp đã bị xóa hay chưa.

sudo firewall-cmd --list-ports

Kết quả: Trong hình bên dưới, bạn có thể thấy port 3400 đã bị xoá.

Port 3400 đã bị xoá
Port 3400 đã bị xoá

Ví dụ 4: Chuyển tiếp port bằng lệnh firewall-cmd

Chuyển tiếp port (port forwarding) với firewall-cmd cho phép bạn chuyển hướng lưu lượng mạng từ một port mạng này sang một port mạng khác, có thể là trên máy cục bộ hoặc máy từ xa. Để thiết lập port forwarding, bạn có thể dùng cú pháp sau:

sudo firewall-cmd --zone=public --add-forward-port=port=INCOMING_PORT:proto=tcp:toport=DESTINATION_PORT --permanent

Trong ví dụ này, mình sẽ chuyển hướng lưu lượng từ cổng 52 sang cổng 460. Bạn có thể làm theo 4 bước dưới đây:

Bước 1: Đầu tiên, bạn mở Terminal.

Bước 2: Bạn nhập lệnh sau để chuyển hướng lưu lượng từ cổng 52 sang cổng 460 và nhấn Enter:

sudo firewall-cmd --zone=public --add-forward-port=port=52:proto=tcp:toport=460 --permanent

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter.

Bước 4: Để áp dụng thay đổi, bạn nhập lệnh sau để tải lại cấu hình tường lửa:

sudo firewall-cmd --reload

Giải thích:

  • –zone=public: Chỉ định vùng tường lửa áp dụng quy tắc, ở đây là vùng public.
  • –add-forward-port=…: Thêm quy tắc chuyển tiếp port.
    • port=52: Port nhận lưu lượng.
    • proto=tcp: Giao thức được sử dụng, ở đây là TCP.
    • toport=460: Port đích chuyển tiếp lưu lượng đến.
  • –permanent: Lưu thay đổi vào cấu hình tường lửa, có hiệu lực sau khi khởi động lại.

Kết quả: Nếu thành công, hệ thống sẽ hiển thị thông báo thành công và port 52 sẽ được chuyển hướng đến port 460.

Thông báo chuyển port thành công
Thông báo chuyển port thành công

Ví dụ 5: Hiển thị danh sách tất cả các quy tắc bằng lệnh firewall-cmd

Bạn có thể xem danh sách các quy tắc trong tường lửa bằng cách sử dụng lệnh firewall-cmd với tùy chọn –list-all. Trong ví dụ này, mình sẽ hiển thị danh sách các quy tắc trên tường lửa của máy. Bạn có thể làm tương tự bằng cách làm theo 3 bước dưới đây:

Bước 1: Đầu tiên, bạn mở Terminal.

Bước 2: Bạn nhập lệnh sau để xem danh sách quy tắc trong tường lửa và nhấn Enter:

sudo firewall-cmd --list-all

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter.

Kết quả: Lệnh này sẽ hiển thị danh sách tất cả các quy tắc tường lửa hiện tại.

Sanh sách tất cả các quy tắc firewall
Sanh sách tất cả các quy tắc firewall

Ví dụ 6: Hiển thị danh sách tất cả các vùng có sẵn trong tường lửa

Bạn có thể xem danh sách tất cả các vùng (zones) bằng cách sử dụng lệnh firewall-cmd với tùy chọn –list-all-zones. Trong ví dụ này, mình sẽ hiển thị danh sách tất cả các vùng trên hệ thống của mình và bạn có thể làm tương tự bằng cách làm theo 3 bước dưới đây:

Bước 1: Bạn cần mở Terminal Ubuntu.

Bước 2: Bạn gõ lệnh sau và nhấn Enter:

sudo firewall-cmd --list-all-zones

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter.

Kết quả: Hệ thống sẽ hiển thị danh sách tất cả các vùng có sẵn trong tường lửa.

Danh sách các vùng có sẵn trong firewall
Danh sách các vùng có sẵn trong firewall

Ví dụ 7: Cho phép một địa chỉ IP cụ thể truy cập vào một port

Với lệnh firewall-cmd, bạn có thể thiết lập quyền truy cập vào một cổng cho địa chỉ IP cụ thể. Mình sử dụng cú pháp sau đây được sử dụng cho mục đích này:

sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="IP_chỉ_định" port port=”số port chỉ định" protocol=tcp accept'

Trong ví dụ này, mình sẽ cấp quyền cho địa chỉ IP “192.168.0.100” truy cập cổng 3306. Bạn có thể làm tương tự cho bất kỳ địa chỉ IP nào bằng cách làm theo 4 bước dưới đây:

Bước 1: Đầu tiên, bạn mở Terminal.

Bước 2: Bạn chỉ cần nhập lệnh sau và nhấn Enter:

sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.0.100" port port=3306 protocol=tcp accept'

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu và nhấn Enter.

Bước 4: Bạn gõ lệnh sau và nhấn Enter để tải lại cấu hình tường lửa, áp dụng thay đổi:

sudo firewall-cmd --reload

Giải thích:

  • –permanent: Lưu thay đổi vào cấu hình tường lửa và có hiệu lực sau khi khởi động lại.
  • –zone=public: Chỉ định vùng tường lửa áp dụng quy tắc, ở đây là vùng public.
  • –add-rich-rule ‘…’: Thêm một quy tắc phức tạp (rich rule).
    • rule family=”ipv4″: Áp dụng quy tắc cho IPv4.
    • source address=”192.168.0.100″: Chỉ định địa chỉ IP nguồn được phép.
    • port port=3306: Chỉ định port đích.
    • protocol=tcp: Chỉ định giao thức được sử dụng, ở đây là TCP.
    • accept: Cho phép kết nối.

Kết quả: Nếu thành công, hệ thống sẽ hiển thị thông báo thành công và địa chỉ IP đã được cho phép truy cập vào port đã chỉ định.

Địa chỉ IP đã được cho phép truy cập vào port
Địa chỉ IP đã được cho phép truy cập vào port

Vietnix – Nhà cung cấp dịch vụ Hosting và tên miền linh hoạt cho doanh nghiệp

Vietnix, nhà cung cấp dịch vụ lưu trữ website (web hosting) với tốc độ tải nhanh và độ ổn định cao, phù hợp cho mọi quy mô doanh nghiệp, nhờ vào hệ thống máy chủ hiện đại và bảo mật chặt chẽ. Bên cạnh dịch vụ hosting, Vietnix còn hỗ trợ đăng ký tên miền, giúp bạn tìm kiếm và sở hữu tên miền phù hợp với thương hiệu của mình một cách dễ dàng. Với quy trình đơn giản và minh bạch, Vietnix cam kết mang đến trải nghiệm hài lòng cho bạn trong từng bước xây dựng sự hiện diện trực tuyến, từ việc chọn hosting đến đăng ký tên miền.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/

Qua bài viết này, bạn đã được tìm hiểu về lệnh firewall-cmd trong Linux, cú pháp và cách sử dụng để quản lý tường lửa một cách hiệu quả. Hy vọng những thông tin này sẽ giúp bạn bảo vệ hệ thống Linux của mình một cách tốt hơn. Để tìm hiểu thêm các lệnh hữu ích khác trong Linux, bạn tham khảo các bài viết dưới đây:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG