Bagaimana cara mengkonfigurasi Centos 7 firewallD untuk memungkinkan buruh pelabuhan memberikan akses gratis ke port jaringan host?

32

Saya memiliki buruh pelabuhan yang diinstal pada CentOS 7 dan saya menjalankan firewallD.

Dari dalam wadah saya, pergi ke host (default 172.17.42.1)

Dengan firewall menyala

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

dengan firewall shutdown

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

Saya telah membaca dokumen di firewalld dan saya tidak sepenuhnya memahaminya. Apakah ada cara untuk dengan mudah membiarkan segala sesuatu dalam wadah buruh pelabuhan (saya kira pada adaptor docker0) akses tidak terbatas ke tuan rumah?

adapt-dev
sumber

Jawaban:

31

Mungkin lebih baik daripada jawaban sebelumnya;

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
firewall-cmd --reload
kjetildm
sumber
6
Saya percaya add-portitu berlebihan. Jika docker0ditandai tepercaya, toh port itu akan tetap masuk.
Matt Hughes
6
@MattHughes Ini bekerja untuk saya tanpa add-port. Anda juga harus memulai ulang buruh pelabuhan .
rdupz
1
Bekerja setelah firewalld restart, bukan buruh pelabuhan
cybersoft
10

Perintah-perintah ini berhasil:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
adapt-dev
sumber