Giới thiệu firewalld
firewalld là công cụ quản lý tường lửa động hỗ trợ định nghĩa vùng (zone) để kiểm soát kết nối mạng và mức độ bảo mật. Khác với iptables tĩnh, firewalld cho phép thay đổi cấu hình mà không cần khởi động lại toàn bộ hệ thống. Công cụ này hỗ trợ IPv4/IPv6 và cầu nối Ethernet, lưu trữ cấu hình tại /usr/lib/firewalld/ và /etc/firewalld/ dưới dạng XML.
Tính năng chính
- Quản lý quy tắc động không cần tải lại toàn bộ hệ thống
- Giao diện dòng lệnh
firewall-cmd - Công cụ cấu hình đồ họa firewall-config
- Hỗ trợ quản lý quy tắc toàn hệ thống và người dùng
- Phân vùng mạng theo mức độ tin cậy
Thao tác dòng lệnh cơ bản
Cài đặt và khởi động
# yum install firewalld
# systemctl enable --now firewalld
Quản lý vùng (zone)
Các vùng mặc định:
# firewall-cmd --get-zones
public work internal external
Thiết lập vùng mặc định:
# firewall-cmd --set-default-zone=work
Gán interface vào vùng:
# firewall-cmd --zone=internal --change-interface=eth0 --permanent
Quản lý dịch vụ
# firewall-cmd --add-service=http
# firewall-cmd --remove-service=ftp
# firewall-cmd --add-service=https --timeout=300
Quản lý cổng
# firewall-cmd --zone=public --add-port=8080/tcp
# firewall-cmd --add-port=9000-9100/udp
Chuyển tiếp cổng
# firewall-cmd --zone=external --add-masquerade
# firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
Quy tắc nâng cao (Rich Rules)
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 service name=ssh accept'
Tạo dịch vụ tùy chỉnh
Tạo file dịch vụ tại /etc/firewalld/services/:
<?xml version="1.0"?>
<service>
<short>Custom Service</short>
<port protocol="tcp" port="3000"/>
</service>
# firewall-cmd --add-service=custom
Công cụ đồ họa firewall-config
Giao diện chính bao gồm:
- Menu chọn chế độ Runtime/Permanent
- Tab quản lý vùng, dịch vụ và cổng
- Thiết lập chuyển tiếp và mặt nạ mạng
- Bộ lọc ICMP và cấu hình trực tiếp
Thao tác chính:
- Chọn vùng mặc định trong Options → Change Default Zone
- Kích hoạt dịch vụ trong tab Services
- Cấu hình chuyển tiếp cổng trong tab Port Forwarding
- Áp dụng thay đổi với nút Reload