Cách di chuyển quy tắc firewall Iptables sang server mới
Khi di chuyển từ server này sang server khác, bạn thường muốn di chuyển các luật firewall iptables như một phần của quy trình. Hướng dẫn này sẽ chỉ cho bạn cách dễ dàng sao chép bộ luật iptables đang hoạt động của bạn từ server này sang server khác.Yêu cầu
Hướng dẫn này yêu cầu hai server . Ta sẽ đề cập đến server nguồn, có các luật iptables hiện tại, là Server A. Server đích, nơi các luật 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 , quyền truy cập vào cả hai  server .
Xem các luật Iptables hiện tại
Trước khi di chuyển các luật iptables của bạn, hãy xem chúng được đặt thành gì. Bạn có thể làm điều đó với lệnh này trên Server A :
- sudo iptables -S 
Example output:-P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -s 15.15.15.51/32 -j DROP Các luật ví dụ ở trên sẽ được sử dụng để chứng minh quá trình di chuyển firewall .
Xuất luật Iptables
 Lệnh iptables-save ghi các  luật  iptables hiện tại vào stdout (tiêu chuẩn). Điều này cho  ta  một cách dễ dàng để xuất các  luật  firewall  sang file , bằng cách chuyển hướng stdout đến một file .
 Trên  Server  A ,  server  có  luật  iptables mà bạn muốn di chuyển, hãy sử dụng iptables-save để xuất các  luật  hiện tại sang file  có tên "iptables-export" như sau:
- cd ~ 
- sudo iptables-save > iptables-export 
Thao tác này sẽ tạo file  iptables-export , trong folder  chính của bạn. Tệp này  được dùng  trên một  server  khác để tải các  luật  firewall  vào iptables.
Xem nội dung file (Tùy chọn)
  Ta  hãy xem nhanh nội dung của file .  Ta  sẽ sử dụng lệnh cat để in nó ra terminal:
- cat iptables-export 
iptables-export contents:# Generated by iptables-save v1.4.21 on Tue Sep  1 17:32:29 2015 *filter :INPUT ACCEPT [135:10578] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [8364:1557108] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -s 15.15.15.51/32 -j DROP COMMIT # Completed on Tue Sep  1 17:32:29 2015 Như bạn thấy , file chứa cấu hình của các luật iptables đang hoạt động. Bây giờ ta đã sẵn sàng sao chép file này vào server đích của ta , Server B.
Sao chép các luật đã xuất sang server đích
  Ta  cần sao chép file   luật  vào  server  đích của  ta ,  Server  B. Cách dễ nhất để làm điều này là sử dụng scp hoặc  copy paste  nội dung file  vào một file  mới trên  Server  B.  Ta  sẽ trình bày cách sử dụng scp để sao chép file  qua mạng vào /tmp .
 Trên  Server  A , chạy lệnh scp này. Đảm bảo thay thế các phần được đánh dấu bằng thông tin đăng nhập và địa chỉ IP của  server  của bạn:
- scp iptables-export user@server_b_ip_address:/tmp 
Sau khi cung cấp xác thực thích hợp, file  sẽ được sao chép vào /tmp trên  Server  B.  Lưu ý  nội dung của /tmp sẽ bị xóa khi khởi động lại — vui lòng đặt nó ở nơi khác nếu bạn muốn giữ nó.
Nhập luật Iptables
 Với các  luật  đã xuất trên  server  đích, bạn có thể tải 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ần  cập nhật các  luật  trong file  với địa chỉ IP và dải mới, và có thể cập nhật tên giao diện. Nếu bạn muốn thay đổi các  luật  trước khi tải chúng, hãy nhớ chỉnh sửa file  /tmp/iptables-export ngay bây giờ.
  Khi đã sẵn sàng  tải các  luật  từ file  iptables-export vào iptables, hãy sử dụng lệnh iptables-restore để thực hiện.
Trên Server B , server đích, chạy lệnh này để tải các luật firewall :
- sudo iptables-restore < /tmp/iptables-export 
Điều này sẽ tải các  luật  vào iptables. Bạn có thể xác minh điều này bằng sudo iptables -S .
Lưu luật
Các luật Iptables là tạm thời, vì vậy cần đặc biệt chú ý để chúng tồn tại sau khi khởi động lại — có khả năng là bạn cần thực hiện bước này trên Server B. Ta sẽ hướng dẫn bạn cách lưu các luật trên cả Ubuntu và CentOS.
Ubuntu
Trên Ubuntu, cách dễ nhất để lưu các luật iptables, để chúng tồn tại sau khi khởi động lại, là sử dụng gói iptables-dai dẳng. Cài đặt nó bằng apt-get như sau:
- sudo apt-get install iptables-persistent 
Trong khi cài đặt, bạn sẽ hỏi bạn có muốn lưu các  luật  firewall  hiện tại  của bạn  hay không. Trả lời yes , nếu bạn muốn lưu bộ  luật  hiện tại.
Nếu bạn cập nhật các luật firewall của bạn trong tương lai và muốn lưu các thay đổi, hãy chạy lệnh sau:
- sudo invoke-rc.d iptables-persistent save 
CentOS 6 trở lên
Trên CentOS 6 trở lên — CentOS 7 sử dụng FirewallD theo mặc định — bạn có thể sử dụng tập lệnh iptables init để lưu các luật iptables của bạn :
- sudo service iptables save 
Thao tác này sẽ lưu các  luật  iptables hiện tại của bạn vào file  /etc/sysconfig/iptables , được tải bởi iptables khi khởi động.
Kết luận
Xin chúc mừng! Các luật firewall của bạn đã được di chuyển từ server ban đầu sang server mới.
Các tin liên quan
Cách triển khai mẫu firewall cơ bản với Iptables trên Ubuntu 14.042015-08-20
Cách thiết lập firewall Iptables để bảo vệ lưu lượng truy cập giữa các server của bạn
2015-08-20
Cách di chuyển từ FirewallD sang Iptables trên CentOS 7
2015-08-20
Tìm hiểu sâu về kiến trúc Iptables và Netfilter
2015-08-20
Cách liệt kê và xóa các quy tắc firewall Iptables
2015-08-14
Iptables Essentials: Các quy tắc và lệnh firewall chung
2015-08-10
Cách cô lập server trong mạng riêng bằng Iptables
2014-06-04
Cách thiết lập firewall bằng Iptables trên Ubuntu 14.04
2014-05-06
Cách thức hoạt động của firewall Iptables
2014-05-02
Cách thiết lập firewall Iptables cơ bản trên Centos 6
2013-04-16
 

