Mục tiêu của tôi là giới hạn quyền truy cập vào các container docker chỉ trong một vài địa chỉ IP công cộng. Có một quá trình đơn giản, lặp lại để thực hiện mục tiêu của tôi? Chỉ hiểu những điều cơ bản về iptables trong khi sử dụng các tùy chọn mặc định của Docker, tôi cảm thấy rất khó khăn.
Tôi muốn chạy một container, làm cho nó hiển thị với Internet công cộng, nhưng chỉ cho phép kết nối từ các máy chủ được chọn. Tôi dự kiến sẽ đặt chính sách INPUT mặc định của RE DỰ ÁN và sau đó chỉ cho phép kết nối từ máy chủ của mình. Nhưng các quy tắc và chuỗi NAT của Docker cản trở và các quy tắc INPUT của tôi bị bỏ qua.
Ai đó có thể cung cấp một ví dụ về cách thực hiện mục tiêu của tôi với các giả định sau đây không?
- Lưu trữ IP công cộng 80,80,80,80 trên eth0
- Lưu trữ IP riêng 192.168.1.10 trên eth1
docker run -d -p 3306:3306 mysql
- Chặn tất cả kết nối với máy chủ / container 3306 ngoại trừ từ máy chủ 4.4.4.4 và 8.8.8.8
Tôi rất vui khi liên kết vùng chứa chỉ với địa chỉ IP cục bộ nhưng sẽ cần hướng dẫn về cách thiết lập quy tắc chuyển tiếp iptables đúng cách để tồn tại quá trình docker và khởi động lại máy chủ.
Cảm ơn!
--ctdir
? Tôi sử dụng-m conntrack --ctstate NEW --ctorigdstport 3306 --ctdir ORIGINAL