как обезопасить докер контейнеры с iptables - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь защитить контейнеры от внешнего IP-доступа "0.0.0.0"

Я хотел бы настроить некоторые контейнеры для общего доступа, а другие ограничить определенными IP-адресами.

sudo iptables -N DOCKER-USER
sudo iptables -I DOCKER-USER -j DROP

# where x.x.x.x is external IP allowed
sudo iptables -I DOCKER-USER -s x.x.x.x -j ACCEPT

# where yyyy is the external port that will be allow
sudo iptables -I DOCKER-USER -p tcp --dport yyyy -j ACCEPT

sudo iptables -I FORWARD -o docker0 -j DOCKER-USER

Работает нормально, но после перезапуска эта конфигурация сбрасывается и останавливается.

Я уже пытаюсь поместить этот скрипт в / etc / rc.local , но он не выполняется после перезапуска.

Моя среда:

Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64
 Experimental: false

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете сохранить текущую конфигурацию iptables, а затем загрузить ее при запуске сервера:

iptables-save | sudo tee /etc/iptables.conf

Скопируйте следующее в /etc/rc.local

# Load iptables rules from this file
iptables-restore < /etc/iptables.conf
...