Làm cách nào để định cấu hình tường lửa Centos 7 để cho phép các container docker truy cập miễn phí vào các cổng mạng của máy chủ?


32

Tôi đã cài đặt docker trên CentOS 7 và tôi đang chạy tường lửa.

Từ bên trong container của tôi, đi đến máy chủ (mặc định 172.17.42.1)

Bật tường lửa

container# nc -v  172.17.42.1  4243
nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host

tắt tường lửa

container# nc -v  172.17.42.1  4243
Connection to 172.17.42.1 4243 port [tcp/*] succeeded!

Tôi đã đọc các tài liệu trên tường lửa và tôi không hiểu hết về chúng. Có cách nào đơn giản là cho phép mọi thứ trong bộ chứa docker (tôi đoán trên bộ điều hợp docker0) không giới hạn quyền truy cập vào máy chủ không?

Câu trả lời:


31

Có lẽ tốt hơn câu trả lời trước đó;

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
firewall-cmd --reload

6
Tôi tin rằng add-portlà thừa. Nếu docker0được đánh dấu đáng tin cậy, cổng đó sẽ được thông qua.
Matt Hughes

6
@MattHughes Nó làm việc cho tôi mà không có add-port. Bạn cũng cần khởi động lại docker .
lần thứ

1
Hoạt động sau khi tường lửa khởi động lại, không phải
docker

10

Các lệnh của luận án đã thực hiện thủ thuật:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.