firewall-cmd Trình tạo lệnh
Tạo các lệnh firewall-cmd để cấu hình các vùng, dịch vụ và cổng trong firewalld (RHEL/CentOS/Fedora)
Bắt đầu với firewall-cmd
## Firewall-cmd là gì?
`firewall-cmd` là công cụ dòng lệnh dành cho `firewalld`, bộ quản lý tường lửa động được sử dụng trên RHEL, CentOS, Fedora và các bản phân phối thuộc gia đình Red Hat khác. Nó phân nhóm các quy tắc thành các **vùng** (ví dụ: `public`, `home`, `dmz`) và áp dụng các thay đổi ngay lập tức (trong lúc chạy) hoặc một cách vĩnh viễn thông qua `--permanent`.
## Cách sử dụng
1. **Chọn thao tác**: `add-service`, `add-port`, `remove-service`, `remove-port`, `list-all`, `reload` hoặc `permanent-query`. 2. **Đặt giá trị**: Đối với các thao tác liên quan đến dịch vụ/cổng, hãy điền vào trường `service` (ví dụ: `http`) hoặc `port` (ví dụ: `80/tcp`). 3. **Chọn vùng** (tùy chọn): mặc định là vùng mặc định (thường là `public`). 4. **Lưu thay đổi vĩnh viễn**: Đánh dấu vào `--permanent` để các thay đổi vẫn tồn tại sau khi khởi động lại, sau đó chạy lệnh `reload`.
Các thao tác và tùy chọn phổ biến
### `--add-service=NAME` / `--remove-service=NAME` Mở hoặc đóng một dịch vụ có tên được định nghĩa trong `/usr/lib/firewalld/services` (ví dụ: `http`, `https`, `ssh`). Dịch vụ này biết rõ giao thức và cổng của mình.
### `--add-port=PORT/PROTO` / `--remove-port=PORT/PROTO` Mở hoặc đóng một cổng bất kỳ, ví dụ: `8080/tcp`. Hãy sử dụng tùy chọn này khi không có định nghĩa dịch vụ nào tồn tại.
### `--list-all` In ra tất cả những gì đang hoạt động trong một vùng: các dịch vụ, cổng, nguồn, giao diện, và mục tiêu mặc định.
### `--reload` Tải lại cấu hình vĩnh viễn vào môi trường chạy — hãy thực hiện thao tác này sau khi có thay đổi trong `--permanent` để chúng có hiệu lực ngay lập tức.
### `--zone=NAME` Chọn một vùng cụ thể (`public`, `home`, `internal`, `dmz`, `block`, `trusted`). Nếu không chỉ định, firewalld sẽ sử dụng vùng mặc định.
### `--permanent` Ghi các thay đổi xuống đĩa để chúng vẫn tồn tại sau khi khởi động lại. Những thay đổi không được lưu bằng `--permanent` chỉ có hiệu lực trong môi trường chạy và sẽ bị mất khi tải lại hoặc khởi động
▶Firewalld có mối liên hệ gì với iptables và nftables?
▶Tại sao quy tắc --permanent của tôi không có hiệu lực ngay lập tức?
▶Làm thế nào để kích hoạt HTTP và HTTPS một cách vĩnh viễn trên vùng công cộng?
Nếu công cụ này đã giúp ích cho bạn, hãy nghĩ đến việc mua một cốc cà phê cho tôi.
Hãy mua cho tôi một cốc cà phê nhé.