Linux

Hướng dẫn mở port trên firewalld trên centos 7

Để mở port trên tường lửa `firewalld` trên CentOS 7, bạn có thể thực hiện các bước sau:

Bước 1: Kiểm tra trạng thái của firewalld
Đầu tiên, bạn cần đảm bảo `firewalld` đang chạy. Sử dụng lệnh sau để kiểm tra trạng thái của `firewalld`:

sudo systemctl status firewalld

Nếu firewalld chưa được bật, bạn có thể khởi động nó bằng lệnh sau:

sudo systemctl start firewalld

Bạn cũng có thể cấu hình để firewalld tự động khởi động khi hệ thống khởi động:

sudo systemctl enable firewalld

Bước 2: Xác định vùng mạng của bạn
`firewalld` sử dụng các "zone" (vùng) để quản lý cấu hình mạng. Để liệt kê các vùng hiện có, sử dụng lệnh:

sudo firewall-cmd --get-active-zones

Sau đó, ghi lại tên vùng mà giao diện mạng của bạn đang được liên kết.

Bước 3: Mở port trong firewalld
Để mở một port cụ thể (ví dụ, port 8080 cho HTTP hoặc ứng dụng khác), bạn sử dụng lệnh sau:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

- `--zone=public`: chỉ định vùng mạng mà bạn muốn mở port (thay `public` bằng tên vùng thích hợp nếu cần).
- `--add-port=8080/tcp`: mở port 8080 trên giao thức TCP (nếu bạn cần mở port UDP, thay `tcp` bằng `udp`).
- `--permanent`: tùy chọn này giúp thay đổi được lưu vĩnh viễn. Nếu không có `--permanent`, thay đổi sẽ chỉ có hiệu lực tạm thời.

Bước 4: Reload tường lửa để áp dụng thay đổi
Sau khi thêm port, bạn cần tải lại `firewalld` để áp dụng thay đổi:

sudo firewall-cmd --reload

Bước 5: Xác nhận port đã mở
Bạn có thể kiểm tra xem port đã được mở thành công hay chưa bằng cách liệt kê các port đã mở:

sudo firewall-cmd --zone=public --list-ports

Bước 6: Kiểm tra lại trạng thái của tường lửa
Sử dụng lệnh sau để đảm bảo rằng cấu hình đã được áp dụng đúng cách:

sudo firewall-cmd --list-all

Lệnh này sẽ hiển thị toàn bộ cấu hình của `firewalld` cho vùng đang hoạt động.

---

Lưu ý: Nếu bạn đang chạy một dịch vụ cụ thể (ví dụ HTTP, FTP), bạn có thể mở toàn bộ dịch vụ thay vì chỉ mở port bằng cách sử dụng:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

Với các bước này, bạn đã mở thành công một port trên tường lửa `firewalld` của CentOS 7.