Hướng dẫn di chuyển các quy tắc tường lửa Iptables sang một máy chủ mới

6 năm trước

 

Giới thiệu

Khi di chuyển từ máy chủ này sang máy chủ khác, bạn nên di chuyển các quy tắc tường lửa iptables như một phần của quy trình. Hướng dẫn này sẽ cho bạn thấy làm thế nào để dễ dàng sao chép quy tắc hoạt động iptables của bạn thiết lập từ một máy chủ khác.

 

Điều kiện cần

Hướng dẫn này yêu cầu hai máy chủ. Chúng ta sẽ tham khảo máy chủ nguồn, trong đó có các quy tắc iptables hiện tại, như là Server A. Máy chủ đích, nơi các quy tắc sẽ được di chuyển đến, sẽ được gọi là Server B.

 

Bạn cũng cần phải có superuser, hoặc sudo, truy cập vào cả hai máy chủ.

 

Xem các quy tắc Iptables đang tồn tại

Trước khi thay đổi các quy tắc iptables, hãy xem chúng ta đã đặt cái gì cho nó. Bạn có thể làm thế mới command trên Server A:

$ sudo iptables -S 

Những ví dụ mẫu bên trên sẽ được dùng để mình hoạt quy trình di chuyển tường lửa.

 

Export quy tắc Iptables 

Lệnh iptables-save ghi các quy tắc hiện tại của iptables vào stdout (standard out). Điều này cho chúng ta một cách dễ dàng để xuất khẩu các quy tắc tường lửa để tập tin, bằng cách chuyển hướng stdout vào một tập tin

Trên máy chủ A, một trong những quy tắc iptables mà bạn muốn di chuyển, sử dụng iptables-save để xuất các quy tắc hiện tại sang một tệp có tên "iptables-export" như sau

Nó sẽ tạo file iptables-export trong thư mục chính của bạn. File này có thể được dùng trên server khác nhau để load tường lửa thành iptables

Xem nột dung file (Tuỳ chọn)

Let's take a quick look at the file's contents. We'll use the cat command to print it out to the terminal:

$ cat iptables-export 

Như bạn thấy, tệp tin chứa cấu hình các quy tắc iptables hoạt động. Bây giờ chúng ta đã sẵn sàng để sao chép tập tin này đến máy chủ đích của chúng tôi, Server B.

Copy quy tắc được export tới máy chủ đích

Chúng ta cần copy file rules vào máy chủ đích của chúng ta, Server B. Cách dễ nhất để làm điều này là sử dụngscpor để copy và paste nội dung file vào một file mới trênServer B. Chúng ta sẽ chứng minh làm thế nào để sử dụng scp để copy tập tin qua mạng tới thư mục/tmp

rongServer A , chạy command scp. Chắc chắn rằng bạn đã thay đổi phần được highlight bằng cách đăng nhập server và địa chỉ IP:

$ scp iptables-export user@server_b_ip_address:/tmp 

Sau khi cung cấp chứng thực hợp lệ, tệp sẽ được sao chép vào thư mục /tmp trên Máy chủ B. Lưu ý rằng nội dung của /tmp sẽ bị xóa khi khởi động lại-cảm thấy tự do đặt nó ở nơi khác nếu bạn muốn bảo vệ nó

 

Import các quy tắc iptables

 Với các quy tắc import trên máy chủ đích, bạn có thể nạp chúng vào iptables. Tuy nhiên, tùy thuộc vào tình huống của bạn, bạn có thể cập nhật các quy tắc trong tệp với các địa chỉ IP và các dải địa chỉ IP mới và có thể cập nhật tên giao diện. Nếu bạn muốn thay đổi các quy tắc trước khi tải chúng, hãy chắc chắn chỉnh sửa tập tin /tmp/iptables-export ngay bây giờ

Khi bạn đã sẵn sàng để load các quy tắc từ file iptables-export thành iptables, hãy sử dụng command iptables-restore.

Trong Server B,server đích, chọng command này để load các quy tắc tường lửa:

$ sudo iptables-restore < /tmp/iptables-export 

Điều này sẽ load các quy tắc thành iptables. Bạn có thể xác minh điều này với comman sudo iptables -S.

 

Lưu các quy tắc

Các quy tắc của Iptables chỉ là tạm thời, vì vậy cần phải đặc biệt chú ý đến việc tồn tại sau khi khởi động lại - rất có thể bạn sẽ muốn thực hiện bước này trên Server B. Chúng tôi sẽ chỉ cho bạn cách lưu các quy tắc trên cả Ubuntu và CentOS

Ubuntu

Trên Ubuntu, cách dễ nhất để lưu các quy tắc iptables là dùng gói iptables- persistent để chúng có thể tồn tại khi khởi động lại. Cài đặt với apt-get:

$ sudo apt-get install iptables-persistent 

Trong suốt quá trình cài đặt, bạn sẽ được hỏi rằng có muốn lưu các quy tắc tường lửa hiện tại không. Trả lời yes nếu bạn muốn lưu các quy tắc.

Nếu bạn update các quy tắc tường lửa trong tương lại và muốn lưu thay đổi, chạy command sau:

$ sudo invoke-rc.d iptables-persistent save 

CentOS 6 cà cũ hơn 

Trên CentOS 6 và các bản cũ hơn- CentOS 7 dùng FirewallID theo mặc định- bạn có thể dùng tập lệnh iptables init để lưu các quy tắc iptable:

$ sudo service iptables save 

Điều này sẽ lưu các quy tắc iptables hiện tại tới file /etc/sysconfig/iptables, được load bởi iptables khi khởi động.

 

Kết luận 

Chúc mừng! Các quy tắc tường lửa đã được di chuyển thành công từ server gốc tới server mới.