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
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.