Bài 6. NAT và Firewall trong Mạng: Kiểm Soát Lưu Lượng trong DevOps

NAT và Firewall trong Mạng: Kiểm Soát Lưu Lượng trong DevOps

Bạn có bao giờ tự hỏi làm sao hàng trăm server trong mạng nội bộ lại truy cập Internet qua một IP duy nhất? Hay làm thế nào để chặn truy cập trái phép vào pipeline CI/CD? NAT trong DevOpsfirewall mạng là hai công cụ mạnh mẽ để kiểm soát lưu lượng. Trong bài thứ sáu của series, chúng ta sẽ đi sâu vào NAT và PAT, cách firewall bảo vệ mạng, và thực hành cơ bản để áp dụng trong DevOps.

NAT Trong DevOps: Kết Nối Nội Bộ với Thế Giới

NAT Là Gì?

NAT (Network Address Translation) là kỹ thuật ánh xạ địa chỉ IP riêng (private) thành IP công cộng (public) để truy cập Internet.

  • Cơ chế: Router thay đổi IP nguồn trong header gói tin trước khi gửi ra ngoài.
  • Lợi ích:
    • Tiết kiệm IP công cộng.
    • Ẩn mạng nội bộ, tăng bảo mật.

Ví dụ: Một server DevOps (192.168.1.10) gửi request qua router (IP công: 203.0.113.1). NAT thay IP nguồn thành 203.0.113.1 để giao tiếp với server bên ngoài.

NAT và PAT: Sự Khác Biệt

  • NAT: Ánh xạ 1:1 (một IP riêng → một IP công).
  • PAT (Port Address Translation): Ánh xạ nhiều IP riêng → một IP công, dùng port để phân biệt.
    • Ví dụ: 192.168.1.10:12345192.168.1.11:54321 đều thành 203.0.113.1 với port khác nhau.

Trong DevOps: PAT phổ biến trong VPC hoặc mạng nội bộ, cho phép nhiều container/microservices dùng chung IP công.

Firewall Mạng: Lá Chắn Bảo Vệ Hệ Thống

Firewall Là Gì?

Firewall là thiết bị hoặc phần mềm lọc lưu lượng mạng dựa trên rule (quy tắc).

  • Stateful: Theo dõi trạng thái kết nối (ví dụ: chỉ cho phép gói tin thuộc kết nối đã thiết lập).
  • Stateless: Kiểm tra từng gói tin độc lập.

Ví dụ: Firewall chặn port 22 (SSH) từ IP ngoài để bảo vệ server CI/CD.

Iptables: Công Cụ Firewall Linux

  • Cấu trúc: Dùng chain (INPUT, OUTPUT, FORWARD) để định nghĩa rule.
  • Ví dụ rule:
    • Chặn port 80:
      iptables -A INPUT -p tcp --dport 80 -j DROP
    • Cho phép SSH từ IP cụ thể:
      iptables -A INPUT -p tcp --dport 22 -s 203.0.113.10 -j ACCEPT

Ứng dụng: Trong DevOps, firewall bảo vệ runner, giới hạn truy cập database, hoặc chặn DDoS.

NAT và Firewall trong DevOps: Ứng Dụng Thực Tế

NAT trong Hệ Thống Phân Tán

  • VPC: Server trong subnet private (10.0.0.0/16) dùng NAT gateway để ra Internet.
  • Debug: Job không pull được image? Kiểm tra NAT có hoạt động không.

Firewall Bảo Mật Pipeline

  • CI/CD: Chỉ cho phép IP của runner truy cập port 443 (HTTPS) trên registry.
  • Microservices: Chặn lưu lượng ngoài vào port nội bộ (như 3306 của MySQL).

Ví dụ: Một team DevOps cấu hình NAT sai, khiến server không ra Internet, trong khi firewall chặn nhầm port 8080 làm ứng dụng không chạy.

Thực Hành: Cấu Hình NAT và Firewall

Test NAT với Netcat

  1. Server nội bộ (giả lập NAT):
    nc -l 12345
  2. Client: Gửi qua IP công của router (thực tế cần NAT rule trên router):
    echo "Test NAT" | nc <router-public-ip> 12345

Cấu Hình Firewall với Iptables

  1. Chặn port 80:
    sudo iptables -A INPUT -p tcp --dport 80 -j DROP
  2. Kiểm tra:
    curl localhost:80  # Không phản hồi
  3. Mở lại port 80:
    sudo iptables -D INPUT -p tcp --dport 80 -j DROP

Debug tip:

  • Xem rule: sudo iptables -L -n.
  • NAT không hoạt động? Kiểm tra router hoặc dùng tcpdump xem gói tin có qua gateway không.

Kết Luận

NAT trong DevOps giúp kết nối mạng nội bộ với bên ngoài, trong khi firewall mạng bảo vệ hệ thống khỏi truy cập trái phép. Hiểu NAT và PAT, cách dùng iptables, và ứng dụng thực tế là bước quan trọng để làm chủ bảo mật mạng. Bài tiếp theo, chúng ta sẽ khám phá VLAN và thiết kế mạng phân đoạn – cách cô lập lưu lượng trong DevOps.

Bài tập nhỏ:

  • Chạy iptables -L và giải thích một rule bất kỳ.
  • Dùng nc gửi dữ liệu qua port 12345, rồi chặn port đó bằng iptables. Điều gì xảy ra?

Tiếp tục series để nâng cao kỹ năng bảo mật mạng trong DevOps!

Điều hướng chuỗi bài viết<< Bài 5. Routing và Switching Cơ Bản: Hiểu Cách Dữ Liệu Tìm Đường trong DevOps
>> Bài 7. VLAN và Thiết Kế Mạng Phân Đoạn: Cô Lập Lưu Lượng Hiệu Quả trong DevOps
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Có thể bạn quan tâm