У меня есть сервер, и я запускаю несколько док-контейнеров.Эти контейнеры имеют несколько портов, которые не открыты.Я добавил правила INPUT, чтобы разрешить доступ к этим портам только с 1 ip, и после этого у меня есть правило DROP.
Это должно заблокировать любой доступ к портам, кроме моего домашнего ip.Теперь оказывается, что docker просто разрешает все, и docker каким-то образом может переопределять правила ввода, потому что правила ввода не работают.
Я считаю, что это связано с правилом FORWARDING, которое выглядит следующим образом:
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhereACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Я сбросил все правила, а затем получаю действительно странные ошибки отDocker такие вещи, как:
driver failed programming external connectivity on endpoint gogs (b62814647bf440e923c009da0ca76185fac2f89a9534eb11792dbcb07ef3ffbf): (iptables failed: iptables --wait -t filter -A DOCKER ! -i br-5dd41982af68 -o br-5dd41982af68 -p tcp -d 172.18.0.6 --dport 3000 -j ACCEPT: iptables: No chain/target/match by that name.
Как я могу убедиться, что правила ввода переопределяют все, чтобы фильтрация портов в цепочке INPUT прекратила доступ для всех, кроме меня?