Docker

CentOS: Docker iptables - закрываем внешние порты


471

Закрываем порты docker контейнеров  в iptables. 
Обновление правил при перезагрузке сервера.

Файл
/usr/local/etc/iptables-docker-refresh.sh
#!/bin/bash

iptables -N DOCKER-USER
iptables -I FORWARD -j DOCKER-USER
iptables -A DOCKER-USER -j RETURN

# очистим таблицу
iptables -F DOCKER-USER

# разрешим исходящие от докера и ответы на них снаружи
iptables -A DOCKER-USER -i docker0 -j RETURN
iptables -A DOCKER-USER -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# разрешаем dns-запросы 
# ДНС запрос от клиента к серверу уходит на 53 порт, ответ от сервера к клиенту с 53 порта,
# но возвращается к клиенту на один из портов в диапазоне 1024:65535
iptables -A DOCKER-USER -p udp --dport 53 -j ACCEPT
iptables -A DOCKER-USER -p udp --sport 53 --dport 1024:65535 -j ACCEPT

# откроем доступ к селеноиду только из внутренней сети
iptables -A DOCKER-USER -o docker0 -s 172.16.82.0/24 -p tcp --dport 4444 -j RETURN
iptables -A DOCKER-USER -o docker0 -s 172.16.82.0/24 -p tcp --dport 8080 -j RETURN

#откроем порт 9699 только для одного IP 1.2.3.4
iptables -A DOCKER-USER -s 1.2.3.4 -p tcp --dport 9699 -j RETURN
iptables -A DOCKER-USER -d 1.2.3.4 -p tcp --sport 9699 -j RETURN

# запретим все
iptables -A DOCKER-USER -j REJECT
Подключаем автозагрузку скрипта
Файл
/etc/systemd/system/iptables-docker-refresh.service
[Unit]
Description=Service script of adding custom rules for filtering of network traffic
Requires=network.target docker.service
After=docker.service

[Service]
ExecStart=/usr/local/etc/iptables-docker-refresh.sh
ExecReload=/usr/local/etc/iptables-docker-refresh.sh
Restart=/usr/local/etc/iptables-docker-refresh.sh
Type=oneshot
RemainAfterExit=yes
User=root

[Install]
WantedBy=multi-user.target
Проверяем сервис и включаем автозапуск
systemctl daemon-reload
systemctl start iptables-docker-refresh
systemctl status iptables-docker-refresh
systemctl enable iptables-docker-refresh.service
Добавить комментарий
Может быть интересно

Порядок действий для установки Solr на сервере с Centos 7

4

В данной статье будет теория про механизм, который использует модуль migrate при импорте материалов в Друпал из различных источников.

2
Надеюсь, все уже знакомы с примером работы ajax-ссылок в Друпал 7. Стоит знать, что такие ajax запросы отправляются на сервер методом POST. Его особенность заключается в том, что он не кешируется в браузере пользователя. Оно и хорошо - страницу мы забрали из кеша, а некоторые новые данные подтягиваем с сервера обновленными. Но иногда может возникнуть необходимость кешировать и результаты ajax запросов. Для этого логично проводить отправку запроса методом GET. 
1
Продолжение темы про вывод полей формы в одну строку. На этот раз мы изменим нашу функцию темизации с учетом разметки популярного фреймворка для разработки адаптивных web-проектов - Bootstrap 3.
1
Многие уже сталкивались с обновлением части страницы без перезагрузки. И многие уже успели оценить простоту и удобство AJAX Framework в Друпал 7. В качестве пример могу привести пару полезных ссылок...
2