Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Docker: сеть, интерфейсы и контейнеры

#linux #сеть #docker


У меня есть два сетевых интерфейса: eth0 - локальная сеть, tun0 - через него я хожу
в интернет(поднимается и тушится с помощью самописного скрипта). На этой же машине
стоит docker, у него есть свое собственное окружение для контейнеров. Из этого окружения
наружу торчит интерфейс docker0, все контейнеры связываются с внешним миром через него. 
Тут возникает проблема: при поднятом tun0(при этом он становится дефолтным) контейнеры
не хотят через него связываться. Как я понял надо как то перенаправить docker0 на tun0?
Как это сделать? 
    


Ответы

Ответ 1



Отвечаю на собственный вопрос: Проблема заключалась в том, что у меня не был указан dns сервер моей сети и по умолчанию был отключен ip_forwarding. Для начала его нужно включить, раскомметнировав строчку: net.ipv4.ip_forward=1 в файле /etc/sysctl.conf и перезагрузив машину. Далее в файле /etc/defaut/docker редактируем строку: DOCKER_OPTS="-dns <ваш_адрес_dns>" После редактирования перезапустите докер.

Комментариев нет:

Отправить комментарий