Skip to main content

Hướng dẫn sử dụng tường lửa Firewalld trên Red Hat CentOS 7

Hướng dẫn sử dụng tường lửa Firewalld trên Red Hat CentOS 7

Chào các bạn! Từ phiên bản CentOS 7 Red Hat đã quyết định thay thế dịch vụ Iptables bằng dịch vụ Firewalld, Firewalld nhắm đến việc quản lý vùng (ZONE) cho thiết bị mạng nếu nó phải di chuyển nhiều, ví dụ laptop hoặc phone… để mỗi nơi bạn đến bạn sẽ tùy theo đó chuyển dịch chế độ mạng sang Công ty – Nhà – Quán cafe công cộng… Giống như Firewall Windows hay hỏi bạn mỗi khi bạn bắt được Wifi hay cắm mạng vào. Việc này rất hay tuy nhiên theo mình thấy nếu ở trên Server nằm một chổ trong Datacenter thì việc ấy khá thừa thải.
(Thay thế Firewalld bằng Iptables bấm vào đây)
Mình không khuyên bạn dùng Firewalld quản lý tường lửa của bạn nhưng nếu có bị ép vào trường hợp buộc phải xài nhanh để allow một port nào đó trên CentOS 7 bạn có thể đọc tiếp bài sau để biết cách làm cho nhanh:

Bật dịch vụ Firewalld:

systemctl start firewalld.service

Xem lại tình trạng dịch vụ Firewalld chạy hay tắt:

firewall-cmd --state

running

Xem dịch vụ Firewalld đang chắn tại cổng mạng nào và đã allow những gì:

firewall-cmd --list-all

public (default, active)
  interfaces: eno16777736
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Ta thấy nó chắn tại cổng mạng eno16777736 và đã cho phép dịch vụ ssh

Việc cho phép dịch vụ ssh của Firewalld có được là nhờ vào một file cấu hình ssh.xml nằm sẳn trong vị trí /usr/lib/firewalld/services/ssh.xml
Ở File đó đã cho phép port 22/tcp để chạy dịch vụ ssh, mình sẽ lợi dụng việc này thêm vào một số port cần cho phép theo mong muốn của mình:

cp /usr/lib/firewalld/services/ssh.xml /usr/lib/firewalld/services/ssh.xml.bak
nano /usr/lib/firewalld/services/ssh.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote m$
  <port protocol="tcp" port="22"/>
  <port protocol="tcp" port="21"/>
  <port protocol="tcp" port="80"/>
  <port protocol="udp" port="53"/>
  <port protocol="udp" port="5000-6000"/>
</service>

Cho phép port 21,80/tcp và dãy port 5000-6000/udp

Restart lại dịch vụ Firewalld để nhận cấu hình mới:

systemctl restart firewalld.service

Bạn kiểm tra lại các port xem đã mở chưa, chú ý phải có ứng dụng đang lắng nghe ở port đó thì mới có thể check port qua các website cung cấp tool check. Mình thường check port ở 2 site sau:
http://ping.eu/port-chk
http://www.base64online.com/port-check.php

Hướng dẫn trên cung cấp là sử dụng tường lửa Firewalld trên Red Hat CentOS 7 căn bản, chỉ gồm việc allow nhanh một port nào đó theo mong muốn của người dùng không chuyên. Nói kỹ về tác dụng sâu xa khác của Firewalld trên Red Hat CentOS 7 mình xin hẹn bạn ở một bài sau.

(Thay thế Firewalld bằng Iptables bấm vào đây)

Cám ơn bạn đã đọc hết bài viết, hãy bấm chia sẻ lên mạng xã hội để nhớ rằng bạn đã từng nắm được kiến thức do bài viết này cung cấp rồi:
Share

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Share