Lệnh iptables-save trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh iptables-save để sao lưu và khôi phục các luật tường lửa iptables trên một hệ thống Linux. Lab này bao gồm mục đích và chức năng của iptables-save, cách sao lưu và khôi phục các luật tường lửa, và cách tự động hóa quy trình này bằng cách sử dụng một Systemd service. Đây là một kỹ năng giá trị cho các systemadmin và các chuyên gia bảo mật, những người cần quản lý và duy trì các cấu hình tường lửa. Lab này cung cấp các ví dụ thực tế và hướng dẫn từng bước để giúp bạn nắm vững việc sử dụng iptables-save cho các nhu cầu về mạng và liên lạc của bạn.

Hiểu Mục Đích và Chức Năng của iptables-save

Trong bước này, bạn sẽ tìm hiểu về mục đích và chức năng của lệnh iptables-save. Lệnh iptables-save được sử dụng để lưu trạng thái hiện tại của các luật tường lửa iptables vào một file, sau đó có thể được sử dụng để khôi phục cấu hình tường lửa vào một thời điểm sau này.

Lệnh iptables-save nắm bắt trạng thái hiện tại của các luật tường lửa iptables, bao gồm các bảng filter, nat, mangle, và raw. Điều này cho phép bạn dễ dàng sao lưu và khôi phục cấu hình tường lửa của bạn, điều này rất hữu ích trong các tình huống như:

  • Di chuyển các luật tường lửa sang một hệ thống mới
  • Khôi phục cấu hình tường lửa sau khi hệ thống khởi động lại hoặc cập nhật
  • Tự động hóa việc sao lưu và khôi phục các luật tường lửa

Để sử dụng lệnh iptables-save, chỉ cần chạy lệnh sau trong terminal:

sudo iptables-save

Lệnh này sẽ xuất các luật tường lửa iptables hiện tại ra terminal. Bạn có thể chuyển hướng đầu ra này vào một file cho mục đích sao lưu:

sudo iptables-save > iptables-backup.rules

File iptables-backup.rules được tạo sau đó có thể được sử dụng để khôi phục cấu hình tường lửa vào một thời điểm sau này bằng cách sử dụng lệnh iptables-restore.

Ví dụ đầu ra:

## Generated by iptables-save v1.8.7 on Wed Apr 12 12:34:56 2023
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
## Completed on Wed Apr 12 12:34:56 2023

Đầu ra cho thấy các luật tường lửa iptables hiện tại, có thể được sử dụng để khôi phục cấu hình sau này.

Sao Lưu và Khôi Phục Các Luật Tường Lửa iptables Sử Dụng iptables-save

Trong bước này, bạn sẽ học cách sao lưu và khôi phục các luật tường lửa iptables bằng cách sử dụng các lệnh iptables-saveiptables-restore.

Đầu tiên, hãy sao lưu các luật tường lửa iptables hiện tại vào một file:

sudo iptables-save > iptables-backup.rules

Lệnh này sẽ tạo một file có tên iptables-backup.rules trong thư mục hiện tại, chứa cấu hình tường lửa iptables hiện tại.

Để khôi phục các luật tường lửa từ file sao lưu, hãy sử dụng lệnh iptables-restore:

sudo iptables-restore < iptables-backup.rules

Lệnh này sẽ áp dụng các luật tường lửa được lưu trữ trong file iptables-backup.rules vào hệ thống hiện tại.

Ví dụ đầu ra:

$ sudo iptables-restore < iptables-backup.rules
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:22
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Đầu ra cho thấy rằng các luật tường lửa đã được khôi phục thành công từ file sao lưu.

Tự Động Hóa iptables-save trong một Systemd Service

Trong bước này, bạn sẽ học cách tự động hóa việc sao lưu các luật tường lửa iptables bằng cách sử dụng một Systemd service.

Đầu tiên, tạo một file Systemd service mới:

sudo nano /etc/systemd/system/iptables-save.service

Thêm nội dung sau vào file:

[Unit]
Description=Backup iptables firewall rules
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/iptables-save -f /etc/iptables/rules.v4

[Install]
WantedBy=multi-user.target

Systemd service này sẽ chạy lệnh iptables-save và lưu các luật tường lửa vào file /etc/iptables/rules.v4.

Tiếp theo, kích hoạt và khởi động Systemd service:

sudo systemctl enable iptables-save.service
sudo systemctl start iptables-save.service

Điều này sẽ đảm bảo rằng các luật tường lửa iptables được tự động sao lưu bất cứ khi nào hệ thống khởi động.

Để xác minh rằng service đang hoạt động chính xác, hãy kiểm tra trạng thái của service:

sudo systemctl status iptables-save.service

Ví dụ đầu ra:

● iptables-save.service - Backup iptables firewall rules
     Loaded: loaded (/etc/systemd/system/iptables-save.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2023-04-12 12:34:56 UTC; 1min 23s ago
   Main PID: 12345 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 1071)
     Memory: 0B
     CGroup: /system.slice/iptables-save.service

Apr 12 12:34:56 labex systemd[1]: Started Backup iptables firewall rules.

Service phải ở trạng thái "active (exited)", cho biết rằng lệnh iptables-save đã được thực thi thành công.

Bạn cũng có thể kiểm tra nội dung của file /etc/iptables/rules.v4 để xác minh rằng các luật tường lửa đã được lưu:

cat /etc/iptables/rules.v4

Lệnh này sẽ hiển thị cấu hình tường lửa iptables hiện tại.

Tóm tắt

Trong lab này, trước tiên bạn đã tìm hiểu về mục đích và chức năng của lệnh iptables-save, lệnh này được sử dụng để lưu trạng thái hiện tại của các luật tường lửa iptables vào một file. Điều này cho phép bạn dễ dàng sao lưu và khôi phục cấu hình tường lửa của bạn, điều này rất hữu ích trong các tình huống như di chuyển các luật tường lửa sang một hệ thống mới, khôi phục cấu hình tường lửa sau khi hệ thống khởi động lại hoặc cập nhật, và tự động hóa việc sao lưu và khôi phục các luật tường lửa. Sau đó, bạn đã học cách sao lưu và khôi phục các luật tường lửa iptables bằng cách sử dụng các lệnh iptables-saveiptables-restore. Cuối cùng, bạn đã khám phá cách tự động hóa lệnh iptables-save bằng cách sử dụng một Systemd service, điều này đảm bảo rằng các luật tường lửa được tự động sao lưu một cách thường xuyên.

400+ câu lệnh phổ biến trong Linux