Cách cài đặt tường lửa Iptables trong CentOS 7 Linux

Tác giả sysadmin, T.M.Hai 23, 2022, 03:02:29 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt tường lửa Iptables trong CentOS 7 Linux


Bạn đã quen với tường lửa iptables cổ điển và muốn tắt tường lửa? Vâng, vẫn còn hy vọng cho bạn! Ở đây chúng tôi sẽ chỉ cho bạn cách dừng và vô hiệu hóa tường lửa tường lửa mặc định và thay vào đó cài đặt và định cấu hình iptables trong CentOS 7 Linux.

Điều đáng chú ý là iptables và tường lửa loại trừ lẫn nhau, chỉ nên chạy một cái tại một thời điểm. Do đó, nếu chúng tôi muốn sử dụng tường lửa hoặc iptables, chúng tôi phải đảm bảo rằng dịch vụ ngược lại hoàn toàn bị dừng, vô hiệu hóa và bịt mặt để nó không can thiệp.

1. Tắt tường lửa firewalld

Theo mặc định trong CentOS 7 Linux, tường lửa firewalld sẽ được cấu hình để khởi động tự động trong khi khởi động. Vì chúng tôi chỉ có thể chạy tường lửa hoặc iptables bất kỳ lúc nào, trước tiên chúng tôi sẽ tắt tường lửa.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

Điều này vô hiệu hóa tường lửa tự động khởi động khi khởi động hệ thống, tuy nhiên nó không ngăn phiên bản tường lửa đang chạy hiện tại chạy, vì vậy chúng tôi thực hiện điều đó tiếp theo.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl stop firewalld
Mặc dù tường lửa sẽ không còn tự động khởi động khi khởi động và hiện không chạy, nó vẫn có thể được khởi động thủ công bằng dòng lệnh. Để ngăn chặn điều này, chúng tôi che dấu dịch vụ như hình dưới đây.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl mask firewalld
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.

Bây giờ chúng ta đã sẵn sàng để cài đặt và cấu hình iptables.

2. Kích hoạt Iptables

Trong cài đặt CentOS 7 mặc định của tôi, tôi đã cài đặt gói iptables có thể được sử dụng để chạy lệnh iptables, tuy nhiên chúng tôi cũng cần cài đặt dịch vụ iptables để iptables tự động khởi động khi khởi động hệ thống.

Mã nguồn [Chọn]
[root@centos7 ~]# yum install iptables-services -y
Bây giờ chúng ta sẽ kiểm tra trạng thái của iptables, như minh họa bên dưới sau khi cài đặt sạch, nó sẽ không chạy và sẽ được đặt thành vô hiệu hóa, nghĩa là nó sẽ không tự động khởi động khi khởi động hệ thống.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl status iptables
iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Sau khi cài đặt hoàn tất, chúng tôi sẽ định cấu hình iptables để khởi động tự động khi khởi động hệ thống.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.

Tiếp theo chúng ta sẽ khởi động iptables, kích hoạt tường lửa.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl start iptables
Bây giờ nếu chúng ta kiểm tra trạng thái của iptables, chúng ta sẽ thấy rằng nó đang chạy tích cực và được kích hoạt để bắt đầu khởi động hệ thống.

Mã nguồn [Chọn]
[root@centos7 ~]# 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 Tue 2016-12-27 02:54:27 PST; 1min 52s ago
  Process: 44351 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 44351 (code=exited, status=0/SUCCESS)

Dec 27 02:54:27 localhost.localdomain systemd[1]: Starting IPv4 firewall with iptables...
Dec 27 02:54:27 localhost.localdomain iptables.init[44351]: iptables: Applying firewall rules: [  OK  ]
Dec 27 02:54:27 localhost.localdomain systemd[1]: Started IPv4 firewall with iptables.

Bây giờ, bạn có thể định cấu hình tường lửa iptables như bình thường bằng cách sửa đổi tệp /etc/sysconfig/iptables. Chúng tôi có thể xác nhận đây là tệp chính xác để sử dụng bằng cách sử dụng lệnh rpm -qc đối với gói iptables-services mà chúng tôi đã cài đặt trước đó, vì điều này sẽ liệt kê tất cả các tệp cấu hình mặc định được liên kết với gói.

Mã nguồn [Chọn]
[root@centos7 ~]# rpm -qc iptables-services
/etc/sysconfig/ip6tables
/etc/sysconfig/iptables

Lưu ý rằng bạn cũng sẽ cần bắt đầu và kích hoạt ip6tables cho IPv6, vì iptables chỉ hỗ trợ IPv4. Tương tự, cấu hình tường lửa dành riêng cho IPv6 phải được đặt trong tệp /etc/sysconfig/ip6tables.

Mỗi tệp này chứa cấu hình mặc định để cho phép cổng TCP 22 vào từ bất kỳ địa chỉ IP nguồn nào, vì vậy bạn không phải lo lắng về việc tự khóa quyền truy cập SSH trong khi định cấu hình.

Nếu bạn thực hiện bất kỳ thay đổi nào đối với một trong hai tệp này, hãy nhớ khởi động lại iptables để áp dụng các thay đổi.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl restart iptables
Chúng tôi đã chỉ cho bạn cách dễ dàng vô hiệu hóa tường lửa trong CentOS 7 Linux và thay vào đó cài đặt và định cấu hình tường lửa iptables cổ điển. Lưu ý rằng iptables được coi là không dùng nữa trong CentOS 7, do đó, có lẽ bạn nên dành thời gian để tìm hiểu cách sử dụng tường lửa trong tương lai.