Chuyển từ firewalld về iptables trên CentOS 7

Hẳn là khi chuyển từ CentOS 5 – 6 sang CentOS 7, bạn từng gặp phải trường hợp không biết cách nào tắt firewall đi (báo lỗi khi stop iptables – không có services đó) , cái này do ở CentOS 7, việc quản lý này đã được chuyển sang cho một package khác là firewalld, tuy có hơi khác so với iptables. Nhưng firewalld mạnh mẽ hơn trong việc quản lý, cũng như gây nhiều khó chịu hơn nếu không quen 😀

Bài viết này sẽ hướng dẫn cách thay đổi nó về lại iptables hoặc tắt hẳn đi.

Đổi firewalld về lại iptables

Tắt firewalld

Để sử dụng iptables, trước hết hãy tắt firewalld:

# systemctl stop firewalld
# systemctl disable firewalld

Nếu không quen dùng systemctl thì hãy dùng service

# service firewalld stop
# service firewalld disable

Cài đặt lại Iptables Service

Tất nhiên do firewalld thay thế cho iptables nên nó không được cài đặt mặt định, hãy làm việc này thủ công:

# yum -y install iptables-services

Đến bước này, bạn gần như đã hoàn thành rồi, iptables đã được cài đặt như CentOS 5 6, giờ chỉ cần khởi động và nạp lệnh vào thôi:

# systemctl enable iptables
# systemctl start iptables

Kiểm tra iptables đã hoạt động hay chưa:

# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 2017-07-19 09:24:47 +07; 1 months 8 days ago
 Main PID: 8247 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/iptables.service

Sử dụng dụng /etc/init.d/iptables save

Nếu dùng lệnh /etc/init.d/iptables save để lưu rule của iptables ( tùy theo thói quen) và được báo

-bash: /etc/init.d/iptables: No such file or directory

Hãy nhập thêm lệnh sau vào:

cp /usr/libexec/iptables/iptables.init /etc/init.d/iptables

Chúc các bạn thành công

4 thoughts on “Chuyển từ firewalld về iptables trên CentOS 7

  1. Giả sử mình chuyển cổng SSH về 234, mà muốn vẫn giữ firewalld thì có cách nào không vậy?

    1. Nhập vào SSH như vậy nhé bạn, nhớ đổi [port] thành đúng cổng muốn mở. Mục tcp hay udp thì tùy loại kết nối

      firewall-cmd --zone=public --add-port=[port]/tcp --permanent
      
  2. Mình đang gặp lỗi này. Do máy chạy centos không ra mạng ngoài được nên giờ app chạy nó yêu cầu iptables-services. Bạn có link file rpm không. Mình down về cài mà toàn báo lỗi

    1. Bạn hãy dùng lệnh rpm -qa | grep iptables để tìm phiên bản của Iptables đang cài đặt trên máy rồi tải iptables-services đúng với phiên bản đó.
      Như bên mình là iptables-1.4.21-17.el7.x86_64 và iptables-services-1.4.21-17.el7.x86_64. Nhưng nếu cài đặt báo lỗi, hãy xem nó là thiếu package không và nó tên gì, phiên bản mấy.

Add Comment